]>
Commit | Line | Data |
---|---|---|
bae9f6d2 JC |
1 | // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. |
2 | ||
3 | package sts | |
4 | ||
5 | import ( | |
6 | "github.com/aws/aws-sdk-go/aws" | |
7 | "github.com/aws/aws-sdk-go/aws/client" | |
8 | "github.com/aws/aws-sdk-go/aws/client/metadata" | |
9 | "github.com/aws/aws-sdk-go/aws/request" | |
10 | "github.com/aws/aws-sdk-go/aws/signer/v4" | |
11 | "github.com/aws/aws-sdk-go/private/protocol/query" | |
12 | ) | |
13 | ||
14 | // STS provides the API operation methods for making requests to | |
15 | // AWS Security Token Service. See this package's package overview docs | |
16 | // for details on the service. | |
17 | // | |
18 | // STS methods are safe to use concurrently. It is not safe to | |
19 | // modify mutate any of the struct's properties though. | |
20 | type STS struct { | |
21 | *client.Client | |
22 | } | |
23 | ||
24 | // Used for custom client initialization logic | |
25 | var initClient func(*client.Client) | |
26 | ||
27 | // Used for custom request initialization logic | |
28 | var initRequest func(*request.Request) | |
29 | ||
30 | // Service information constants | |
31 | const ( | |
15c0b25d AP |
32 | ServiceName = "sts" // Name of service. |
33 | EndpointsID = ServiceName // ID to lookup a service endpoint with. | |
34 | ServiceID = "STS" // ServiceID is a unique identifer of a specific service. | |
bae9f6d2 JC |
35 | ) |
36 | ||
37 | // New creates a new instance of the STS client with a session. | |
38 | // If additional configuration is needed for the client instance use the optional | |
39 | // aws.Config parameter to add your extra config. | |
40 | // | |
41 | // Example: | |
42 | // // Create a STS client from just a session. | |
43 | // svc := sts.New(mySession) | |
44 | // | |
45 | // // Create a STS client with additional configuration | |
46 | // svc := sts.New(mySession, aws.NewConfig().WithRegion("us-west-2")) | |
47 | func New(p client.ConfigProvider, cfgs ...*aws.Config) *STS { | |
48 | c := p.ClientConfig(EndpointsID, cfgs...) | |
49 | return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) | |
50 | } | |
51 | ||
52 | // newClient creates, initializes and returns a new service client instance. | |
53 | func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *STS { | |
54 | svc := &STS{ | |
55 | Client: client.New( | |
56 | cfg, | |
57 | metadata.ClientInfo{ | |
58 | ServiceName: ServiceName, | |
15c0b25d | 59 | ServiceID: ServiceID, |
bae9f6d2 JC |
60 | SigningName: signingName, |
61 | SigningRegion: signingRegion, | |
62 | Endpoint: endpoint, | |
63 | APIVersion: "2011-06-15", | |
64 | }, | |
65 | handlers, | |
66 | ), | |
67 | } | |
68 | ||
69 | // Handlers | |
70 | svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) | |
71 | svc.Handlers.Build.PushBackNamed(query.BuildHandler) | |
72 | svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler) | |
73 | svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler) | |
74 | svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler) | |
75 | ||
76 | // Run custom client initialization if present | |
77 | if initClient != nil { | |
78 | initClient(svc.Client) | |
79 | } | |
80 | ||
81 | return svc | |
82 | } | |
83 | ||
84 | // newRequest creates a new request for a STS operation and runs any | |
85 | // custom request initialization. | |
86 | func (c *STS) newRequest(op *request.Operation, params, data interface{}) *request.Request { | |
87 | req := c.NewRequest(op, params, data) | |
88 | ||
89 | // Run custom request initialization if present | |
90 | if initRequest != nil { | |
91 | initRequest(req) | |
92 | } | |
93 | ||
94 | return req | |
95 | } |