// New creates a new instance of the EC2 Metadata service client. // // In the general use case the configuration for this service client should not // be needed and `nil` can be provided. Configuration is only needed if the // `ec2metadata.Config` defaults need to be overridden. Eg. Setting LogLevel. // // @note This configuration will NOT be merged with the default AWS service // client configuration `defaults.DefaultConfig`. Due to circular dependencies // with the defaults package and credentials EC2 Role Provider. func New(config *Config) *Client { service := &service.Service{ ServiceInfo: serviceinfo.ServiceInfo{ Config: copyConfig(config), ServiceName: "Client", Endpoint: "http://169.254.169.254/latest", APIVersion: "latest", }, } service.Initialize() service.Handlers.Unmarshal.PushBack(unmarshalHandler) service.Handlers.UnmarshalError.PushBack(unmarshalError) service.Handlers.Validate.Clear() service.Handlers.Validate.PushBack(validateEndpointHandler) return &Client{service} }
// New returns a new S3 client. func New(config *aws.Config) *S3 { service := &service.Service{ ServiceInfo: serviceinfo.ServiceInfo{ Config: defaults.DefaultConfig.Merge(config), ServiceName: "s3", APIVersion: "2006-03-01", }, } service.Initialize() // Handlers service.Handlers.Sign.PushBack(v4.Sign) service.Handlers.Build.PushBack(restxml.Build) service.Handlers.Unmarshal.PushBack(restxml.Unmarshal) service.Handlers.UnmarshalMeta.PushBack(restxml.UnmarshalMeta) service.Handlers.UnmarshalError.PushBack(restxml.UnmarshalError) // Run custom service initialization if present if initService != nil { initService(service) } return &S3{service} }