deps: github.com/aws/aws-sdk-go/... to v1.4.1

This commit is contained in:
James Nugent 2016-08-11 13:01:51 -04:00
parent 21d1ac41fa
commit c38884912d
19 changed files with 2649 additions and 659 deletions

View File

@ -7,24 +7,36 @@ import (
"github.com/aws/aws-sdk-go/aws/credentials"
)
// UseServiceDefaultRetries instructs the config to use the service's own default
// number of retries. This will be the default action if Config.MaxRetries
// is nil also.
// UseServiceDefaultRetries instructs the config to use the service's own
// default number of retries. This will be the default action if
// Config.MaxRetries is nil also.
const UseServiceDefaultRetries = -1
// RequestRetryer is an alias for a type that implements the request.Retryer interface.
// RequestRetryer is an alias for a type that implements the request.Retryer
// interface.
type RequestRetryer interface{}
// A Config provides service configuration for service clients. By default,
// all clients will use the {defaults.DefaultConfig} structure.
// all clients will use the defaults.DefaultConfig tructure.
//
// // Create Session with MaxRetry configuration to be shared by multiple
// // service clients.
// sess, err := session.NewSession(&aws.Config{
// MaxRetries: aws.Int(3),
// })
//
// // Create S3 service client with a specific Region.
// svc := s3.New(sess, &aws.Config{
// Region: aws.String("us-west-2"),
// })
type Config struct {
// Enables verbose error printing of all credential chain errors.
// Should be used when wanting to see all errors while attempting to retrieve
// credentials.
// Should be used when wanting to see all errors while attempting to
// retrieve credentials.
CredentialsChainVerboseErrors *bool
// The credentials object to use when signing requests. Defaults to
// a chain of credential providers to search for credentials in environment
// The credentials object to use when signing requests. Defaults to a
// chain of credential providers to search for credentials in environment
// variables, shared credential file, and EC2 Instance Roles.
Credentials *credentials.Credentials
@ -63,11 +75,12 @@ type Config struct {
Logger Logger
// The maximum number of times that a request will be retried for failures.
// Defaults to -1, which defers the max retry setting to the service specific
// configuration.
// Defaults to -1, which defers the max retry setting to the service
// specific configuration.
MaxRetries *int
// Retryer guides how HTTP requests should be retried in case of recoverable failures.
// Retryer guides how HTTP requests should be retried in case of
// recoverable failures.
//
// When nil or the value does not implement the request.Retryer interface,
// the request.DefaultRetryer will be used.
@ -82,8 +95,8 @@ type Config struct {
//
Retryer RequestRetryer
// Disables semantic parameter validation, which validates input for missing
// required fields and/or other semantic request input errors.
// Disables semantic parameter validation, which validates input for
// missing required fields and/or other semantic request input errors.
DisableParamValidation *bool
// Disables the computation of request and response checksums, e.g.,
@ -91,8 +104,8 @@ type Config struct {
DisableComputeChecksums *bool
// Set this to `true` to force the request to use path-style addressing,
// i.e., `http://s3.amazonaws.com/BUCKET/KEY`. By default, the S3 client will
// use virtual hosted bucket addressing when possible
// i.e., `http://s3.amazonaws.com/BUCKET/KEY`. By default, the S3 client
// will use virtual hosted bucket addressing when possible
// (`http://BUCKET.s3.amazonaws.com/KEY`).
//
// @note This configuration option is specific to the Amazon S3 service.
@ -109,26 +122,31 @@ type Config struct {
// http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html
//
// 100-Continue is only enabled for Go 1.6 and above. See `http.Transport`'s
// `ExpectContinueTimeout` for information on adjusting the continue wait timeout.
// https://golang.org/pkg/net/http/#Transport
// `ExpectContinueTimeout` for information on adjusting the continue wait
// timeout. https://golang.org/pkg/net/http/#Transport
//
// You should use this flag to disble 100-Continue if you experience issues
// with proxies or third party S3 compatible services.
S3Disable100Continue *bool
// Set this to `true` to enable S3 Accelerate feature. For all operations compatible
// with S3 Accelerate will use the accelerate endpoint for requests. Requests not compatible
// will fall back to normal S3 requests.
// Set this to `true` to enable S3 Accelerate feature. For all operations
// compatible with S3 Accelerate will use the accelerate endpoint for
// requests. Requests not compatible will fall back to normal S3 requests.
//
// The bucket must be enable for accelerate to be used with S3 client with accelerate
// enabled. If the bucket is not enabled for accelerate an error will be returned.
// The bucket name must be DNS compatible to also work with accelerate.
// The bucket must be enable for accelerate to be used with S3 client with
// accelerate enabled. If the bucket is not enabled for accelerate an error
// will be returned. The bucket name must be DNS compatible to also work
// with accelerate.
//
// Not compatible with UseDualStack requests will fail if both flags are
// specified.
S3UseAccelerate *bool
// Set this to `true` to disable the EC2Metadata client from overriding the
// default http.Client's Timeout. This is helpful if you do not want the EC2Metadata
// client to create a new http.Client. This options is only meaningful if you're not
// already using a custom HTTP client with the SDK. Enabled by default.
// default http.Client's Timeout. This is helpful if you do not want the
// EC2Metadata client to create a new http.Client. This options is only
// meaningful if you're not already using a custom HTTP client with the
// SDK. Enabled by default.
//
// Must be set and provided to the session.NewSession() in order to disable
// the EC2Metadata overriding the timeout for default credentials chain.
@ -140,6 +158,27 @@ type Config struct {
//
EC2MetadataDisableTimeoutOverride *bool
// Instructs the endpiont to be generated for a service client to
// be the dual stack endpoint. The dual stack endpoint will support
// both IPv4 and IPv6 addressing.
//
// Setting this for a service which does not support dual stack will fail
// to make requets. It is not recommended to set this value on the session
// as it will apply to all service clients created with the session. Even
// services which don't support dual stack endpoints.
//
// If the Endpoint config value is also provided the UseDualStack flag
// will be ignored.
//
// Only supported with.
//
// sess, err := session.NewSession()
//
// svc := s3.New(sess, &aws.Config{
// UseDualStack: aws.Bool(true),
// })
UseDualStack *bool
// SleepDelay is an override for the func the SDK will call when sleeping
// during the lifecycle of a request. Specifically this will be used for
// request delays. This value should only be used for testing. To adjust
@ -148,11 +187,19 @@ type Config struct {
SleepDelay func(time.Duration)
}
// NewConfig returns a new Config pointer that can be chained with builder methods to
// set multiple configuration values inline without using pointers.
// NewConfig returns a new Config pointer that can be chained with builder
// methods to set multiple configuration values inline without using pointers.
//
// sess, err := session.NewSession(aws.NewConfig().WithRegion("us-west-2").WithMaxRetries(10))
// // Create Session with MaxRetry configuration to be shared by multiple
// // service clients.
// sess, err := session.NewSession(aws.NewConfig().
// WithMaxRetries(3),
// )
//
// // Create S3 service client with a specific Region.
// svc := s3.New(sess, aws.NewConfig().
// WithRegion("us-west-2"),
// )
func NewConfig() *Config {
return &Config{}
}
@ -255,6 +302,13 @@ func (c *Config) WithS3UseAccelerate(enable bool) *Config {
return c
}
// WithUseDualStack sets a config UseDualStack value returning a Config
// pointer for chaining.
func (c *Config) WithUseDualStack(enable bool) *Config {
c.UseDualStack = &enable
return c
}
// WithEC2MetadataDisableTimeoutOverride sets a config EC2MetadataDisableTimeoutOverride value
// returning a Config pointer for chaining.
func (c *Config) WithEC2MetadataDisableTimeoutOverride(enable bool) *Config {
@ -341,6 +395,10 @@ func mergeInConfig(dst *Config, other *Config) {
dst.S3UseAccelerate = other.S3UseAccelerate
}
if other.UseDualStack != nil {
dst.UseDualStack = other.UseDualStack
}
if other.EC2MetadataDisableTimeoutOverride != nil {
dst.EC2MetadataDisableTimeoutOverride = other.EC2MetadataDisableTimeoutOverride
}

View File

@ -120,7 +120,7 @@ func ecsCredProvider(cfg aws.Config, handlers request.Handlers, uri string) cred
func ec2RoleProvider(cfg aws.Config, handlers request.Handlers) credentials.Provider {
endpoint, signingRegion := endpoints.EndpointForRegion(ec2metadata.ServiceName,
aws.StringValue(cfg.Region), true)
aws.StringValue(cfg.Region), true, false)
return &ec2rolecreds.EC2RoleProvider{
Client: ec2metadata.NewClient(cfg, handlers, endpoint, signingRegion),

View File

@ -1,7 +1,10 @@
package session
import (
"fmt"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/client"
"github.com/aws/aws-sdk-go/aws/corehandlers"
"github.com/aws/aws-sdk-go/aws/credentials"
@ -310,14 +313,34 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config, envCfg envConfig, sharedCfg share
sharedCfg.Creds,
)
} else {
// Fallback to default credentials provider
cfg.Credentials = credentials.NewCredentials(
defaults.RemoteCredProvider(*cfg, handlers),
)
// Fallback to default credentials provider, include mock errors
// for the credential chain so user can identify why credentials
// failed to be retrieved.
cfg.Credentials = credentials.NewCredentials(&credentials.ChainProvider{
VerboseErrors: aws.BoolValue(cfg.CredentialsChainVerboseErrors),
Providers: []credentials.Provider{
&credProviderError{Err: awserr.New("EnvAccessKeyNotFound", "failed to find credentials in the environment.", nil)},
&credProviderError{Err: awserr.New("SharedCredsLoad", fmt.Sprintf("failed to load profile, %s.", envCfg.Profile), nil)},
defaults.RemoteCredProvider(*cfg, handlers),
},
})
}
}
}
type credProviderError struct {
Err error
}
var emptyCreds = credentials.Value{}
func (c credProviderError) Retrieve() (credentials.Value, error) {
return credentials.Value{}, c.Err
}
func (c credProviderError) IsExpired() bool {
return true
}
func initHandlers(s *Session) {
// Add the Validate parameter handler if it is not disabled.
s.Handlers.Validate.Remove(corehandlers.ValidateParametersHandler)
@ -349,8 +372,12 @@ func (s *Session) Copy(cfgs ...*aws.Config) *Session {
func (s *Session) ClientConfig(serviceName string, cfgs ...*aws.Config) client.Config {
s = s.Copy(cfgs...)
endpoint, signingRegion := endpoints.NormalizeEndpoint(
aws.StringValue(s.Config.Endpoint), serviceName,
aws.StringValue(s.Config.Region), aws.BoolValue(s.Config.DisableSSL))
aws.StringValue(s.Config.Endpoint),
serviceName,
aws.StringValue(s.Config.Region),
aws.BoolValue(s.Config.DisableSSL),
aws.BoolValue(s.Config.UseDualStack),
)
return client.Config{
Config: s.Config,

View File

@ -5,4 +5,4 @@ package aws
const SDKName = "aws-sdk-go"
// SDKVersion is the version of this SDK
const SDKVersion = "1.3.1"
const SDKVersion = "1.4.1"

View File

@ -14,9 +14,9 @@ import (
// normalized endpoint and signing region. If the endpoint is not an empty string
// the service name and region will be used to look up the service's API endpoint.
// If the endpoint is provided the scheme will be added if it is not present.
func NormalizeEndpoint(endpoint, serviceName, region string, disableSSL bool) (normEndpoint, signingRegion string) {
func NormalizeEndpoint(endpoint, serviceName, region string, disableSSL, useDualStack bool) (normEndpoint, signingRegion string) {
if endpoint == "" {
return EndpointForRegion(serviceName, region, disableSSL)
return EndpointForRegion(serviceName, region, disableSSL, useDualStack)
}
return AddScheme(endpoint, disableSSL), ""
@ -24,12 +24,17 @@ func NormalizeEndpoint(endpoint, serviceName, region string, disableSSL bool) (n
// EndpointForRegion returns an endpoint and its signing region for a service and region.
// if the service and region pair are not found endpoint and signingRegion will be empty.
func EndpointForRegion(svcName, region string, disableSSL bool) (endpoint, signingRegion string) {
func EndpointForRegion(svcName, region string, disableSSL, useDualStack bool) (endpoint, signingRegion string) {
dualStackField := ""
if useDualStack {
dualStackField = "/dualstack"
}
derivedKeys := []string{
region + "/" + svcName,
region + "/*",
"*/" + svcName,
"*/*",
region + "/" + svcName + dualStackField,
region + "/*" + dualStackField,
"*/" + svcName + dualStackField,
"*/*" + dualStackField,
}
for _, key := range derivedKeys {

View File

@ -65,6 +65,9 @@
"*/s3": {
"endpoint": "s3-{region}.amazonaws.com"
},
"*/s3/dualstack": {
"endpoint": "s3.dualstack.{region}.amazonaws.com"
},
"us-east-1/s3": {
"endpoint": "s3.amazonaws.com"
},

View File

@ -48,6 +48,9 @@ var endpointsMap = endpointStruct{
"*/s3": {
Endpoint: "s3-{region}.amazonaws.com",
},
"*/s3/dualstack": {
Endpoint: "s3.dualstack.{region}.amazonaws.com",
},
"*/sts": {
Endpoint: "sts.amazonaws.com",
SigningRegion: "us-east-1",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,11 @@ import (
"github.com/aws/aws-sdk-go/private/protocol/restxml"
)
// CloudFront is a client for CloudFront.
// Amazon CloudFront is a global content delivery network (CDN) service that
// accelerates delivery of your websites, APIs, video content or other web assets.
// It integrates with other Amazon Web Services products to give developers
// and businesses an easy way to accelerate content to end users with no minimum
// usage commitments.
//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 CloudFront struct {
@ -51,7 +55,7 @@ func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegio
ServiceName: ServiceName,
SigningRegion: signingRegion,
Endpoint: endpoint,
APIVersion: "2016-01-28",
APIVersion: "2016-08-01",
},
handlers,
),

View File

@ -40,7 +40,11 @@ func fillPresignedURL(r *request.Request) {
clientInfo := r.ClientInfo
clientInfo.Endpoint, clientInfo.SigningRegion = endpoints.EndpointForRegion(
clientInfo.ServiceName, aws.StringValue(cfg.Region), aws.BoolValue(cfg.DisableSSL))
clientInfo.ServiceName,
aws.StringValue(cfg.Region),
aws.BoolValue(cfg.DisableSSL),
aws.BoolValue(cfg.UseDualStack),
)
// Presign a CopySnapshot request with modified params
req := request.New(*cfg, clientInfo, r.Handlers, r.Retryer, r.Operation, newParams, r.Data)

View File

@ -1159,7 +1159,7 @@ func (s *CreateRepositoryInput) Validate() error {
type CreateRepositoryOutput struct {
_ struct{} `type:"structure"`
// Object representing a repository.
// An object representing a repository.
Repository *Repository `locationName:"repository" type:"structure"`
}
@ -1216,7 +1216,7 @@ func (s *DeleteRepositoryInput) Validate() error {
type DeleteRepositoryOutput struct {
_ struct{} `type:"structure"`
// Object representing a repository.
// An object representing a repository.
Repository *Repository `locationName:"repository" type:"structure"`
}
@ -1309,6 +1309,9 @@ type DescribeRepositoriesInput struct {
// parameter. Pagination continues from the end of the previous results that
// returned the nextToken value. This value is null when there are no more results
// to return.
//
// This token should be treated as an opaque identifier that is only used
// to retrieve the next items in a list and not for other programmatic purposes.
NextToken *string `locationName:"nextToken" type:"string"`
// The AWS account ID associated with the registry that contains the repositories
@ -1543,7 +1546,7 @@ func (s GetRepositoryPolicyOutput) GoString() string {
return s.String()
}
// Object representing an image.
// An object representing an Amazon ECR image.
type Image struct {
_ struct{} `type:"structure"`
@ -1570,6 +1573,7 @@ func (s Image) GoString() string {
return s.String()
}
// An object representing an Amazon ECR image failure.
type ImageFailure struct {
_ struct{} `type:"structure"`
@ -1593,6 +1597,7 @@ func (s ImageFailure) GoString() string {
return s.String()
}
// An object with identifying information for an Amazon ECR image.
type ImageIdentifier struct {
_ struct{} `type:"structure"`
@ -1672,6 +1677,7 @@ func (s InitiateLayerUploadOutput) GoString() string {
return s.String()
}
// An object representing an Amazon ECR image layer.
type Layer struct {
_ struct{} `type:"structure"`
@ -1696,6 +1702,7 @@ func (s Layer) GoString() string {
return s.String()
}
// An object representing an Amazon ECR image layer failure.
type LayerFailure struct {
_ struct{} `type:"structure"`
@ -1719,9 +1726,27 @@ func (s LayerFailure) GoString() string {
return s.String()
}
type ListImagesFilter struct {
_ struct{} `type:"structure"`
TagStatus *string `locationName:"tagStatus" type:"string" enum:"TagStatus"`
}
// String returns the string representation
func (s ListImagesFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ListImagesFilter) GoString() string {
return s.String()
}
type ListImagesInput struct {
_ struct{} `type:"structure"`
Filter *ListImagesFilter `locationName:"filter" type:"structure"`
// The maximum number of image results returned by ListImages in paginated output.
// When this parameter is used, ListImages only returns maxResults results in
// a single page along with a nextToken response element. The remaining results
@ -1735,6 +1760,9 @@ type ListImagesInput struct {
// where maxResults was used and the results exceeded the value of that parameter.
// Pagination continues from the end of the previous results that returned the
// nextToken value. This value is null when there are no more results to return.
//
// This token should be treated as an opaque identifier that is only used
// to retrieve the next items in a list and not for other programmatic purposes.
NextToken *string `locationName:"nextToken" type:"string"`
// The AWS account ID associated with the registry that contains the repository
@ -1859,7 +1887,7 @@ func (s PutImageOutput) GoString() string {
return s.String()
}
// Object representing a repository.
// An object representing a repository.
type Repository struct {
_ struct{} `type:"structure"`
@ -2077,3 +2105,10 @@ const (
// @enum LayerFailureCode
LayerFailureCodeMissingLayerDigest = "MissingLayerDigest"
)
const (
// @enum TagStatus
TagStatusTagged = "TAGGED"
// @enum TagStatus
TagStatusUntagged = "UNTAGGED"
)

View File

@ -110,6 +110,8 @@ func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Requ
// In addition to maintaining the desired count of tasks in your service, you
// can optionally run your service behind a load balancer. The load balancer
// distributes traffic across the tasks that are associated with the service.
// For more information, see Service Load Balancing (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html)
// in the Amazon EC2 Container Service Developer Guide.
//
// You can optionally specify a deployment configuration for your service.
// During a deployment (which is triggered by changing the task definition of
@ -1989,7 +1991,7 @@ type ContainerDefinition struct {
// containers, see https://docs.docker.com/userguide/dockerlinks/ (https://docs.docker.com/userguide/dockerlinks/).
// This parameter maps to Links in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.19/#create-a-container)
// section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.19/)
// and the --link option to docker run (https://docs.docker.com/reference/commandline/run/).
// and the --link option to docker run (https://docs.docker.com/reference/commandline/run/).
//
// Containers that are collocated on a single container instance may be able
// to communicate with each other without requiring links or host port mappings.
@ -2299,9 +2301,23 @@ type CreateServiceInput struct {
// keep running on your cluster.
DesiredCount *int64 `locationName:"desiredCount" type:"integer" required:"true"`
// A list of load balancer objects, containing the load balancer name, the container
// name (as it appears in a container definition), and the container port to
// access from the load balancer.
// A load balancer object representing the load balancer to use with your service.
// Currently, you are limited to one load balancer per service. After you create
// a service, the load balancer name, container name, and container port specified
// in the service definition are immutable.
//
// For Elastic Load Balancing Classic load balancers, this object must contain
// the load balancer name, the container name (as it appears in a container
// definition), and the container port to access from the load balancer. When
// a task from this service is placed on a container instance, the container
// instance is registered with the load balancer specified here.
//
// For Elastic Load Balancing Application load balancers, this object must
// contain the load balancer target group ARN, the container name (as it appears
// in a container definition), and the container port to access from the load
// balancer. When a task from this service is placed on a container instance,
// the container instance and port combination is registered as a target in
// the target group specified here.
LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
// The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon
@ -2478,7 +2494,7 @@ func (s DeleteServiceOutput) GoString() string {
type Deployment struct {
_ struct{} `type:"structure"`
// The Unix time in seconds and milliseconds when the service was created.
// The Unix timestamp for when the service was created.
CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"`
// The most recent desired count of tasks that was specified for the service
@ -2503,7 +2519,7 @@ type Deployment struct {
// The most recent task definition that was specified for the service to use.
TaskDefinition *string `locationName:"taskDefinition" type:"string"`
// The Unix time in seconds and milliseconds when the service was last updated.
// The Unix timestamp for when the service was last updated.
UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"unix"`
}
@ -3408,11 +3424,11 @@ type ListTasksInput struct {
// limits the results to tasks that belong to that container instance.
ContainerInstance *string `locationName:"containerInstance" type:"string"`
// The task status with which to filter the ListTasks results. Specifying a
// desiredStatus of STOPPED limits the results to tasks that are in the STOPPED
// status, which can be useful for debugging tasks that are not starting properly
// or have died or finished. The default status filter is status filter is RUNNING,
// which shows tasks that ECS has set the desired status to RUNNING.
// The task desired status with which to filter the ListTasks results. Specifying
// a desiredStatus of STOPPED limits the results to tasks that ECS has set the
// desired status to STOPPED, which can be useful for debugging tasks that are
// not starting properly or have died or finished. The default status filter
// is RUNNING, which shows tasks that ECS has set the desired status to RUNNING.
//
// Although you can filter results based on a desired status of PENDING, this
// will not return any results because ECS never sets the desired status of
@ -3499,6 +3515,10 @@ type LoadBalancer struct {
// The name of the load balancer.
LoadBalancerName *string `locationName:"loadBalancerName" type:"string"`
// The full Amazon Resource Name (ARN) of the Elastic Load Balancing target
// group associated with a service.
TargetGroupArn *string `locationName:"targetGroupArn" type:"string"`
}
// String returns the string representation
@ -3960,7 +3980,7 @@ type Service struct {
// The Amazon Resource Name (ARN) of the cluster that hosts the service.
ClusterArn *string `locationName:"clusterArn" type:"string"`
// The Unix time in seconds and milliseconds when the service was created.
// The Unix timestamp for when the service was created.
CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"`
// Optional deployment parameters that control how many tasks run during the
@ -3979,9 +3999,9 @@ type Service struct {
// are displayed.
Events []*ServiceEvent `locationName:"events" type:"list"`
// A list of load balancer objects, containing the load balancer name, the container
// name (as it appears in a container definition), and the container port to
// access from the load balancer.
// A list of Elastic Load Balancing load balancer objects, containing the load
// balancer name, the container name (as it appears in a container definition),
// and the container port to access from the load balancer.
LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"`
// The number of tasks in the cluster that are in the PENDING state.
@ -3989,7 +4009,7 @@ type Service struct {
// The Amazon Resource Name (ARN) of the IAM role associated with the service
// that allows the Amazon ECS container agent to register container instances
// with a load balancer.
// with an Elastic Load Balancing load balancer.
RoleArn *string `locationName:"roleArn" type:"string"`
// The number of tasks in the cluster that are in the RUNNING state.
@ -4030,7 +4050,7 @@ func (s Service) GoString() string {
type ServiceEvent struct {
_ struct{} `type:"structure"`
// The Unix time in seconds and milliseconds when the event was triggered.
// The Unix timestamp for when the event was triggered.
CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"`
// The ID string of the event.
@ -4310,8 +4330,8 @@ type Task struct {
// The containers associated with the task.
Containers []*Container `locationName:"containers" type:"list"`
// The Unix time in seconds and milliseconds when the task was created (the
// task entered the PENDING state).
// The Unix timestamp for when the task was created (the task entered the PENDING
// state).
CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"`
// The desired status of the task.
@ -4323,8 +4343,8 @@ type Task struct {
// One or more container overrides.
Overrides *TaskOverride `locationName:"overrides" type:"structure"`
// The Unix time in seconds and milliseconds when the task was started (the
// task transitioned from the PENDING state to the RUNNING state).
// The Unix timestamp for when the task was started (the task transitioned from
// the PENDING state to the RUNNING state).
StartedAt *time.Time `locationName:"startedAt" type:"timestamp" timestampFormat:"unix"`
// The tag specified when a task is started. If the task is started by an Amazon
@ -4332,8 +4352,8 @@ type Task struct {
// service that starts it.
StartedBy *string `locationName:"startedBy" type:"string"`
// The Unix time in seconds and milliseconds when the task was stopped (the
// task transitioned from the RUNNING state to the STOPPED state).
// The Unix timestamp for when the task was stopped (the task transitioned from
// the RUNNING state to the STOPPED state).
StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp" timestampFormat:"unix"`
// The reason the task was stopped.
@ -4362,7 +4382,7 @@ type TaskDefinition struct {
// A list of container definitions in JSON format that describe the different
// containers that make up your task. For more information about container definition
// parameters and defaults, see Amazon ECS Task Definitions (http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonECS/latest/developerguidetask_defintions.html)
// parameters and defaults, see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html)
// in the Amazon EC2 Container Service Developer Guide.
ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"`
@ -4391,7 +4411,7 @@ type TaskDefinition struct {
TaskRoleArn *string `locationName:"taskRoleArn" type:"string"`
// The list of volumes in a task. For more information about volume definition
// parameters and defaults, see Amazon ECS Task Definitions (http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonECS/latest/developerguidetask_defintions.html)
// parameters and defaults, see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html)
// in the Amazon EC2 Container Service Developer Guide.
Volumes []*Volume `locationName:"volumes" type:"list"`
}

File diff suppressed because it is too large Load Diff

View File

@ -11,15 +11,30 @@ import (
"github.com/aws/aws-sdk-go/private/protocol/query"
)
// Elastic Load Balancing distributes incoming traffic across your EC2 instances.
// A load balancer distributes incoming traffic across your EC2 instances. This
// enables you to increase the availability of your application. The load balancer
// also monitors the health of its registered instances and ensures that it
// routes traffic only to healthy instances. You configure your load balancer
// to accept incoming traffic by specifying one or more listeners, which are
// configured with a protocol and port number for connections from clients to
// the load balancer and a protocol and port number for connections from the
// load balancer to the instances.
//
// For information about the features of Elastic Load Balancing, see What Is
// Elastic Load Balancing? (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elastic-load-balancing.html)
// in the Elastic Load Balancing Developer Guide.
// Elastic Load Balancing supports two types of load balancers: Classic load
// balancers and Application load balancers (new). A Classic load balancer makes
// routing and load balancing decisions either at the transport layer (TCP/SSL)
// or the application layer (HTTP/HTTPS), and supports either EC2-Classic or
// a VPC. An Application load balancer makes routing and load balancing decisions
// at the application layer (HTTP/HTTPS), supports path-based routing, and can
// route requests to one or more ports on each EC2 instance or container instance
// in your virtual private cloud (VPC). For more information, see the .
//
// For information about the AWS regions supported by Elastic Load Balancing,
// see Regions and Endpoints - Elastic Load Balancing (http://docs.aws.amazon.com/general/latest/gr/rande.html#elb_region)
// in the Amazon Web Services General Reference.
// This reference covers the 2012-06-01 API, which supports Classic load balancers.
// The 2015-12-01 API supports Application load balancers.
//
// To get started, create a load balancer with one or more listeners using
// CreateLoadBalancer. Register your instances with the load balancer using
// RegisterInstancesWithLoadBalancer.
//
// All Elastic Load Balancing operations are idempotent, which means that they
// complete at most one time. If you repeat an operation, it succeeds with a

View File

@ -351,6 +351,65 @@ func (c *KMS) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) {
return out, err
}
const opDeleteImportedKeyMaterial = "DeleteImportedKeyMaterial"
// DeleteImportedKeyMaterialRequest generates a "aws/request.Request" representing the
// client's request for the DeleteImportedKeyMaterial operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the DeleteImportedKeyMaterial method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the DeleteImportedKeyMaterialRequest method.
// req, resp := client.DeleteImportedKeyMaterialRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *KMS) DeleteImportedKeyMaterialRequest(input *DeleteImportedKeyMaterialInput) (req *request.Request, output *DeleteImportedKeyMaterialOutput) {
op := &request.Operation{
Name: opDeleteImportedKeyMaterial,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &DeleteImportedKeyMaterialInput{}
}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
output = &DeleteImportedKeyMaterialOutput{}
req.Data = output
return
}
// Deletes key material that you previously imported and makes the specified
// customer master key (CMK) unusable. For more information about importing
// key material into AWS KMS, see Importing Key Material (http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)
// in the AWS Key Management Service Developer Guide.
//
// When the specified CMK is in the PendingDeletion state, this operation does
// not change the CMK's state. Otherwise, it changes the CMK's state to PendingImport.
//
// After you delete key material, you can use ImportKeyMaterial to reimport
// the same key material into the CMK.
func (c *KMS) DeleteImportedKeyMaterial(input *DeleteImportedKeyMaterialInput) (*DeleteImportedKeyMaterialOutput, error) {
req, out := c.DeleteImportedKeyMaterialRequest(input)
err := req.Send()
return out, err
}
const opDescribeKey = "DescribeKey"
// DescribeKeyRequest generates a "aws/request.Request" representing the
@ -946,6 +1005,138 @@ func (c *KMS) GetKeyRotationStatus(input *GetKeyRotationStatusInput) (*GetKeyRot
return out, err
}
const opGetParametersForImport = "GetParametersForImport"
// GetParametersForImportRequest generates a "aws/request.Request" representing the
// client's request for the GetParametersForImport operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the GetParametersForImport method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the GetParametersForImportRequest method.
// req, resp := client.GetParametersForImportRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *KMS) GetParametersForImportRequest(input *GetParametersForImportInput) (req *request.Request, output *GetParametersForImportOutput) {
op := &request.Operation{
Name: opGetParametersForImport,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &GetParametersForImportInput{}
}
req = c.newRequest(op, input, output)
output = &GetParametersForImportOutput{}
req.Data = output
return
}
// Returns the items you need in order to import key material into AWS KMS from
// your existing key management infrastructure. For more information about importing
// key material into AWS KMS, see Importing Key Material (http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)
// in the AWS Key Management Service Developer Guide.
//
// You must specify the key ID of the customer master key (CMK) into which
// you will import key material. This CMK's Origin must be EXTERNAL. You must
// also specify the wrapping algorithm and type of wrapping key (public key)
// that you will use to encrypt the key material.
//
// This operation returns a public key and an import token. Use the public
// key to encrypt the key material. Store the import token to send with a subsequent
// ImportKeyMaterial request. The public key and import token from the same
// response must be used together. These items are valid for 24 hours, after
// which they cannot be used for a subsequent ImportKeyMaterial request. To
// retrieve new ones, send another GetParametersForImport request.
func (c *KMS) GetParametersForImport(input *GetParametersForImportInput) (*GetParametersForImportOutput, error) {
req, out := c.GetParametersForImportRequest(input)
err := req.Send()
return out, err
}
const opImportKeyMaterial = "ImportKeyMaterial"
// ImportKeyMaterialRequest generates a "aws/request.Request" representing the
// client's request for the ImportKeyMaterial operation. The "output" return
// value can be used to capture response data after the request's "Send" method
// is called.
//
// Creating a request object using this method should be used when you want to inject
// custom logic into the request's lifecycle using a custom handler, or if you want to
// access properties on the request object before or after sending the request. If
// you just want the service response, call the ImportKeyMaterial method directly
// instead.
//
// Note: You must call the "Send" method on the returned request object in order
// to execute the request.
//
// // Example sending a request using the ImportKeyMaterialRequest method.
// req, resp := client.ImportKeyMaterialRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *request.Request, output *ImportKeyMaterialOutput) {
op := &request.Operation{
Name: opImportKeyMaterial,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ImportKeyMaterialInput{}
}
req = c.newRequest(op, input, output)
output = &ImportKeyMaterialOutput{}
req.Data = output
return
}
// Imports key material into an AWS KMS customer master key (CMK) from your
// existing key management infrastructure. For more information about importing
// key material into AWS KMS, see Importing Key Material (http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)
// in the AWS Key Management Service Developer Guide.
//
// You must specify the key ID of the CMK to import the key material into.
// This CMK's Origin must be EXTERNAL. You must also send an import token and
// the encrypted key material. Send the import token that you received in the
// same GetParametersForImport response that contained the public key that you
// used to encrypt the key material. You must also specify whether the key material
// expires and if so, when. When the key material expires, AWS KMS deletes the
// key material and the CMK becomes unusable. To use the CMK again, you can
// reimport the same key material. If you set an expiration date, you can change
// it only by reimporting the same key material and specifying a new expiration
// date.
//
// When this operation is successful, the specified CMK's key state changes
// to Enabled, and you can use the CMK.
//
// After you successfully import key material into a CMK, you can reimport
// the same key material into that CMK, but you cannot import different key
// material.
func (c *KMS) ImportKeyMaterial(input *ImportKeyMaterialInput) (*ImportKeyMaterialOutput, error) {
req, out := c.ImportKeyMaterialRequest(input)
err := req.Send()
return out, err
}
const opListAliases = "ListAliases"
// ListAliasesRequest generates a "aws/request.Request" representing the
@ -2043,9 +2234,22 @@ type CreateKeyInput struct {
// You can use CMKs only for symmetric encryption and decryption.
KeyUsage *string `type:"string" enum:"KeyUsageType"`
// The source of the CMK's key material.
//
// The default is AWS_KMS, which means AWS KMS creates the key material. When
// this parameter is set to EXTERNAL, the request creates a CMK without key
// material so that you can import key material from your existing key management
// infrastructure. For more information about importing key material into AWS
// KMS, see Importing Key Material (http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html)
// in the AWS Key Management Service Developer Guide.
//
// The CMK's Origin is immutable and is set when the CMK is created.
Origin *string `type:"string" enum:"OriginType"`
// The key policy to attach to the CMK.
//
// If you specify a key policy, it must meet the following criteria:
// If you specify a policy and do not set BypassPolicyLockoutSafetyCheck to
// true, the policy must meet the following criteria:
//
// It must allow the principal making the CreateKey request to make a subsequent
// PutKeyPolicy request on the CMK. This reduces the likelihood that the CMK
@ -2227,6 +2431,61 @@ func (s DeleteAliasOutput) GoString() string {
return s.String()
}
type DeleteImportedKeyMaterialInput struct {
_ struct{} `type:"structure"`
// The identifier of the CMK whose key material to delete. The CMK's Origin
// must be EXTERNAL.
//
// A valid identifier is the unique key ID or the Amazon Resource Name (ARN)
// of the CMK. Examples:
//
// Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
//
// Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
KeyId *string `min:"1" type:"string" required:"true"`
}
// String returns the string representation
func (s DeleteImportedKeyMaterialInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteImportedKeyMaterialInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteImportedKeyMaterialInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteImportedKeyMaterialInput"}
if s.KeyId == nil {
invalidParams.Add(request.NewErrParamRequired("KeyId"))
}
if s.KeyId != nil && len(*s.KeyId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
type DeleteImportedKeyMaterialOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s DeleteImportedKeyMaterialOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteImportedKeyMaterialOutput) GoString() string {
return s.String()
}
type DescribeKeyInput struct {
_ struct{} `type:"structure"`
@ -2955,6 +3214,97 @@ func (s GetKeyRotationStatusOutput) GoString() string {
return s.String()
}
type GetParametersForImportInput struct {
_ struct{} `type:"structure"`
// The identifier of the CMK into which you will import key material. The CMK's
// Origin must be EXTERNAL.
//
// A valid identifier is the unique key ID or the Amazon Resource Name (ARN)
// of the CMK. Examples:
//
// Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
//
// Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
KeyId *string `min:"1" type:"string" required:"true"`
// The algorithm you will use to encrypt the key material before importing it
// with ImportKeyMaterial. For more information, see Encrypt the Key Material
// (http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-encrypt-key-material.html)
// in the AWS Key Management Service Developer Guide.
WrappingAlgorithm *string `type:"string" required:"true" enum:"AlgorithmSpec"`
// The type of wrapping key (public key) to return in the response. Only 2048-bit
// RSA public keys are supported.
WrappingKeySpec *string `type:"string" required:"true" enum:"WrappingKeySpec"`
}
// String returns the string representation
func (s GetParametersForImportInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetParametersForImportInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetParametersForImportInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetParametersForImportInput"}
if s.KeyId == nil {
invalidParams.Add(request.NewErrParamRequired("KeyId"))
}
if s.KeyId != nil && len(*s.KeyId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
}
if s.WrappingAlgorithm == nil {
invalidParams.Add(request.NewErrParamRequired("WrappingAlgorithm"))
}
if s.WrappingKeySpec == nil {
invalidParams.Add(request.NewErrParamRequired("WrappingKeySpec"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
type GetParametersForImportOutput struct {
_ struct{} `type:"structure"`
// The import token to send in a subsequent ImportKeyMaterial request.
//
// ImportToken is automatically base64 encoded/decoded by the SDK.
ImportToken []byte `min:"1" type:"blob"`
// The identifier of the CMK to use in a subsequent ImportKeyMaterial request.
// This is the same CMK specified in the GetParametersForImport request.
KeyId *string `min:"1" type:"string"`
// The time at which the import token and public key are no longer valid. After
// this time, you cannot use them to make an ImportKeyMaterial request and you
// must send another GetParametersForImport request to retrieve new ones.
ParametersValidTo *time.Time `type:"timestamp" timestampFormat:"unix"`
// The public key to use to encrypt the key material before importing it with
// ImportKeyMaterial.
//
// PublicKey is automatically base64 encoded/decoded by the SDK.
PublicKey []byte `min:"1" type:"blob"`
}
// String returns the string representation
func (s GetParametersForImportOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s GetParametersForImportOutput) GoString() string {
return s.String()
}
// A structure for specifying the conditions under which the operations permitted
// by the grant are allowed.
//
@ -3034,6 +3384,101 @@ func (s GrantListEntry) GoString() string {
return s.String()
}
type ImportKeyMaterialInput struct {
_ struct{} `type:"structure"`
// The encrypted key material to import. It must be encrypted with the public
// key that you received in the response to a previous GetParametersForImport
// request, using the wrapping algorithm that you specified in that request.
//
// EncryptedKeyMaterial is automatically base64 encoded/decoded by the SDK.
EncryptedKeyMaterial []byte `min:"1" type:"blob" required:"true"`
// Specifies whether the key material expires. The default is KEY_MATERIAL_EXPIRES,
// in which case you must include the ValidTo parameter. When this parameter
// is set to KEY_MATERIAL_DOES_NOT_EXPIRE, you must omit the ValidTo parameter.
ExpirationModel *string `type:"string" enum:"ExpirationModelType"`
// The import token that you received in the response to a previous GetParametersForImport
// request. It must be from the same response that contained the public key
// that you used to encrypt the key material.
//
// ImportToken is automatically base64 encoded/decoded by the SDK.
ImportToken []byte `min:"1" type:"blob" required:"true"`
// The identifier of the CMK to import the key material into. The CMK's Origin
// must be EXTERNAL.
//
// A valid identifier is the unique key ID or the Amazon Resource Name (ARN)
// of the CMK. Examples:
//
// Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
//
// Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
KeyId *string `min:"1" type:"string" required:"true"`
// The time at which the imported key material expires. When the key material
// expires, AWS KMS deletes the key material and the CMK becomes unusable. You
// must omit this parameter when the ExpirationModel parameter is set to KEY_MATERIAL_DOES_NOT_EXPIRE.
// Otherwise it is required.
ValidTo *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
}
// String returns the string representation
func (s ImportKeyMaterialInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ImportKeyMaterialInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ImportKeyMaterialInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ImportKeyMaterialInput"}
if s.EncryptedKeyMaterial == nil {
invalidParams.Add(request.NewErrParamRequired("EncryptedKeyMaterial"))
}
if s.EncryptedKeyMaterial != nil && len(s.EncryptedKeyMaterial) < 1 {
invalidParams.Add(request.NewErrParamMinLen("EncryptedKeyMaterial", 1))
}
if s.ImportToken == nil {
invalidParams.Add(request.NewErrParamRequired("ImportToken"))
}
if s.ImportToken != nil && len(s.ImportToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ImportToken", 1))
}
if s.KeyId == nil {
invalidParams.Add(request.NewErrParamRequired("KeyId"))
}
if s.KeyId != nil && len(*s.KeyId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
}
if s.ValidTo == nil {
invalidParams.Add(request.NewErrParamRequired("ValidTo"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
type ImportKeyMaterialOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation
func (s ImportKeyMaterialOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ImportKeyMaterialOutput) GoString() string {
return s.String()
}
// Contains information about each entry in the key list.
type KeyListEntry struct {
_ struct{} `type:"structure"`
@ -3062,43 +3507,58 @@ func (s KeyListEntry) GoString() string {
type KeyMetadata struct {
_ struct{} `type:"structure"`
// The twelve-digit account ID of the AWS account that owns the key.
// The twelve-digit account ID of the AWS account that owns the CMK.
AWSAccountId *string `type:"string"`
// The Amazon Resource Name (ARN) of the key. For examples, see AWS Key Management
// The Amazon Resource Name (ARN) of the CMK. For examples, see AWS Key Management
// Service (AWS KMS) (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kms)
// in the Example ARNs section of the AWS General Reference.
Arn *string `min:"20" type:"string"`
// The date and time when the key was created.
// The date and time when the CMK was created.
CreationDate *time.Time `type:"timestamp" timestampFormat:"unix"`
// The date and time after which AWS KMS deletes the customer master key (CMK).
// This value is present only when KeyState is PendingDeletion, otherwise this
// value is null.
// The date and time after which AWS KMS deletes the CMK. This value is present
// only when KeyState is PendingDeletion, otherwise this value is omitted.
DeletionDate *time.Time `type:"timestamp" timestampFormat:"unix"`
// The friendly description of the key.
// The description of the CMK.
Description *string `type:"string"`
// Specifies whether the key is enabled. When KeyState is Enabled this value
// Specifies whether the CMK is enabled. When KeyState is Enabled this value
// is true, otherwise it is false.
Enabled *bool `type:"boolean"`
// The globally unique identifier for the key.
// Specifies whether the CMK's key material expires. This value is present only
// when Origin is EXTERNAL, otherwise this value is omitted.
ExpirationModel *string `type:"string" enum:"ExpirationModelType"`
// The globally unique identifier for the CMK.
KeyId *string `min:"1" type:"string" required:"true"`
// The state of the customer master key (CMK).
// The state of the CMK.
//
// For more information about how key state affects the use of a CMK, see How
// Key State Affects the Use of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)
// in the AWS Key Management Service Developer Guide.
KeyState *string `type:"string" enum:"KeyState"`
// The cryptographic operations for which you can use the key. Currently the
// only allowed value is ENCRYPT_DECRYPT, which means you can use the key for
// The cryptographic operations for which you can use the CMK. Currently the
// only allowed value is ENCRYPT_DECRYPT, which means you can use the CMK for
// the Encrypt and Decrypt operations.
KeyUsage *string `type:"string" enum:"KeyUsageType"`
// The source of the CMK's key material. When this value is AWS_KMS, AWS KMS
// created the key material. When this value is EXTERNAL, the key material was
// imported from your existing key management infrastructure or the CMK lacks
// key material.
Origin *string `type:"string" enum:"OriginType"`
// The time at which the imported key material expires. When the key material
// expires, AWS KMS deletes the key material and the CMK becomes unusable. This
// value is present only for CMKs whose Origin is EXTERNAL and whose ExpirationModel
// is KEY_MATERIAL_EXPIRES, otherwise this value is omitted.
ValidTo *time.Time `type:"timestamp" timestampFormat:"unix"`
}
// String returns the string representation
@ -3510,7 +3970,8 @@ type PutKeyPolicyInput struct {
// The key policy to attach to the CMK.
//
// The key policy must meet the following criteria:
// If you do not set BypassPolicyLockoutSafetyCheck to true, the policy must
// meet the following criteria:
//
// It must allow the principal making the PutKeyPolicy request to make a
// subsequent PutKeyPolicy request on the CMK. This reduces the likelihood that
@ -4006,6 +4467,15 @@ func (s UpdateKeyDescriptionOutput) GoString() string {
return s.String()
}
const (
// @enum AlgorithmSpec
AlgorithmSpecRsaesPkcs1V15 = "RSAES_PKCS1_V1_5"
// @enum AlgorithmSpec
AlgorithmSpecRsaesOaepSha1 = "RSAES_OAEP_SHA_1"
// @enum AlgorithmSpec
AlgorithmSpecRsaesOaepSha256 = "RSAES_OAEP_SHA_256"
)
const (
// @enum DataKeySpec
DataKeySpecAes256 = "AES_256"
@ -4013,6 +4483,13 @@ const (
DataKeySpecAes128 = "AES_128"
)
const (
// @enum ExpirationModelType
ExpirationModelTypeKeyMaterialExpires = "KEY_MATERIAL_EXPIRES"
// @enum ExpirationModelType
ExpirationModelTypeKeyMaterialDoesNotExpire = "KEY_MATERIAL_DOES_NOT_EXPIRE"
)
const (
// @enum GrantOperation
GrantOperationDecrypt = "Decrypt"
@ -4041,9 +4518,23 @@ const (
KeyStateDisabled = "Disabled"
// @enum KeyState
KeyStatePendingDeletion = "PendingDeletion"
// @enum KeyState
KeyStatePendingImport = "PendingImport"
)
const (
// @enum KeyUsageType
KeyUsageTypeEncryptDecrypt = "ENCRYPT_DECRYPT"
)
const (
// @enum OriginType
OriginTypeAwsKms = "AWS_KMS"
// @enum OriginType
OriginTypeExternal = "EXTERNAL"
)
const (
// @enum WrappingKeySpec
WrappingKeySpecRsa2048 = "RSA_2048"
)

View File

@ -48,18 +48,6 @@ func (c *RDS) WaitUntilDBInstanceAvailable(input *DescribeDBInstancesInput) erro
Argument: "DBInstances[].DBInstanceStatus",
Expected: "incompatible-parameters",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "DBInstances[].DBInstanceStatus",
Expected: "incompatible-parameters",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "DBInstances[].DBInstanceStatus",
Expected: "incompatible-restore",
},
},
}

View File

@ -37,6 +37,14 @@ var accelerateOpBlacklist = operationBlacklist{
func updateEndpointForS3Config(r *request.Request) {
forceHostStyle := aws.BoolValue(r.Config.S3ForcePathStyle)
accelerate := aws.BoolValue(r.Config.S3UseAccelerate)
useDualStack := aws.BoolValue(r.Config.UseDualStack)
if useDualStack && accelerate {
r.Error = awserr.New("InvalidParameterException",
fmt.Sprintf("configuration aws.Config.UseDualStack is not compatible with aws.Config.Accelerate"),
nil)
return
}
if accelerate && accelerateOpBlacklist.Continue(r) {
if forceHostStyle {

298
vendor/vendor.json vendored
View File

@ -285,411 +285,411 @@
{
"checksumSHA1": "QhFYdDb2z6DMbZPsDi9oCQS9nRY=",
"path": "github.com/aws/aws-sdk-go",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z",
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z",
"version": "v1.3.1"
},
{
"checksumSHA1": "4e7X+SkJ2EfR4pNJtMlTVwIh90g=",
"checksumSHA1": "k4BkX61fhl/oX9X0lP7GFSvdz1s=",
"path": "github.com/aws/aws-sdk-go/aws",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "Y9W+4GimK4Fuxq+vyIskVYFRnX4=",
"path": "github.com/aws/aws-sdk-go/aws/awserr",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "dkfyy7aRNZ6BmUZ4ZdLIcMMXiPA=",
"path": "github.com/aws/aws-sdk-go/aws/awsutil",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "RsYlRfQceaAgqjIrExwNsb/RBEM=",
"path": "github.com/aws/aws-sdk-go/aws/client",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "ieAJ+Cvp/PKv1LpUEnUXpc3OI6E=",
"path": "github.com/aws/aws-sdk-go/aws/client/metadata",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "gNWirlrTfSLbOe421hISBAhTqa4=",
"path": "github.com/aws/aws-sdk-go/aws/corehandlers",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "dNZNaOPfBPnzE2CBnfhXXZ9g9jU=",
"path": "github.com/aws/aws-sdk-go/aws/credentials",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "KQiUK/zr3mqnAXD7x/X55/iNme0=",
"path": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "NUJUTWlc1sV8b7WjfiYc4JZbXl0=",
"path": "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "4Ipx+5xN0gso+cENC2MHMWmQlR4=",
"path": "github.com/aws/aws-sdk-go/aws/credentials/stscreds",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "dVqXFA18tta86y9KIfBqejJRI8Q=",
"checksumSHA1": "nCMd1XKjgV21bEl7J8VZFqTV8PE=",
"path": "github.com/aws/aws-sdk-go/aws/defaults",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "U0SthWum+t9ACanK7SDJOg3dO6M=",
"path": "github.com/aws/aws-sdk-go/aws/ec2metadata",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "NyUg1P8ZS/LHAAQAk/4C5O4X3og=",
"path": "github.com/aws/aws-sdk-go/aws/request",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "6rpx6vnvZFvQTIKtxCmhKctnTBU=",
"checksumSHA1": "tBdFneml1Vn7uvezcktsa+hUsGg=",
"path": "github.com/aws/aws-sdk-go/aws/session",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "7lla+sckQeF18wORAGuU2fFMlp4=",
"path": "github.com/aws/aws-sdk-go/aws/signer/v4",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "sgft7A0lRCVD7QBogydg46lr3NM=",
"checksumSHA1": "Bm6UrYb2QCzpYseLwwgw6aetgRc=",
"path": "github.com/aws/aws-sdk-go/private/endpoints",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "wk7EyvDaHwb5qqoOP/4d3cV0708=",
"path": "github.com/aws/aws-sdk-go/private/protocol",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "uNmSKXAF8B9HWEciW+iyUwZ99qQ=",
"path": "github.com/aws/aws-sdk-go/private/protocol/ec2query",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "L7xWYwx0jNQnzlYHwBS+1q6DcCI=",
"path": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "H9TymcQkQnXSXSVfjggiiS4bpzM=",
"path": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "isoix7lTx4qIq2zI2xFADtti5SI=",
"path": "github.com/aws/aws-sdk-go/private/protocol/query",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "5xzix1R8prUyWxgLnzUQoxTsfik=",
"path": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "TW/7U+/8ormL7acf6z2rv2hDD+s=",
"path": "github.com/aws/aws-sdk-go/private/protocol/rest",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "oUOTWZIpPJiGjc9p/hntdBDvS10=",
"path": "github.com/aws/aws-sdk-go/private/protocol/restjson",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "Y6Db2GGfGD9LPpcJIPj8vXE8BbQ=",
"path": "github.com/aws/aws-sdk-go/private/protocol/restxml",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "eUEkjyMPAuekKBE4ou+nM9tXEas=",
"path": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "F6mth+G7dXN1GI+nktaGo8Lx8aE=",
"path": "github.com/aws/aws-sdk-go/private/signer/v2",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "Eo9yODN5U99BK0pMzoqnBm7PCrY=",
"path": "github.com/aws/aws-sdk-go/private/waiter",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "j8CUd3jhZ8K+cI8fy785NmqJyzg=",
"path": "github.com/aws/aws-sdk-go/service/apigateway",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "qoTWohhN8wMZvdMAbwi+B5YhQJ0=",
"path": "github.com/aws/aws-sdk-go/service/applicationautoscaling",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "AUA6op9dlm0X4vv1YPFnIFs6404=",
"checksumSHA1": "ygJl5okbywr9j3Cl2GTI/e8f94c=",
"path": "github.com/aws/aws-sdk-go/service/autoscaling",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "vp/AYdsQnZtoPqtX86VsgmLIx1w=",
"path": "github.com/aws/aws-sdk-go/service/cloudformation",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "4deSd9La3EF2Cmq+tD5rcvhfTGQ=",
"checksumSHA1": "CpWQcLIxUTtkF6NBRg0QwdeSA/k=",
"path": "github.com/aws/aws-sdk-go/service/cloudfront",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "eCFTaV9GKqv/UEzwRgFFUaFz098=",
"path": "github.com/aws/aws-sdk-go/service/cloudtrail",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "G9CmCfw00Bjz0TtJsEnxGE6mv/0=",
"path": "github.com/aws/aws-sdk-go/service/cloudwatch",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "mWNJKpt18ASs9/RhnIjILcsGlng=",
"path": "github.com/aws/aws-sdk-go/service/cloudwatchevents",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "sP/qEaDICVBV3rRw2sl759YI0iw=",
"path": "github.com/aws/aws-sdk-go/service/cloudwatchlogs",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "p5a/DcdUvhTx0PCRR+/CRXk9g6c=",
"path": "github.com/aws/aws-sdk-go/service/codecommit",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "N8Sgq+xG2vYJdKBikM3yQuIBZfs=",
"path": "github.com/aws/aws-sdk-go/service/codedeploy",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "i4hrcsFXLAQXzaxvWh6+BG8XcIU=",
"path": "github.com/aws/aws-sdk-go/service/directoryservice",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "y+pZPK8hcTDwq1zHuRduWE14flw=",
"path": "github.com/aws/aws-sdk-go/service/dynamodb",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "Ao/Vq8RYiaW63HasBBPkNg/i7CM=",
"checksumSHA1": "lJYBdjCwoqPpmmjNyW2yYk9VGiY=",
"path": "github.com/aws/aws-sdk-go/service/ec2",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "IEHq+VLH1fud1oQ4MXj1nqfpgUY=",
"checksumSHA1": "RUfkmRJpf1l6rHJfh/86gtG4Was=",
"path": "github.com/aws/aws-sdk-go/service/ecr",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "sHPoLMWXO5tM63ipuxVXduuRypI=",
"checksumSHA1": "n6llxIMIGbjTer/33Zmz4cNKVQA=",
"path": "github.com/aws/aws-sdk-go/service/ecs",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "1vOgFGxLhjNe6BK3RJaV1OqisCs=",
"path": "github.com/aws/aws-sdk-go/service/efs",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "rjSScNzMTvEHv7Lk5KcxDpNU5EE=",
"path": "github.com/aws/aws-sdk-go/service/elasticache",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "RZF1yHtJhAqaMwbeAM/6BdLLavk=",
"path": "github.com/aws/aws-sdk-go/service/elasticbeanstalk",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "VAlXnW+WxxWRcCv4xsCoox2kgE0=",
"path": "github.com/aws/aws-sdk-go/service/elasticsearchservice",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "qHuJHGUAuuizD9834MP3gVupfdo=",
"path": "github.com/aws/aws-sdk-go/service/elastictranscoder",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "1c9xsISLQWKSrORIpdokCCWCe2M=",
"checksumSHA1": "YiNiSOILzSOaKB4JwdM4SDw7daM=",
"path": "github.com/aws/aws-sdk-go/service/elb",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "MA6U/Vj0D00yihMHD6bXKyjtfeE=",
"path": "github.com/aws/aws-sdk-go/service/emr",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "TtIAgZ+evpkKB5bBYCB69k0wZoU=",
"path": "github.com/aws/aws-sdk-go/service/firehose",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "B1EtgBrv//gYqA+Sp6a/SK2zLO4=",
"path": "github.com/aws/aws-sdk-go/service/glacier",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "kXJ9ycLAIj0PFSFbfrA/LR/hIi8=",
"path": "github.com/aws/aws-sdk-go/service/iam",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "2n5/m0ClE4OyQRNdjfLwg+nSY3o=",
"path": "github.com/aws/aws-sdk-go/service/kinesis",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "/cFX1/Gr6M+r9232gLIV+4np7Po=",
"checksumSHA1": "IUiewu7NPRaPPGtWkXHkvVU+80c=",
"path": "github.com/aws/aws-sdk-go/service/kms",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "Qpi347xz5FIQISq73dZSdIf47AU=",
"path": "github.com/aws/aws-sdk-go/service/lambda",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "aLwDFgrPzIBidURxso1ujcr2pDs=",
"path": "github.com/aws/aws-sdk-go/service/opsworks",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "9JvmBN9zOBFAIMhBUNU81ZTdFQA=",
"checksumSHA1": "abtQbJdjxwPxvt4p/X0My6FtfZI=",
"path": "github.com/aws/aws-sdk-go/service/rds",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "mgImZ/bluUOY9GpQ/oAnscIXwrA=",
"path": "github.com/aws/aws-sdk-go/service/redshift",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "y6jKUvrpTJxj5uh6OqQ4FujhCHU=",
"path": "github.com/aws/aws-sdk-go/service/route53",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "+608jtc5uRpGqGu5ntpKhfWgwGc=",
"checksumSHA1": "imxJucuPrgaPRMPtAgsu+Y7soB4=",
"path": "github.com/aws/aws-sdk-go/service/s3",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "o+bjuT6ycywUf+vXY9hYK4Z3okE=",
"path": "github.com/aws/aws-sdk-go/service/ses",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "DW5kDRWLA2yAgYh9vsI+0uVqq/Q=",
"path": "github.com/aws/aws-sdk-go/service/simpledb",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "+ic7vevBfganFLENR29pJaEf4Tw=",
"path": "github.com/aws/aws-sdk-go/service/sns",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "oLAlquYlQzgYFS9ochS/iQ9+uXY=",
"path": "github.com/aws/aws-sdk-go/service/sqs",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"checksumSHA1": "nH/itbdeFHpl4ysegdtgww9bFSA=",
"path": "github.com/aws/aws-sdk-go/service/sts",
"revision": "13d7266e75bd078dd0e904106be68b2e52860fd7",
"revisionTime": "2016-08-06T21:45:34Z"
"revision": "f80e7d0182a463dff0c0da6bbed57f21369d4346",
"revisionTime": "2016-08-11T16:24:59Z"
},
{
"path": "github.com/bgentry/speakeasy",