mirror of
https://github.com/status-im/consul.git
synced 2025-01-14 07:44:50 +00:00
4ebbf2b788
This isn't used in OSS but CE needs it. It'll be easier to manage common deps in OSS and take them to CE.
87 lines
2.6 KiB
Go
87 lines
2.6 KiB
Go
// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
|
|
|
|
package s3
|
|
|
|
import (
|
|
"github.com/aws/aws-sdk-go/aws"
|
|
"github.com/aws/aws-sdk-go/aws/client"
|
|
"github.com/aws/aws-sdk-go/aws/client/metadata"
|
|
"github.com/aws/aws-sdk-go/aws/request"
|
|
"github.com/aws/aws-sdk-go/aws/signer/v4"
|
|
"github.com/aws/aws-sdk-go/private/protocol/restxml"
|
|
)
|
|
|
|
// S3 is a client for Amazon S3.
|
|
//The service client's operations are safe to be used concurrently.
|
|
// It is not safe to mutate any of the client's properties though.
|
|
type S3 struct {
|
|
*client.Client
|
|
}
|
|
|
|
// Used for custom client initialization logic
|
|
var initClient func(*client.Client)
|
|
|
|
// Used for custom request initialization logic
|
|
var initRequest func(*request.Request)
|
|
|
|
// A ServiceName is the name of the service the client will make API calls to.
|
|
const ServiceName = "s3"
|
|
|
|
// New creates a new instance of the S3 client with a session.
|
|
// If additional configuration is needed for the client instance use the optional
|
|
// aws.Config parameter to add your extra config.
|
|
//
|
|
// Example:
|
|
// // Create a S3 client from just a session.
|
|
// svc := s3.New(mySession)
|
|
//
|
|
// // Create a S3 client with additional configuration
|
|
// svc := s3.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
|
|
func New(p client.ConfigProvider, cfgs ...*aws.Config) *S3 {
|
|
c := p.ClientConfig(ServiceName, cfgs...)
|
|
return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion)
|
|
}
|
|
|
|
// newClient creates, initializes and returns a new service client instance.
|
|
func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion string) *S3 {
|
|
svc := &S3{
|
|
Client: client.New(
|
|
cfg,
|
|
metadata.ClientInfo{
|
|
ServiceName: ServiceName,
|
|
SigningRegion: signingRegion,
|
|
Endpoint: endpoint,
|
|
APIVersion: "2006-03-01",
|
|
},
|
|
handlers,
|
|
),
|
|
}
|
|
|
|
// Handlers
|
|
svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
|
|
svc.Handlers.Build.PushBackNamed(restxml.BuildHandler)
|
|
svc.Handlers.Unmarshal.PushBackNamed(restxml.UnmarshalHandler)
|
|
svc.Handlers.UnmarshalMeta.PushBackNamed(restxml.UnmarshalMetaHandler)
|
|
svc.Handlers.UnmarshalError.PushBackNamed(restxml.UnmarshalErrorHandler)
|
|
|
|
// Run custom client initialization if present
|
|
if initClient != nil {
|
|
initClient(svc.Client)
|
|
}
|
|
|
|
return svc
|
|
}
|
|
|
|
// newRequest creates a new request for a S3 operation and runs any
|
|
// custom request initialization.
|
|
func (c *S3) newRequest(op *request.Operation, params, data interface{}) *request.Request {
|
|
req := c.NewRequest(op, params, data)
|
|
|
|
// Run custom request initialization if present
|
|
if initRequest != nil {
|
|
initRequest(req)
|
|
}
|
|
|
|
return req
|
|
}
|