]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blob - vendor/github.com/aws/aws-sdk-go/service/sts/service.go
Initial transfer of provider code
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / aws / aws-sdk-go / service / sts / service.go
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 (
32 ServiceName = "sts" // Service endpoint prefix API calls made to.
33 EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata.
34 )
35
36 // New creates a new instance of the STS client with a session.
37 // If additional configuration is needed for the client instance use the optional
38 // aws.Config parameter to add your extra config.
39 //
40 // Example:
41 // // Create a STS client from just a session.
42 // svc := sts.New(mySession)
43 //
44 // // Create a STS client with additional configuration
45 // svc := sts.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
46 func New(p client.ConfigProvider, cfgs ...*aws.Config) *STS {
47 c := p.ClientConfig(EndpointsID, cfgs...)
48 return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName)
49 }
50
51 // newClient creates, initializes and returns a new service client instance.
52 func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *STS {
53 svc := &STS{
54 Client: client.New(
55 cfg,
56 metadata.ClientInfo{
57 ServiceName: ServiceName,
58 SigningName: signingName,
59 SigningRegion: signingRegion,
60 Endpoint: endpoint,
61 APIVersion: "2011-06-15",
62 },
63 handlers,
64 ),
65 }
66
67 // Handlers
68 svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
69 svc.Handlers.Build.PushBackNamed(query.BuildHandler)
70 svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler)
71 svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler)
72 svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler)
73
74 // Run custom client initialization if present
75 if initClient != nil {
76 initClient(svc.Client)
77 }
78
79 return svc
80 }
81
82 // newRequest creates a new request for a STS operation and runs any
83 // custom request initialization.
84 func (c *STS) newRequest(op *request.Operation, params, data interface{}) *request.Request {
85 req := c.NewRequest(op, params, data)
86
87 // Run custom request initialization if present
88 if initRequest != nil {
89 initRequest(req)
90 }
91
92 return req
93 }