From 735abfac84c8c7d6030a1cf926d0f307c9c9972b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 20 Aug 2019 19:47:17 +0000 Subject: [PATCH] Update module aws/aws-sdk-go to v1.23.5 --- go.mod | 2 +- go.sum | 4 +- .../stscreds/web_identity_provider.go | 7 +- .../aws/aws-sdk-go/aws/endpoints/defaults.go | 32 +- .../github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../private/protocol/rest/unmarshal.go | 24 +- .../private/protocol/restxml/restxml.go | 2 +- .../aws/aws-sdk-go/service/appmesh/api.go | 306 +++++++++ .../aws/aws-sdk-go/service/athena/api.go | 63 +- .../aws/aws-sdk-go/service/codecommit/api.go | 247 ++++++++ .../aws/aws-sdk-go/service/codecommit/doc.go | 3 + .../aws-sdk-go/service/codecommit/errors.go | 12 + .../service/costandusagereportservice/api.go | 161 +++++ .../aws/aws-sdk-go/service/ec2/api.go | 585 ++++++++++++++++-- .../aws/aws-sdk-go/service/ec2/doc.go | 2 +- .../aws/aws-sdk-go/service/ecs/api.go | 428 +++++++++++-- .../aws/aws-sdk-go/service/emr/api.go | 509 ++++++++++++++- .../aws/aws-sdk-go/service/glue/api.go | 235 ------- .../service/kinesis/customizations.go | 18 +- .../aws/aws-sdk-go/service/sagemaker/api.go | 341 ++++++++-- .../aws-sdk-go/service/storagegateway/api.go | 97 ++- .../aws-sdk-go/service/sts/customizations.go | 11 + .../aws/aws-sdk-go/service/transfer/api.go | 201 +++--- .../aws/aws-sdk-go/service/transfer/doc.go | 2 +- vendor/modules.txt | 2 +- 25 files changed, 2735 insertions(+), 561 deletions(-) create mode 100644 vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go diff --git a/go.mod b/go.mod index a768c3ea919..74ceca7b090 100644 --- a/go.mod +++ b/go.mod @@ -1,7 +1,7 @@ module github.com/terraform-providers/terraform-provider-aws require ( - github.com/aws/aws-sdk-go v1.23.0 + github.com/aws/aws-sdk-go v1.23.5 github.com/beevik/etree v1.1.0 github.com/bflad/tfproviderlint v0.4.0 github.com/client9/misspell v0.3.4 diff --git a/go.sum b/go.sum index 6167f79d5be..5d6a1a96309 100644 --- a/go.sum +++ b/go.sum @@ -54,8 +54,8 @@ github.com/aws/aws-sdk-go v1.16.36/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi github.com/aws/aws-sdk-go v1.19.18/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.21.7 h1:ml+k7szyVaq4YD+3LhqOGl9tgMTqgMbpnuUSkB6UJvQ= github.com/aws/aws-sdk-go v1.21.7/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.23.0 h1:ilfJN/vJtFo1XDFxB2YMBYGeOvGZl6Qow17oyD4+Z9A= -github.com/aws/aws-sdk-go v1.23.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.23.5 h1:mLCB0uWFervVN1tmXrGZfqMkdBpGgn6Umho0xCnqtUQ= +github.com/aws/aws-sdk-go v1.23.5/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go index 20510d9aec8..b20b6339484 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go @@ -76,12 +76,15 @@ func (p *WebIdentityRoleProvider) Retrieve() (credentials.Value, error) { // uses unix time in nanoseconds to uniquely identify sessions. sessionName = strconv.FormatInt(now().UnixNano(), 10) } - resp, err := p.client.AssumeRoleWithWebIdentity(&sts.AssumeRoleWithWebIdentityInput{ + req, resp := p.client.AssumeRoleWithWebIdentityRequest(&sts.AssumeRoleWithWebIdentityInput{ RoleArn: &p.roleARN, RoleSessionName: &sessionName, WebIdentityToken: aws.String(string(b)), }) - if err != nil { + // InvalidIdentityToken error is a temporary error that can occur + // when assuming an Role with a JWT web identity token. + req.RetryErrorCodes = append(req.RetryErrorCodes, sts.ErrCodeInvalidIdentityTokenException) + if err := req.Send(); err != nil { return credentials.Value{}, awserr.New(ErrCodeWebIdentity, "failed to retrieve credentials", err) } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index 62a5be95346..f8a9e7d627b 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -320,6 +320,7 @@ var awsPartition = partition{ "ap-northeast-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, "us-west-2": endpoint{}, @@ -339,6 +340,7 @@ var awsPartition = partition{ "api.sagemaker": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -346,8 +348,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-1-fips": endpoint{ Hostname: "api-fips.sagemaker.us-east-1.amazonaws.com", @@ -1589,6 +1594,7 @@ var awsPartition = partition{ "firehose": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1632,6 +1638,7 @@ var awsPartition = partition{ "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "us-east-1": endpoint{}, @@ -1963,11 +1970,14 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-2": endpoint{}, @@ -2055,6 +2065,7 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -2653,6 +2664,7 @@ var awsPartition = partition{ "runtime.sagemaker": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -2660,8 +2672,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-1-fips": endpoint{ Hostname: "runtime-fips.sagemaker.us-east-1.amazonaws.com", @@ -3135,6 +3150,7 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -3509,9 +3525,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -3934,7 +3952,8 @@ var awscnPartition = partition{ }, }, Endpoints: endpoints{ - "cn-north-1": endpoint{}, + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, }, }, "kinesis": service{ @@ -4615,6 +4634,17 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "neptune": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{ + Hostname: "rds.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + }, + }, "organizations": service{ PartitionEndpoint: "aws-us-gov-global", IsRegionalized: boxedFalse, diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index 75501aa5353..80323846af2 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.23.0" +const SDKVersion = "1.23.5" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go index de021367da2..1a49f893455 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go @@ -146,6 +146,9 @@ func unmarshalStatusCode(v reflect.Value, statusCode int) { } func unmarshalHeaderMap(r reflect.Value, headers http.Header, prefix string) error { + if len(headers) == 0 { + return nil + } switch r.Interface().(type) { case map[string]*string: // we only support string map value types out := map[string]*string{} @@ -155,19 +158,28 @@ func unmarshalHeaderMap(r reflect.Value, headers http.Header, prefix string) err out[k[len(prefix):]] = &v[0] } } - r.Set(reflect.ValueOf(out)) + if len(out) !=0 { + r.Set(reflect.ValueOf(out)) + } + } return nil } func unmarshalHeader(v reflect.Value, header string, tag reflect.StructTag) error { - isJSONValue := tag.Get("type") == "jsonvalue" - if isJSONValue { + switch tag.Get("type"){ + case "jsonvalue": if len(header) == 0 { return nil } - } else if !v.IsValid() || (header == "" && v.Elem().Kind() != reflect.String) { - return nil + case "blob": + if len(header) == 0 { + return nil + } + default: + if !v.IsValid() || (header == "" && v.Elem().Kind() != reflect.String) { + return nil + } } switch v.Interface().(type) { @@ -178,7 +190,7 @@ func unmarshalHeader(v reflect.Value, header string, tag reflect.StructTag) erro if err != nil { return err } - v.Set(reflect.ValueOf(&b)) + v.Set(reflect.ValueOf(b)) case *bool: b, err := strconv.ParseBool(header) if err != nil { diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go index cf569645dc2..07a6187ea62 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/restxml/restxml.go @@ -39,7 +39,7 @@ func Build(r *request.Request) { r.Error = awserr.NewRequestFailure( awserr.New(request.ErrCodeSerialization, "failed to encode rest XML request", err), - r.HTTPResponse.StatusCode, + 0, r.RequestID, ) return diff --git a/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go b/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go index 1b95e4a7ac2..ec67f20c50e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go @@ -1957,6 +1957,9 @@ func (c *AppMesh) ListTagsForResourceRequest(input *ListTagsForResourceInput) (r // * ErrCodeBadRequestException "BadRequestException" // The request syntax was malformed. Check your request syntax and try again. // +// * ErrCodeForbiddenException "ForbiddenException" +// You don't have permissions to perform this action. +// // * ErrCodeInternalServerErrorException "InternalServerErrorException" // The request processing has failed because of an unknown error, exception, // or failure. @@ -1967,6 +1970,11 @@ func (c *AppMesh) ListTagsForResourceRequest(input *ListTagsForResourceInput) (r // * ErrCodeServiceUnavailableException "ServiceUnavailableException" // The request has failed due to a temporary failure of the service. // +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListTagsForResource func (c *AppMesh) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) @@ -2559,6 +2567,9 @@ func (c *AppMesh) TagResourceRequest(input *TagResourceInput) (req *request.Requ // * ErrCodeBadRequestException "BadRequestException" // The request syntax was malformed. Check your request syntax and try again. // +// * ErrCodeForbiddenException "ForbiddenException" +// You don't have permissions to perform this action. +// // * ErrCodeInternalServerErrorException "InternalServerErrorException" // The request processing has failed because of an unknown error, exception, // or failure. @@ -2569,6 +2580,11 @@ func (c *AppMesh) TagResourceRequest(input *TagResourceInput) (req *request.Requ // * ErrCodeServiceUnavailableException "ServiceUnavailableException" // The request has failed due to a temporary failure of the service. // +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// // * ErrCodeTooManyTagsException "TooManyTagsException" // The request exceeds the maximum allowed number of tags allowed per resource. // The current limit is 50 user tags per resource. You must reduce the number @@ -2654,6 +2670,9 @@ func (c *AppMesh) UntagResourceRequest(input *UntagResourceInput) (req *request. // * ErrCodeBadRequestException "BadRequestException" // The request syntax was malformed. Check your request syntax and try again. // +// * ErrCodeForbiddenException "ForbiddenException" +// You don't have permissions to perform this action. +// // * ErrCodeInternalServerErrorException "InternalServerErrorException" // The request processing has failed because of an unknown error, exception, // or failure. @@ -2664,6 +2683,11 @@ func (c *AppMesh) UntagResourceRequest(input *UntagResourceInput) (req *request. // * ErrCodeServiceUnavailableException "ServiceUnavailableException" // The request has failed due to a temporary failure of the service. // +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UntagResource func (c *AppMesh) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) @@ -4942,6 +4966,92 @@ func (s *FileAccessLog) SetPath(v string) *FileAccessLog { return s } +// An object representing the method and value to match the header value sent +// with a request. Specify one match method. +type HeaderMatchMethod struct { + _ struct{} `type:"structure"` + + Exact *string `locationName:"exact" min:"1" type:"string"` + + Prefix *string `locationName:"prefix" min:"1" type:"string"` + + // The range of values to match on. The first character of the range is included + // in the range, though the last character is not. For example, if the range + // specified were 1-100, only values 1-99 would be matched. + Range *MatchRange `locationName:"range" type:"structure"` + + Regex *string `locationName:"regex" min:"1" type:"string"` + + Suffix *string `locationName:"suffix" min:"1" type:"string"` +} + +// String returns the string representation +func (s HeaderMatchMethod) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HeaderMatchMethod) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HeaderMatchMethod) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HeaderMatchMethod"} + if s.Exact != nil && len(*s.Exact) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) + } + if s.Prefix != nil && len(*s.Prefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) + } + if s.Regex != nil && len(*s.Regex) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) + } + if s.Suffix != nil && len(*s.Suffix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) + } + if s.Range != nil { + if err := s.Range.Validate(); err != nil { + invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExact sets the Exact field's value. +func (s *HeaderMatchMethod) SetExact(v string) *HeaderMatchMethod { + s.Exact = &v + return s +} + +// SetPrefix sets the Prefix field's value. +func (s *HeaderMatchMethod) SetPrefix(v string) *HeaderMatchMethod { + s.Prefix = &v + return s +} + +// SetRange sets the Range field's value. +func (s *HeaderMatchMethod) SetRange(v *MatchRange) *HeaderMatchMethod { + s.Range = v + return s +} + +// SetRegex sets the Regex field's value. +func (s *HeaderMatchMethod) SetRegex(v string) *HeaderMatchMethod { + s.Regex = &v + return s +} + +// SetSuffix sets the Suffix field's value. +func (s *HeaderMatchMethod) SetSuffix(v string) *HeaderMatchMethod { + s.Suffix = &v + return s +} + // An object representing the health check policy for a virtual node's listener. type HealthCheckPolicy struct { _ struct{} `type:"structure"` @@ -5174,13 +5284,82 @@ func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteActi return s } +// An object representing the HTTP header in the request. +type HttpRouteHeader struct { + _ struct{} `type:"structure"` + + Invert *bool `locationName:"invert" type:"boolean"` + + // An object representing the method and value to match the header value sent + // with a request. Specify one match method. + Match *HeaderMatchMethod `locationName:"match" type:"structure"` + + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s HttpRouteHeader) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpRouteHeader) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpRouteHeader) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRouteHeader"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Match != nil { + if err := s.Match.Validate(); err != nil { + invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInvert sets the Invert field's value. +func (s *HttpRouteHeader) SetInvert(v bool) *HttpRouteHeader { + s.Invert = &v + return s +} + +// SetMatch sets the Match field's value. +func (s *HttpRouteHeader) SetMatch(v *HeaderMatchMethod) *HttpRouteHeader { + s.Match = v + return s +} + +// SetName sets the Name field's value. +func (s *HttpRouteHeader) SetName(v string) *HttpRouteHeader { + s.Name = &v + return s +} + // An object representing the requirements for a route to match HTTP requests // for a virtual router. type HttpRouteMatch struct { _ struct{} `type:"structure"` + Headers []*HttpRouteHeader `locationName:"headers" min:"1" type:"list"` + + Method *string `locationName:"method" type:"string" enum:"HttpMethod"` + // Prefix is a required field Prefix *string `locationName:"prefix" type:"string" required:"true"` + + Scheme *string `locationName:"scheme" type:"string" enum:"HttpScheme"` } // String returns the string representation @@ -5196,9 +5375,22 @@ func (s HttpRouteMatch) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *HttpRouteMatch) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpRouteMatch"} + if s.Headers != nil && len(s.Headers) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Headers", 1)) + } if s.Prefix == nil { invalidParams.Add(request.NewErrParamRequired("Prefix")) } + if s.Headers != nil { + for i, v := range s.Headers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Headers", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -5206,12 +5398,30 @@ func (s *HttpRouteMatch) Validate() error { return nil } +// SetHeaders sets the Headers field's value. +func (s *HttpRouteMatch) SetHeaders(v []*HttpRouteHeader) *HttpRouteMatch { + s.Headers = v + return s +} + +// SetMethod sets the Method field's value. +func (s *HttpRouteMatch) SetMethod(v string) *HttpRouteMatch { + s.Method = &v + return s +} + // SetPrefix sets the Prefix field's value. func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch { s.Prefix = &v return s } +// SetScheme sets the Scheme field's value. +func (s *HttpRouteMatch) SetScheme(v string) *HttpRouteMatch { + s.Scheme = &v + return s +} + type ListMeshesInput struct { _ struct{} `type:"structure"` @@ -5840,6 +6050,57 @@ func (s *Logging) SetAccessLog(v *AccessLog) *Logging { return s } +// The range of values to match on. The first character of the range is included +// in the range, though the last character is not. For example, if the range +// specified were 1-100, only values 1-99 would be matched. +type MatchRange struct { + _ struct{} `type:"structure"` + + // End is a required field + End *int64 `locationName:"end" type:"long" required:"true"` + + // Start is a required field + Start *int64 `locationName:"start" type:"long" required:"true"` +} + +// String returns the string representation +func (s MatchRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MatchRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MatchRange"} + if s.End == nil { + invalidParams.Add(request.NewErrParamRequired("End")) + } + if s.Start == nil { + invalidParams.Add(request.NewErrParamRequired("Start")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnd sets the End field's value. +func (s *MatchRange) SetEnd(v int64) *MatchRange { + s.End = &v + return s +} + +// SetStart sets the Start field's value. +func (s *MatchRange) SetStart(v int64) *MatchRange { + s.Start = &v + return s +} + // An object representing a service mesh returned by a describe operation. type MeshData struct { _ struct{} `type:"structure"` @@ -6237,6 +6498,8 @@ type RouteSpec struct { // An object representing the HTTP routing specification for a route. HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"` + Priority *int64 `locationName:"priority" type:"integer"` + // An object representing the TCP routing specification for a route. TcpRoute *TcpRoute `locationName:"tcpRoute" type:"structure"` } @@ -6277,6 +6540,12 @@ func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec { return s } +// SetPriority sets the Priority field's value. +func (s *RouteSpec) SetPriority(v int64) *RouteSpec { + s.Priority = &v + return s +} + // SetTcpRoute sets the TcpRoute field's value. func (s *RouteSpec) SetTcpRoute(v *TcpRoute) *RouteSpec { s.TcpRoute = v @@ -8015,6 +8284,43 @@ const ( EgressFilterTypeDropAll = "DROP_ALL" ) +const ( + // HttpMethodConnect is a HttpMethod enum value + HttpMethodConnect = "CONNECT" + + // HttpMethodDelete is a HttpMethod enum value + HttpMethodDelete = "DELETE" + + // HttpMethodGet is a HttpMethod enum value + HttpMethodGet = "GET" + + // HttpMethodHead is a HttpMethod enum value + HttpMethodHead = "HEAD" + + // HttpMethodOptions is a HttpMethod enum value + HttpMethodOptions = "OPTIONS" + + // HttpMethodPatch is a HttpMethod enum value + HttpMethodPatch = "PATCH" + + // HttpMethodPost is a HttpMethod enum value + HttpMethodPost = "POST" + + // HttpMethodPut is a HttpMethod enum value + HttpMethodPut = "PUT" + + // HttpMethodTrace is a HttpMethod enum value + HttpMethodTrace = "TRACE" +) + +const ( + // HttpSchemeHttp is a HttpScheme enum value + HttpSchemeHttp = "http" + + // HttpSchemeHttps is a HttpScheme enum value + HttpSchemeHttps = "https" +) + const ( // MeshStatusCodeActive is a MeshStatusCode enum value MeshStatusCodeActive = "ACTIVE" diff --git a/vendor/github.com/aws/aws-sdk-go/service/athena/api.go b/vendor/github.com/aws/aws-sdk-go/service/athena/api.go index f1b608c572d..a74c53d10ed 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/athena/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/athena/api.go @@ -2718,7 +2718,7 @@ type GetQueryResultsInput struct { _ struct{} `type:"structure"` // The maximum number of results (rows) to return in this request. - MaxResults *int64 `type:"integer"` + MaxResults *int64 `min:"1" type:"integer"` // The token that specifies where to start pagination if a previous request // was truncated. @@ -2743,6 +2743,9 @@ func (s GetQueryResultsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *GetQueryResultsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetQueryResultsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } @@ -3534,8 +3537,7 @@ func (s *QueryExecutionStatus) SetSubmissionDateTime(v time.Time) *QueryExecutio // The location in Amazon S3 where query results are stored and the encryption // option, if any, used for query results. These are known as "client-side settings". // If workgroup settings override client-side settings, then the query uses -// the location for the query results and the encryption configuration that -// are specified for the workgroup. +// the workgroup settings. type ResultConfiguration struct { _ struct{} `type:"structure"` @@ -3549,12 +3551,13 @@ type ResultConfiguration struct { EncryptionConfiguration *EncryptionConfiguration `type:"structure"` // The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/. - // For more information, see Queries and Query Result Files. (https://docs.aws.amazon.com/athena/latest/ug/querying.html) + // To run the query, you must specify the query results location using one of + // the ways: either for individual queries using either this setting (client-side), + // or in the workgroup, using WorkGroupConfiguration. If none of them is set, + // Athena issues an error that no output location is provided. For more information, + // see Query Results (https://docs.aws.amazon.com/athena/latest/ug/querying.html). // If workgroup settings override client-side settings, then the query uses - // the location for the query results and the encryption configuration that - // are specified for the workgroup. The "workgroup settings override" is specified - // in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. - // See WorkGroupConfiguration$EnforceWorkGroupConfiguration. + // the settings specified for the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration. OutputLocation *string `type:"string"` } @@ -3604,7 +3607,7 @@ type ResultConfigurationUpdates struct { EncryptionConfiguration *EncryptionConfiguration `type:"structure"` // The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/. - // For more information, see Queries and Query Result Files. (https://docs.aws.amazon.com/athena/latest/ug/querying.html) + // For more information, see Query Results (https://docs.aws.amazon.com/athena/latest/ug/querying.html) // If workgroup settings override client-side settings, then the query uses // the location for the query results and the encryption configuration that // are specified for the workgroup. The "workgroup settings override" is specified @@ -4323,8 +4326,8 @@ type WorkGroup struct { // S3 where query results are stored, the encryption configuration, if any, // used for query results; whether the Amazon CloudWatch Metrics are enabled // for the workgroup; whether workgroup settings override client-side settings; - // and the data usage limit for the amount of data scanned per query, if it - // is specified. The workgroup settings override is specified in EnforceWorkGroupConfiguration + // and the data usage limits for the amount of data scanned per query or per + // workgroup. The workgroup settings override is specified in EnforceWorkGroupConfiguration // (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration. Configuration *WorkGroupConfiguration `type:"structure"` @@ -4387,7 +4390,7 @@ func (s *WorkGroup) SetState(v string) *WorkGroup { // S3 where query results are stored, the encryption option, if any, used for // query results, whether the Amazon CloudWatch Metrics are enabled for the // workgroup and whether workgroup settings override query settings, and the -// data usage limit for the amount of data scanned per query, if it is specified. +// data usage limits for the amount of data scanned per query or per workgroup. // The workgroup settings override is specified in EnforceWorkGroupConfiguration // (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration. type WorkGroupConfiguration struct { @@ -4405,9 +4408,22 @@ type WorkGroupConfiguration struct { // Indicates that the Amazon CloudWatch metrics are enabled for the workgroup. PublishCloudWatchMetricsEnabled *bool `type:"boolean"` + // If set to true, allows members assigned to a workgroup to reference Amazon + // S3 Requester Pays buckets in queries. If set to false, workgroup members + // cannot query data from Requester Pays buckets, and queries that retrieve + // data from Requester Pays buckets cause an error. The default is false. For + // more information about Requester Pays buckets, see Requester Pays Buckets + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) + // in the Amazon Simple Storage Service Developer Guide. + RequesterPaysEnabled *bool `type:"boolean"` + // The configuration for the workgroup, which includes the location in Amazon // S3 where query results are stored and the encryption option, if any, used - // for query results. + // for query results. To run the query, you must specify the query results location + // using one of the ways: either in the workgroup using this setting, or for + // individual queries (client-side), using ResultConfiguration$OutputLocation. + // If none of them is set, Athena issues an error that no output location is + // provided. For more information, see Query Results (https://docs.aws.amazon.com/athena/latest/ug/querying.html). ResultConfiguration *ResultConfiguration `type:"structure"` } @@ -4457,6 +4473,12 @@ func (s *WorkGroupConfiguration) SetPublishCloudWatchMetricsEnabled(v bool) *Wor return s } +// SetRequesterPaysEnabled sets the RequesterPaysEnabled field's value. +func (s *WorkGroupConfiguration) SetRequesterPaysEnabled(v bool) *WorkGroupConfiguration { + s.RequesterPaysEnabled = &v + return s +} + // SetResultConfiguration sets the ResultConfiguration field's value. func (s *WorkGroupConfiguration) SetResultConfiguration(v *ResultConfiguration) *WorkGroupConfiguration { s.ResultConfiguration = v @@ -4487,6 +4509,15 @@ type WorkGroupConfigurationUpdates struct { // Indicates that the data usage control limit per query is removed. WorkGroupConfiguration$BytesScannedCutoffPerQuery RemoveBytesScannedCutoffPerQuery *bool `type:"boolean"` + // If set to true, allows members assigned to a workgroup to specify Amazon + // S3 Requester Pays buckets in queries. If set to false, workgroup members + // cannot query data from Requester Pays buckets, and queries that retrieve + // data from Requester Pays buckets cause an error. The default is false. For + // more information about Requester Pays buckets, see Requester Pays Buckets + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) + // in the Amazon Simple Storage Service Developer Guide. + RequesterPaysEnabled *bool `type:"boolean"` + // The result configuration information about the queries in this workgroup // that will be updated. Includes the updated results location and an updated // option for encrypting query results. @@ -4545,6 +4576,12 @@ func (s *WorkGroupConfigurationUpdates) SetRemoveBytesScannedCutoffPerQuery(v bo return s } +// SetRequesterPaysEnabled sets the RequesterPaysEnabled field's value. +func (s *WorkGroupConfigurationUpdates) SetRequesterPaysEnabled(v bool) *WorkGroupConfigurationUpdates { + s.RequesterPaysEnabled = &v + return s +} + // SetResultConfigurationUpdates sets the ResultConfigurationUpdates field's value. func (s *WorkGroupConfigurationUpdates) SetResultConfigurationUpdates(v *ResultConfigurationUpdates) *WorkGroupConfigurationUpdates { s.ResultConfigurationUpdates = v diff --git a/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go b/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go index 5bd662a00df..4288448dbb5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go @@ -162,6 +162,117 @@ func (c *CodeCommit) BatchDescribeMergeConflictsWithContext(ctx aws.Context, inp return out, req.Send() } +const opBatchGetCommits = "BatchGetCommits" + +// BatchGetCommitsRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetCommits operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchGetCommits for more information on using the BatchGetCommits +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchGetCommitsRequest method. +// req, resp := client.BatchGetCommitsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchGetCommits +func (c *CodeCommit) BatchGetCommitsRequest(input *BatchGetCommitsInput) (req *request.Request, output *BatchGetCommitsOutput) { + op := &request.Operation{ + Name: opBatchGetCommits, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchGetCommitsInput{} + } + + output = &BatchGetCommitsOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetCommits API operation for AWS CodeCommit. +// +// Returns information about the contents of one or more commits in a repository. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation BatchGetCommits for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCommitIdsListRequiredException "CommitIdsListRequiredException" +// +// * ErrCodeCommitIdsLimitExceededException "CommitIdsLimitExceededException" +// The maximum number of allowed commit IDs in a batch request is 100. Verify +// that your batch requests contains no more than 100 commit IDs, and then try +// again. +// +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required but was not specified. +// +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// At least one specified repository name is not valid. +// +// This exception only occurs when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchGetCommits +func (c *CodeCommit) BatchGetCommits(input *BatchGetCommitsInput) (*BatchGetCommitsOutput, error) { + req, out := c.BatchGetCommitsRequest(input) + return out, req.Send() +} + +// BatchGetCommitsWithContext is the same as BatchGetCommits with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetCommits for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) BatchGetCommitsWithContext(ctx aws.Context, input *BatchGetCommitsInput, opts ...request.Option) (*BatchGetCommitsOutput, error) { + req, out := c.BatchGetCommitsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opBatchGetRepositories = "BatchGetRepositories" // BatchGetRepositoriesRequest generates a "aws/request.Request" representing the @@ -7978,6 +8089,142 @@ func (s *BatchDescribeMergeConflictsOutput) SetSourceCommitId(v string) *BatchDe return s } +// Returns information about errors in a BatchGetCommits operation. +type BatchGetCommitsError struct { + _ struct{} `type:"structure"` + + // A commit ID that either could not be found or was not in a valid format. + CommitId *string `locationName:"commitId" type:"string"` + + // An error code that specifies whether the commit ID was not valid or not found. + ErrorCode *string `locationName:"errorCode" type:"string"` + + // An error message that provides detail about why the commit ID either was + // not found or was not valid. + ErrorMessage *string `locationName:"errorMessage" type:"string"` +} + +// String returns the string representation +func (s BatchGetCommitsError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetCommitsError) GoString() string { + return s.String() +} + +// SetCommitId sets the CommitId field's value. +func (s *BatchGetCommitsError) SetCommitId(v string) *BatchGetCommitsError { + s.CommitId = &v + return s +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchGetCommitsError) SetErrorCode(v string) *BatchGetCommitsError { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *BatchGetCommitsError) SetErrorMessage(v string) *BatchGetCommitsError { + s.ErrorMessage = &v + return s +} + +type BatchGetCommitsInput struct { + _ struct{} `type:"structure"` + + // The full commit IDs of the commits to get information about. + // + // You must supply the full SHAs of each commit. You cannot use shortened SHAs. + // + // CommitIds is a required field + CommitIds []*string `locationName:"commitIds" type:"list" required:"true"` + + // The name of the repository that contains the commits. + // + // RepositoryName is a required field + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s BatchGetCommitsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetCommitsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetCommitsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetCommitsInput"} + if s.CommitIds == nil { + invalidParams.Add(request.NewErrParamRequired("CommitIds")) + } + if s.RepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryName")) + } + if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCommitIds sets the CommitIds field's value. +func (s *BatchGetCommitsInput) SetCommitIds(v []*string) *BatchGetCommitsInput { + s.CommitIds = v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *BatchGetCommitsInput) SetRepositoryName(v string) *BatchGetCommitsInput { + s.RepositoryName = &v + return s +} + +type BatchGetCommitsOutput struct { + _ struct{} `type:"structure"` + + // An array of commit data type objects, each of which contains information + // about a specified commit. + Commits []*Commit `locationName:"commits" type:"list"` + + // Returns any commit IDs for which information could not be found. For example, + // if one of the commit IDs was a shortened SHA or that commit was not found + // in the specified repository, the ID will return an error object with additional + // information. + Errors []*BatchGetCommitsError `locationName:"errors" type:"list"` +} + +// String returns the string representation +func (s BatchGetCommitsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetCommitsOutput) GoString() string { + return s.String() +} + +// SetCommits sets the Commits field's value. +func (s *BatchGetCommitsOutput) SetCommits(v []*Commit) *BatchGetCommitsOutput { + s.Commits = v + return s +} + +// SetErrors sets the Errors field's value. +func (s *BatchGetCommitsOutput) SetErrors(v []*BatchGetCommitsError) *BatchGetCommitsOutput { + s.Errors = v + return s +} + // Represents the input of a batch get repositories operation. type BatchGetRepositoriesInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go b/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go index 9a9e7a37e01..9ee44edfbe4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go @@ -60,6 +60,9 @@ // // Commits, by calling the following: // +// * BatchGetCommits, which returns information about one or more commits +// in a repository +// // * CreateCommit, which creates a commit for changes to a repository. // // * GetCommit, which returns information about a commit, including commit diff --git a/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go b/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go index 2655d6b6a81..210448016d7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go @@ -130,6 +130,18 @@ const ( // A commit ID was not specified. ErrCodeCommitIdRequiredException = "CommitIdRequiredException" + // ErrCodeCommitIdsLimitExceededException for service response error code + // "CommitIdsLimitExceededException". + // + // The maximum number of allowed commit IDs in a batch request is 100. Verify + // that your batch requests contains no more than 100 commit IDs, and then try + // again. + ErrCodeCommitIdsLimitExceededException = "CommitIdsLimitExceededException" + + // ErrCodeCommitIdsListRequiredException for service response error code + // "CommitIdsListRequiredException". + ErrCodeCommitIdsListRequiredException = "CommitIdsListRequiredException" + // ErrCodeCommitMessageLengthExceededException for service response error code // "CommitMessageLengthExceededException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go index 88ee4481059..46efb54c1a5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go @@ -229,6 +229,90 @@ func (c *CostandUsageReportService) DescribeReportDefinitionsPagesWithContext(ct return p.Err() } +const opModifyReportDefinition = "ModifyReportDefinition" + +// ModifyReportDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the ModifyReportDefinition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyReportDefinition for more information on using the ModifyReportDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ModifyReportDefinitionRequest method. +// req, resp := client.ModifyReportDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/ModifyReportDefinition +func (c *CostandUsageReportService) ModifyReportDefinitionRequest(input *ModifyReportDefinitionInput) (req *request.Request, output *ModifyReportDefinitionOutput) { + op := &request.Operation{ + Name: opModifyReportDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyReportDefinitionInput{} + } + + output = &ModifyReportDefinitionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// ModifyReportDefinition API operation for AWS Cost and Usage Report Service. +// +// Allows you to programatically update your report preferences. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Cost and Usage Report Service's +// API operation ModifyReportDefinition for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalErrorException" +// An error on the server occurred during the processing of your request. Try +// again later. +// +// * ErrCodeValidationException "ValidationException" +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cur-2017-01-06/ModifyReportDefinition +func (c *CostandUsageReportService) ModifyReportDefinition(input *ModifyReportDefinitionInput) (*ModifyReportDefinitionOutput, error) { + req, out := c.ModifyReportDefinitionRequest(input) + return out, req.Send() +} + +// ModifyReportDefinitionWithContext is the same as ModifyReportDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyReportDefinition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CostandUsageReportService) ModifyReportDefinitionWithContext(ctx aws.Context, input *ModifyReportDefinitionInput, opts ...request.Option) (*ModifyReportDefinitionOutput, error) { + req, out := c.ModifyReportDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutReportDefinition = "PutReportDefinition" // PutReportDefinitionRequest generates a "aws/request.Request" representing the @@ -449,6 +533,80 @@ func (s *DescribeReportDefinitionsOutput) SetReportDefinitions(v []*ReportDefini return s } +type ModifyReportDefinitionInput struct { + _ struct{} `type:"structure"` + + // The definition of AWS Cost and Usage Report. You can specify the report name, + // time unit, report format, compression format, S3 bucket, additional artifacts, + // and schema elements in the definition. + // + // ReportDefinition is a required field + ReportDefinition *ReportDefinition `type:"structure" required:"true"` + + // The name of the report that you want to create. The name must be unique, + // is case sensitive, and can't include spaces. + // + // ReportName is a required field + ReportName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ModifyReportDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyReportDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyReportDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyReportDefinitionInput"} + if s.ReportDefinition == nil { + invalidParams.Add(request.NewErrParamRequired("ReportDefinition")) + } + if s.ReportName == nil { + invalidParams.Add(request.NewErrParamRequired("ReportName")) + } + if s.ReportDefinition != nil { + if err := s.ReportDefinition.Validate(); err != nil { + invalidParams.AddNested("ReportDefinition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReportDefinition sets the ReportDefinition field's value. +func (s *ModifyReportDefinitionInput) SetReportDefinition(v *ReportDefinition) *ModifyReportDefinitionInput { + s.ReportDefinition = v + return s +} + +// SetReportName sets the ReportName field's value. +func (s *ModifyReportDefinitionInput) SetReportName(v string) *ModifyReportDefinitionInput { + s.ReportName = &v + return s +} + +type ModifyReportDefinitionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ModifyReportDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyReportDefinitionOutput) GoString() string { + return s.String() +} + // Creates a Cost and Usage Report. type PutReportDefinitionInput struct { _ struct{} `type:"structure"` @@ -714,6 +872,9 @@ const ( // AWSRegionApNortheast3 is a AWSRegion enum value AWSRegionApNortheast3 = "ap-northeast-3" + + // AWSRegionApEast1 is a AWSRegion enum value + AWSRegionApEast1 = "ap-east-1" ) // The types of manifest that you want AWS to create for this report. diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go index 0385cb15b4f..77f56a01fab 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go @@ -24121,6 +24121,12 @@ func (c *EC2) GetCapacityReservationUsageRequest(input *GetCapacityReservationUs // GetCapacityReservationUsage API operation for Amazon Elastic Compute Cloud. // +// Gets usage information about a Capacity Reservation. If the Capacity Reservation +// is shared, it shows usage information for the Capacity Reservation owner +// and each AWS account that is currently using the shared capacity. If the +// Capacity Reservation is not shared, it shows only the Capacity Reservation +// owner's usage. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -25943,8 +25949,35 @@ func (c *EC2) ModifyFleetRequest(input *ModifyFleetInput) (req *request.Request, // // Modifies the specified EC2 Fleet. // +// You can only modify an EC2 Fleet request of type maintain. +// // While the EC2 Fleet is being modified, it is in the modifying state. // +// To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet launches +// the additional Spot Instances according to the allocation strategy for the +// EC2 Fleet request. If the allocation strategy is lowestPrice, the EC2 Fleet +// launches instances using the Spot Instance pool with the lowest price. If +// the allocation strategy is diversified, the EC2 Fleet distributes the instances +// across the Spot Instance pools. If the allocation strategy is capacityOptimized, +// EC2 Fleet launches instances from Spot Instance pools that are optimally +// chosen based on the available Spot Instance capacity. +// +// To scale down your EC2 Fleet, decrease its target capacity. First, the EC2 +// Fleet cancels any open requests that exceed the new target capacity. You +// can request that the EC2 Fleet terminate Spot Instances until the size of +// the fleet no longer exceeds the new target capacity. If the allocation strategy +// is lowestPrice, the EC2 Fleet terminates the instances with the highest price +// per unit. If the allocation strategy is capacityOptimized, the EC2 Fleet +// terminates the instances in the Spot Instance pools that have the least available +// Spot Instance capacity. If the allocation strategy is diversified, the EC2 +// Fleet terminates instances across the Spot Instance pools. Alternatively, +// you can request that the EC2 Fleet keep the fleet at its current size, but +// not replace any Spot Instances that are interrupted or that you terminate +// manually. +// +// If you are finished with your EC2 Fleet for now, but will use it again later, +// you can set the target capacity to 0. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -27097,6 +27130,7 @@ func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput // or remove specified AWS account IDs from a snapshot's list of create volume // permissions, but you cannot do both in a single operation. If you need to // both add and remove account IDs for a snapshot, you must use multiple operations. +// You can make up to 500 modifications to a snapshot in a single operation. // // Encrypted snapshots and snapshots with AWS Marketplace product codes cannot // be made public. Snapshots encrypted with your default CMK cannot be shared @@ -27187,19 +27221,24 @@ func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) // To scale up your Spot Fleet, increase its target capacity. The Spot Fleet // launches the additional Spot Instances according to the allocation strategy // for the Spot Fleet request. If the allocation strategy is lowestPrice, the -// Spot Fleet launches instances using the Spot pool with the lowest price. -// If the allocation strategy is diversified, the Spot Fleet distributes the -// instances across the Spot pools. +// Spot Fleet launches instances using the Spot Instance pool with the lowest +// price. If the allocation strategy is diversified, the Spot Fleet distributes +// the instances across the Spot Instance pools. If the allocation strategy +// is capacityOptimized, Spot Fleet launches instances from Spot Instance pools +// that are optimally chosen based on the available Spot Instance capacity. // // To scale down your Spot Fleet, decrease its target capacity. First, the Spot // Fleet cancels any open requests that exceed the new target capacity. You // can request that the Spot Fleet terminate Spot Instances until the size of // the fleet no longer exceeds the new target capacity. If the allocation strategy // is lowestPrice, the Spot Fleet terminates the instances with the highest -// price per unit. If the allocation strategy is diversified, the Spot Fleet -// terminates instances across the Spot pools. Alternatively, you can request -// that the Spot Fleet keep the fleet at its current size, but not replace any -// Spot Instances that are interrupted or that you terminate manually. +// price per unit. If the allocation strategy is capacityOptimized, the Spot +// Fleet terminates the instances in the Spot Instance pools that have the least +// available Spot Instance capacity. If the allocation strategy is diversified, +// the Spot Fleet terminates instances across the Spot Instance pools. Alternatively, +// you can request that the Spot Fleet keep the fleet at its current size, but +// not replace any Spot Instances that are interrupted or that you terminate +// manually. // // If you are finished with your Spot Fleet for now, but will use it again later, // you can set the target capacity to 0. @@ -28484,6 +28523,80 @@ func (c *EC2) ModifyVpnConnectionWithContext(ctx aws.Context, input *ModifyVpnCo return out, req.Send() } +const opModifyVpnTunnelCertificate = "ModifyVpnTunnelCertificate" + +// ModifyVpnTunnelCertificateRequest generates a "aws/request.Request" representing the +// client's request for the ModifyVpnTunnelCertificate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyVpnTunnelCertificate for more information on using the ModifyVpnTunnelCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ModifyVpnTunnelCertificateRequest method. +// req, resp := client.ModifyVpnTunnelCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate +func (c *EC2) ModifyVpnTunnelCertificateRequest(input *ModifyVpnTunnelCertificateInput) (req *request.Request, output *ModifyVpnTunnelCertificateOutput) { + op := &request.Operation{ + Name: opModifyVpnTunnelCertificate, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyVpnTunnelCertificateInput{} + } + + output = &ModifyVpnTunnelCertificateOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyVpnTunnelCertificate API operation for Amazon Elastic Compute Cloud. +// +// Modifies the VPN tunnel endpoint certificate. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyVpnTunnelCertificate for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate +func (c *EC2) ModifyVpnTunnelCertificate(input *ModifyVpnTunnelCertificateInput) (*ModifyVpnTunnelCertificateOutput, error) { + req, out := c.ModifyVpnTunnelCertificateRequest(input) + return out, req.Send() +} + +// ModifyVpnTunnelCertificateWithContext is the same as ModifyVpnTunnelCertificate with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyVpnTunnelCertificate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyVpnTunnelCertificateWithContext(ctx aws.Context, input *ModifyVpnTunnelCertificateInput, opts ...request.Option) (*ModifyVpnTunnelCertificateOutput, error) { + req, out := c.ModifyVpnTunnelCertificateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opMonitorInstances = "MonitorInstances" // MonitorInstancesRequest generates a "aws/request.Request" representing the @@ -30179,10 +30292,10 @@ func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *reques // You can submit a single request that includes multiple launch specifications // that vary by instance type, AMI, Availability Zone, or subnet. // -// By default, the Spot Fleet requests Spot Instances in the Spot pool where -// the price per unit is the lowest. Each launch specification can include its -// own instance weighting that reflects the value of the instance type to your -// application workload. +// By default, the Spot Fleet requests Spot Instances in the Spot Instance pool +// where the price per unit is the lowest. Each launch specification can include +// its own instance weighting that reflects the value of the instance type to +// your application workload. // // Alternatively, you can specify that the Spot Fleet distribute the target // capacity across the Spot pools included in its launch specifications. By @@ -31384,6 +31497,98 @@ func (c *EC2) SearchTransitGatewayRoutesWithContext(ctx aws.Context, input *Sear return out, req.Send() } +const opSendDiagnosticInterrupt = "SendDiagnosticInterrupt" + +// SendDiagnosticInterruptRequest generates a "aws/request.Request" representing the +// client's request for the SendDiagnosticInterrupt operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SendDiagnosticInterrupt for more information on using the SendDiagnosticInterrupt +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the SendDiagnosticInterruptRequest method. +// req, resp := client.SendDiagnosticInterruptRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt +func (c *EC2) SendDiagnosticInterruptRequest(input *SendDiagnosticInterruptInput) (req *request.Request, output *SendDiagnosticInterruptOutput) { + op := &request.Operation{ + Name: opSendDiagnosticInterrupt, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SendDiagnosticInterruptInput{} + } + + output = &SendDiagnosticInterruptOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// SendDiagnosticInterrupt API operation for Amazon Elastic Compute Cloud. +// +// Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger +// a kernel panic (on Linux instances), or a blue screen/stop error (on Windows +// instances). For instances based on Intel and AMD processors, the interrupt +// is received as a non-maskable interrupt (NMI). +// +// In general, the operating system crashes and reboots when a kernel panic +// or stop error is triggered. The operating system can also be configured to +// perform diagnostic tasks, such as generating a memory dump file, loading +// a secondary kernel, or obtaining a call trace. +// +// Before sending a diagnostic interrupt to your instance, ensure that its operating +// system is configured to perform the required diagnostic tasks. +// +// For more information about configuring your operating system to generate +// a crash dump when a kernel panic or stop error occurs, see Send a Diagnostic +// Interrupt (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#diagnostic-interrupt) +// (Linux instances) or Send a Diagnostic Interrupt (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/unreachable-instance.html#diagnostic-interrupt) +// (Windows instances). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation SendDiagnosticInterrupt for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt +func (c *EC2) SendDiagnosticInterrupt(input *SendDiagnosticInterruptInput) (*SendDiagnosticInterruptOutput, error) { + req, out := c.SendDiagnosticInterruptRequest(input) + return out, req.Send() +} + +// SendDiagnosticInterruptWithContext is the same as SendDiagnosticInterrupt with the addition of +// the ability to pass a context and additional request options. +// +// See SendDiagnosticInterrupt for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) SendDiagnosticInterruptWithContext(ctx aws.Context, input *SendDiagnosticInterruptInput, opts ...request.Option) (*SendDiagnosticInterruptOutput, error) { + req, out := c.SendDiagnosticInterruptRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartInstances = "StartInstances" // StartInstancesRequest generates a "aws/request.Request" representing the @@ -36457,12 +36662,14 @@ type CapacityReservation struct { // The Availability Zone in which the capacity is reserved. AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + // The Availability Zone ID of the Capacity Reservation. AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"` // The remaining capacity. Indicates the number of instances that can be launched // in the Capacity Reservation. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"` + // The Amazon Resource Name (ARN) of the Capacity Reservation. CapacityReservationArn *string `locationName:"capacityReservationArn" type:"string"` // The ID of the Capacity Reservation. @@ -36519,6 +36726,7 @@ type CapacityReservation struct { // The type of instance for which the Capacity Reservation reserves capacity. InstanceType *string `locationName:"instanceType" type:"string"` + // The ID of the AWS account that owns the Capacity Reservation. OwnerId *string `locationName:"ownerId" type:"string"` // The current state of the Capacity Reservation. A Capacity Reservation can @@ -36527,11 +36735,11 @@ type CapacityReservation struct { // * active - The Capacity Reservation is active and the capacity is available // for your use. // - // * cancelled - The Capacity Reservation expired automatically at the date + // * expired - The Capacity Reservation expired automatically at the date // and time specified in your request. The reserved capacity is no longer // available for your use. // - // * expired - The Capacity Reservation was manually cancelled. The reserved + // * cancelled - The Capacity Reservation was manually cancelled. The reserved // capacity is no longer available for your use. // // * pending - The Capacity Reservation request was successful but the capacity @@ -36555,7 +36763,8 @@ type CapacityReservation struct { // that is dedicated to a single AWS account. Tenancy *string `locationName:"tenancy" type:"string" enum:"CapacityReservationTenancy"` - // The number of instances for which the Capacity Reservation reserves capacity. + // The total number of instances for which the Capacity Reservation reserves + // capacity. TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"` } @@ -37515,8 +37724,7 @@ type ClientVpnEndpoint struct { // The ARN of the server certificate. ServerCertificateArn *string `locationName:"serverCertificateArn" type:"string"` - // Indicates whether split-tunnel is enabled in the AWS Client VPN endpoint - // endpoint. + // Indicates whether split-tunnel is enabled in the AWS Client VPN endpoint. // // For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client // VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html) @@ -38683,6 +38891,7 @@ type CreateCapacityReservationInput struct { // The Availability Zone in which to create the Capacity Reservation. AvailabilityZone *string `type:"string"` + // The ID of the Availability Zone in which to create the Capacity Reservation. AvailabilityZoneId *string `type:"string"` // Unique, case-sensitive identifier that you provide to ensure the idempotency @@ -38958,8 +39167,7 @@ type CreateClientVpnEndpointInput struct { // Information about the DNS servers to be used for DNS resolution. A Client // VPN endpoint can have up to two DNS servers. If no DNS server is specified, - // the DNS address of the VPC that is to be associated with Client VPN endpoint - // is used as the DNS server. + // the DNS address configured on the device is used for the DNS server. DnsServers []*string `locationNameList:"item" type:"list"` // Checks whether you have the required permissions for the action, without @@ -38974,8 +39182,7 @@ type CreateClientVpnEndpointInput struct { // ServerCertificateArn is a required field ServerCertificateArn *string `type:"string" required:"true"` - // Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint - // endpoint. + // Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint. // // By default, split-tunnel on a VPN endpoint is disabled. // @@ -39274,6 +39481,9 @@ type CreateCustomerGatewayInput struct { // BgpAsn is a required field BgpAsn *int64 `type:"integer" required:"true"` + // The Amazon Resource Name (ARN) for the customer gateway certificate. + CertificateArn *string `type:"string"` + // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have // the required permissions, the error response is DryRunOperation. Otherwise, @@ -39282,9 +39492,7 @@ type CreateCustomerGatewayInput struct { // The Internet-routable IP address for the customer gateway's outside interface. // The address must be static. - // - // PublicIp is a required field - PublicIp *string `locationName:"IpAddress" type:"string" required:"true"` + PublicIp *string `locationName:"IpAddress" type:"string"` // The type of VPN connection that this customer gateway supports (ipsec.1). // @@ -39308,9 +39516,6 @@ func (s *CreateCustomerGatewayInput) Validate() error { if s.BgpAsn == nil { invalidParams.Add(request.NewErrParamRequired("BgpAsn")) } - if s.PublicIp == nil { - invalidParams.Add(request.NewErrParamRequired("PublicIp")) - } if s.Type == nil { invalidParams.Add(request.NewErrParamRequired("Type")) } @@ -39327,6 +39532,12 @@ func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayIn return s } +// SetCertificateArn sets the CertificateArn field's value. +func (s *CreateCustomerGatewayInput) SetCertificateArn(v string) *CreateCustomerGatewayInput { + s.CertificateArn = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput { s.DryRun = &v @@ -40835,7 +41046,9 @@ type CreateLaunchTemplateVersionInput struct { // The version number of the launch template version on which to base the new // version. The new version inherits the same launch parameters as the source - // version, except for parameters that you specify in LaunchTemplateData. + // version, except for parameters that you specify in LaunchTemplateData. Snapshots + // applied to the block device mapping are ignored when creating a new version + // unless they are explicitly included. SourceVersion *string `type:"string"` // A description for the version of the launch template. @@ -43607,10 +43820,7 @@ type CreateVolumeInput struct { // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard // for Magnetic volumes. // - // Defaults: If no volume type is specified, the default is standard in us-east-1, - // eu-west-1, eu-central-1, us-west-2, us-west-1, sa-east-1, ap-northeast-1, - // ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-south-1, us-gov-west-1, - // and cn-north-1. In all other Regions, EBS defaults to gp2. + // Default: gp2 VolumeType *string `type:"string" enum:"VolumeType"` } @@ -44718,6 +44928,9 @@ type CustomerGateway struct { // (ASN). BgpAsn *string `locationName:"bgpAsn" type:"string"` + // The Amazon Resource Name (ARN) for the customer gateway certificate. + CertificateArn *string `locationName:"certificateArn" type:"string"` + // The ID of the customer gateway. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"` @@ -44751,6 +44964,12 @@ func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway { return s } +// SetCertificateArn sets the CertificateArn field's value. +func (s *CustomerGateway) SetCertificateArn(v string) *CustomerGateway { + s.CertificateArn = &v + return s +} + // SetCustomerGatewayId sets the CustomerGatewayId field's value. func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway { s.CustomerGatewayId = &v @@ -54549,6 +54768,9 @@ type DescribeRegionsInput struct { // // * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com). // + // * opt-in-status - The opt-in status of the Region (opt-in-not-required + // | opted-in | not-opted-in). + // // * region-name - The name of the Region (for example, us-east-1). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -60360,6 +60582,19 @@ type DetachNetworkInterfaceInput struct { DryRun *bool `locationName:"dryRun" type:"boolean"` // Specifies whether to force a detachment. + // + // * Use the Force parameter only as a last resort to detach a network interface + // from a failed instance. + // + // * If you use the Force parameter to detach a network interface, you might + // not be able to attach a different network interface to the same index + // on the instance without first stopping and starting the instance. + // + // * If you force the detachment of a network interface, the instance metadata + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) + // might not get updated. This means that the attributes associated with + // the detached network interface might still be visible. The instance metadata + // will get updated when you stop and start the instance. Force *bool `locationName:"force" type:"boolean"` } @@ -61909,9 +62144,10 @@ type EbsBlockDevice struct { // size. VolumeSize *int64 `locationName:"volumeSize" type:"integer"` - // The volume type. If you set the type to io1, you must also set the Iops property. + // The volume type. If you set the type to io1, you must also specify the IOPS + // that the volume supports. // - // Default: standard + // Default: gp2 VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"` } @@ -64356,13 +64592,25 @@ func (s *FpgaImageState) SetMessage(v string) *FpgaImageState { type GetCapacityReservationUsageInput struct { _ struct{} `type:"structure"` + // The ID of the Capacity Reservation. + // // CapacityReservationId is a required field CapacityReservationId *string `type:"string" required:"true"` + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the returned + // nextToken value. + // + // Valid range: Minimum value of 1. Maximum value of 1000. MaxResults *int64 `min:"1" type:"integer"` + // The token to retrieve the next page of results. NextToken *string `type:"string"` } @@ -64419,18 +64667,45 @@ func (s *GetCapacityReservationUsageInput) SetNextToken(v string) *GetCapacityRe type GetCapacityReservationUsageOutput struct { _ struct{} `type:"structure"` + // The remaining capacity. Indicates the number of instances that can be launched + // in the Capacity Reservation. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"` + // The ID of the Capacity Reservation. CapacityReservationId *string `locationName:"capacityReservationId" type:"string"` + // The type of instance for which the Capacity Reservation reserves capacity. InstanceType *string `locationName:"instanceType" type:"string"` + // Information about the Capacity Reservation usage. InstanceUsages []*InstanceUsage `locationName:"instanceUsageSet" locationNameList:"item" type:"list"` + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` + // The current state of the Capacity Reservation. A Capacity Reservation can + // be in one of the following states: + // + // * active - The Capacity Reservation is active and the capacity is available + // for your use. + // + // * expired - The Capacity Reservation expired automatically at the date + // and time specified in your request. The reserved capacity is no longer + // available for your use. + // + // * cancelled - The Capacity Reservation was manually cancelled. The reserved + // capacity is no longer available for your use. + // + // * pending - The Capacity Reservation request was successful but the capacity + // provisioning is still pending. + // + // * failed - The Capacity Reservation request has failed. A request might + // fail due to invalid request parameters, capacity constraints, or instance + // limit constraints. Failed requests are retained for 60 minutes. State *string `locationName:"state" type:"string" enum:"CapacityReservationState"` + // The number of instances for which the Capacity Reservation reserves capacity. TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"` } @@ -69240,8 +69515,8 @@ type InstanceNetworkInterfaceSpecification struct { // request. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"` - // The ID of the subnet associated with the network string. Applies only if - // creating a network interface when launching an instance. + // The ID of the subnet associated with the network interface. Applies only + // if creating a network interface when launching an instance. SubnetId *string `locationName:"subnetId" type:"string"` } @@ -69740,11 +70015,14 @@ func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary { return s } +// Information about the Capacity Reservation usage. type InstanceUsage struct { _ struct{} `type:"structure"` + // The ID of the AWS account that is making use of the Capacity Reservation. AccountId *string `locationName:"accountId" type:"string"` + // The number of instances the AWS account currently has in the Capacity Reservation. UsedInstanceCount *int64 `locationName:"usedInstanceCount" type:"integer"` } @@ -72369,7 +72647,7 @@ func (s *ModifyCapacityReservationInput) SetInstanceCount(v int64) *ModifyCapaci type ModifyCapacityReservationOutput struct { _ struct{} `type:"structure"` - // Information about the Capacity Reservation. + // Returns true if the request succeeds; otherwise, it returns an error. Return *bool `locationName:"return" type:"boolean"` } @@ -75389,8 +75667,7 @@ type ModifyVpcEndpointInput struct { DryRun *bool `type:"boolean"` // A policy to attach to the endpoint that controls access to the service. The - // policy must be in valid JSON format. If this parameter is not specified, - // we attach a default policy that allows full access to the service. + // policy must be in valid JSON format. PolicyDocument *string `type:"string"` // (Interface endpoint) Indicate whether a private hosted zone is associated @@ -75915,6 +76192,9 @@ func (s *ModifyVpcTenancyOutput) SetReturnValue(v bool) *ModifyVpcTenancyOutput type ModifyVpnConnectionInput struct { _ struct{} `type:"structure"` + // The ID of the customer gateway at your end of the VPN connection. + CustomerGatewayId *string `type:"string"` + // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have // the required permissions, the error response is DryRunOperation. Otherwise, @@ -75956,6 +76236,12 @@ func (s *ModifyVpnConnectionInput) Validate() error { return nil } +// SetCustomerGatewayId sets the CustomerGatewayId field's value. +func (s *ModifyVpnConnectionInput) SetCustomerGatewayId(v string) *ModifyVpnConnectionInput { + s.CustomerGatewayId = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *ModifyVpnConnectionInput) SetDryRun(v bool) *ModifyVpnConnectionInput { s.DryRun = &v @@ -76003,6 +76289,93 @@ func (s *ModifyVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *ModifyVp return s } +type ModifyVpnTunnelCertificateInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the AWS Site-to-Site VPN connection. + // + // VpnConnectionId is a required field + VpnConnectionId *string `type:"string" required:"true"` + + // The external IP address of the VPN tunnel. + // + // VpnTunnelOutsideIpAddress is a required field + VpnTunnelOutsideIpAddress *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ModifyVpnTunnelCertificateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyVpnTunnelCertificateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyVpnTunnelCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyVpnTunnelCertificateInput"} + if s.VpnConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("VpnConnectionId")) + } + if s.VpnTunnelOutsideIpAddress == nil { + invalidParams.Add(request.NewErrParamRequired("VpnTunnelOutsideIpAddress")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyVpnTunnelCertificateInput) SetDryRun(v bool) *ModifyVpnTunnelCertificateInput { + s.DryRun = &v + return s +} + +// SetVpnConnectionId sets the VpnConnectionId field's value. +func (s *ModifyVpnTunnelCertificateInput) SetVpnConnectionId(v string) *ModifyVpnTunnelCertificateInput { + s.VpnConnectionId = &v + return s +} + +// SetVpnTunnelOutsideIpAddress sets the VpnTunnelOutsideIpAddress field's value. +func (s *ModifyVpnTunnelCertificateInput) SetVpnTunnelOutsideIpAddress(v string) *ModifyVpnTunnelCertificateInput { + s.VpnTunnelOutsideIpAddress = &v + return s +} + +type ModifyVpnTunnelCertificateOutput struct { + _ struct{} `type:"structure"` + + // Describes a VPN connection. + VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"` +} + +// String returns the string representation +func (s ModifyVpnTunnelCertificateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyVpnTunnelCertificateOutput) GoString() string { + return s.String() +} + +// SetVpnConnection sets the VpnConnection field's value. +func (s *ModifyVpnTunnelCertificateOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnTunnelCertificateOutput { + s.VpnConnection = v + return s +} + type MonitorInstancesInput struct { _ struct{} `type:"structure"` @@ -80982,7 +81355,9 @@ type RequestSpotLaunchSpecification struct { // you can specify the names or the IDs of the security groups. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"` - // The ID of the subnet in which to launch the instance. + // The IDs of the subnets in which to launch the instance. To specify multiple + // subnets, separate them using commas; for example, "subnet-1234abcdeexample1, + // subnet-0987cdef6example2". SubnetId *string `locationName:"subnetId" type:"string"` // The Base64-encoded user data for the instance. User data is limited to 16 @@ -84640,7 +85015,7 @@ type ScheduledInstancesEbs struct { // The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, // Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic. // - // Default: standard + // Default: gp2 VolumeType *string `type:"string"` } @@ -85165,7 +85540,7 @@ type SearchTransitGatewayRoutesInput struct { // // * state - The state of the route (active | blackhole). // - // * type - The type of roue (propagated | static). + // * type - The type of route (propagated | static). // // Filters is a required field Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"` @@ -85426,6 +85801,70 @@ func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGr return s } +type SendDiagnosticInterruptInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the instance. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SendDiagnosticInterruptInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendDiagnosticInterruptInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendDiagnosticInterruptInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendDiagnosticInterruptInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *SendDiagnosticInterruptInput) SetDryRun(v bool) *SendDiagnosticInterruptInput { + s.DryRun = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *SendDiagnosticInterruptInput) SetInstanceId(v string) *SendDiagnosticInterruptInput { + s.InstanceId = &v + return s +} + +type SendDiagnosticInterruptOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SendDiagnosticInterruptOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendDiagnosticInterruptOutput) GoString() string { + return s.String() +} + // Describes a service configuration for a VPC endpoint service. type ServiceConfiguration struct { _ struct{} `type:"structure"` @@ -86378,7 +86817,7 @@ type SpotFleetLaunchSpecification struct { // Deprecated. AddressingType *string `locationName:"addressingType" type:"string"` - // One or more block devices that are mapped to the Spot instances. You can't + // One or more block devices that are mapped to the Spot Instances. You can't // specify both a snapshot ID and an encryption value. This is because only // blank volumes can be encrypted on creation. If a snapshot is the basis for // a volume, it is not blank and its encryption status is used for the volume @@ -86436,8 +86875,9 @@ type SpotFleetLaunchSpecification struct { // by the value of WeightedCapacity. SpotPrice *string `locationName:"spotPrice" type:"string"` - // The ID of the subnet in which to launch the instances. To specify multiple - // subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08". + // The IDs of the subnets in which to launch the instances. To specify multiple + // subnets, separate them using commas; for example, "subnet-1234abcdeexample1, + // subnet-0987cdef6example2". SubnetId *string `locationName:"subnetId" type:"string"` // The tags to apply during creation. @@ -86668,8 +87108,19 @@ func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRe type SpotFleetRequestConfigData struct { _ struct{} `type:"structure"` - // Indicates how to allocate the target capacity across the Spot pools specified - // by the Spot Fleet request. The default is lowestPrice. + // Indicates how to allocate the target Spot Instance capacity across the Spot + // Instance pools specified by the Spot Fleet request. + // + // If the allocation strategy is lowestPrice, Spot Fleet launches instances + // from the Spot Instance pools with the lowest price. This is the default allocation + // strategy. + // + // If the allocation strategy is diversified, Spot Fleet launches instances + // from all the Spot Instance pools that you specify. + // + // If the allocation strategy is capacityOptimized, Spot Fleet launches instances + // from Spot Instance pools that are optimally chosen based on the available + // Spot Instance capacity. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"` // A unique, case-sensitive identifier that you provide to ensure the idempotency @@ -87362,8 +87813,19 @@ func (s *SpotMarketOptions) SetValidUntil(v time.Time) *SpotMarketOptions { type SpotOptions struct { _ struct{} `type:"structure"` - // Indicates how to allocate the target capacity across the Spot pools specified - // by the Spot Fleet request. The default is lowest-price. + // Indicates how to allocate the target Spot Instance capacity across the Spot + // Instance pools specified by the EC2 Fleet. + // + // If the allocation strategy is lowestPrice, EC2 Fleet launches instances from + // the Spot Instance pools with the lowest price. This is the default allocation + // strategy. + // + // If the allocation strategy is diversified, EC2 Fleet launches instances from + // all the Spot Instance pools that you specify. + // + // If the allocation strategy is capacityOptimized, EC2 Fleet launches instances + // from Spot Instance pools that are optimally chosen based on the available + // Spot Instance capacity. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"` // The behavior when a Spot Instance is interrupted. The default is terminate. @@ -87447,8 +87909,19 @@ func (s *SpotOptions) SetSingleInstanceType(v bool) *SpotOptions { type SpotOptionsRequest struct { _ struct{} `type:"structure"` - // Indicates how to allocate the target capacity across the Spot pools specified - // by the Spot Fleet request. The default is lowestPrice. + // Indicates how to allocate the target Spot Instance capacity across the Spot + // Instance pools specified by the EC2 Fleet. + // + // If the allocation strategy is lowestPrice, EC2 Fleet launches instances from + // the Spot Instance pools with the lowest price. This is the default allocation + // strategy. + // + // If the allocation strategy is diversified, EC2 Fleet launches instances from + // all the Spot Instance pools that you specify. + // + // If the allocation strategy is capacityOptimized, EC2 Fleet launches instances + // from Spot Instance pools that are optimally chosen based on the available + // Spot Instance capacity. AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"` // The behavior when a Spot Instance is interrupted. The default is terminate. @@ -91222,6 +91695,9 @@ type VgwTelemetry struct { // The number of accepted routes. AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"` + // The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate. + CertificateArn *string `locationName:"certificateArn" type:"string"` + // The date and time of the last change in status. LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp"` @@ -91252,6 +91728,12 @@ func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry { return s } +// SetCertificateArn sets the CertificateArn field's value. +func (s *VgwTelemetry) SetCertificateArn(v string) *VgwTelemetry { + s.CertificateArn = &v + return s +} + // SetLastStatusChange sets the LastStatusChange field's value. func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry { s.LastStatusChange = &v @@ -94333,6 +94815,9 @@ const ( // InstanceTypeI3en24xlarge is a InstanceType enum value InstanceTypeI3en24xlarge = "i3en.24xlarge" + // InstanceTypeI3enMetal is a InstanceType enum value + InstanceTypeI3enMetal = "i3en.metal" + // InstanceTypeHi14xlarge is a InstanceType enum value InstanceTypeHi14xlarge = "hi1.4xlarge" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go index e403b84a442..31c314e0e5f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go @@ -9,7 +9,7 @@ // // To learn more, see the following resources: // -// * Amazon EC2: Amazon EC2 product page (http://aws.amazon.com/ec2), Amazon +// * Amazon EC2: AmazonEC2 product page (http://aws.amazon.com/ec2), Amazon // EC2 documentation (http://aws.amazon.com/documentation/ec2) // // * Amazon EBS: Amazon EBS product page (http://aws.amazon.com/ebs), Amazon diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go b/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go index 493f71971a6..b27725bc8b0 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go @@ -768,12 +768,12 @@ func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Requ // When you delete a service, if there are still running tasks that require // cleanup, the service status moves from ACTIVE to DRAINING, and the service // is no longer visible in the console or in the ListServices API operation. -// After the tasks have stopped, then the service status moves from DRAINING -// to INACTIVE. Services in the DRAINING or INACTIVE status can still be viewed -// with the DescribeServices API operation. However, in the future, INACTIVE -// services may be cleaned up and purged from Amazon ECS record keeping, and -// DescribeServices calls on those services return a ServiceNotFoundException -// error. +// After all tasks have transitioned to either STOPPING or STOPPED status, the +// service status moves from DRAINING to INACTIVE. Services in the DRAINING +// or INACTIVE status can still be viewed with the DescribeServices API operation. +// However, in the future, INACTIVE services may be cleaned up and purged from +// Amazon ECS record keeping, and DescribeServices calls on those services return +// a ServiceNotFoundException error. // // If you attempt to create a new service with the same name as an existing // service in either ACTIVE or DRAINING status, you receive an error. @@ -3016,10 +3016,12 @@ func (c *ECS) PutAccountSettingRequest(input *PutAccountSettingInput) (req *requ // PutAccountSetting API operation for Amazon EC2 Container Service. // -// Modifies an account setting. If you change the account setting for the root -// user, the default settings for all of the IAM users and roles for which no -// individual account setting has been specified are reset. For more information, -// see Account Settings (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html) +// Modifies an account setting. Account settings are set on a per-Region basis. +// +// If you change the account setting for the root user, the default settings +// for all of the IAM users and roles for which no individual account setting +// has been specified are reset. For more information, see Account Settings +// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html) // in the Amazon Elastic Container Service Developer Guide. // // When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat @@ -3132,7 +3134,8 @@ func (c *ECS) PutAccountSettingDefaultRequest(input *PutAccountSettingDefaultInp // PutAccountSettingDefault API operation for Amazon EC2 Container Service. // // Modifies an account setting for all IAM users on an account for whom no individual -// account setting has been specified. +// account setting has been specified. Account settings are set on a per-Region +// basis. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5282,8 +5285,30 @@ type Cluster struct { // The metadata that you apply to the cluster to help you categorize and organize // them. Each tag consists of a key and an optional value, both of which you - // define. Tag keys can have a maximum character length of 128 characters, and - // tag values can have a maximum length of 256 characters. + // define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50 + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8 + // + // * Maximum value length - 256 Unicode characters in UTF-8 + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case-sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for either keys or values as it is reserved for AWS use. You + // cannot edit or delete tag keys or values with this prefix. Tags with this + // prefix do not count against your tags per resource limit. Tags []*Tag `locationName:"tags" type:"list"` } @@ -5800,12 +5825,6 @@ type ContainerDefinition struct { // The log configuration specification for the container. // - // For tasks using the Fargate launch type, the supported log drivers are awslogs - // and splunk. - // - // For tasks using the EC2 launch type, the supported log drivers are awslogs, - // syslog, gelf, fluentd, splunk, journald, and json-file. - // // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). @@ -6557,8 +6576,30 @@ type ContainerInstance struct { // The metadata that you apply to the container instance to help you categorize // and organize them. Each tag consists of a key and an optional value, both - // of which you define. Tag keys can have a maximum character length of 128 - // characters, and tag values can have a maximum length of 256 characters. + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50 + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8 + // + // * Maximum value length - 256 Unicode characters in UTF-8 + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case-sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for either keys or values as it is reserved for AWS use. You + // cannot edit or delete tag keys or values with this prefix. Tags with this + // prefix do not count against your tags per resource limit. Tags []*Tag `locationName:"tags" type:"list"` // The version counter for the container instance. Every time a container instance @@ -6873,8 +6914,30 @@ type CreateClusterInput struct { // The metadata that you apply to the cluster to help you categorize and organize // them. Each tag consists of a key and an optional value, both of which you - // define. Tag keys can have a maximum character length of 128 characters, and - // tag values can have a maximum length of 256 characters. + // define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50 + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8 + // + // * Maximum value length - 256 Unicode characters in UTF-8 + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case-sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for either keys or values as it is reserved for AWS use. You + // cannot edit or delete tag keys or values with this prefix. Tags with this + // prefix do not count against your tags per resource limit. Tags []*Tag `locationName:"tags" type:"list"` } @@ -7127,9 +7190,30 @@ type CreateServiceInput struct { // The metadata that you apply to the service to help you categorize and organize // them. Each tag consists of a key and an optional value, both of which you - // define. When a service is deleted, the tags are deleted as well. Tag keys - // can have a maximum character length of 128 characters, and tag values can - // have a maximum length of 256 characters. + // define. When a service is deleted, the tags are deleted as well. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50 + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8 + // + // * Maximum value length - 256 Unicode characters in UTF-8 + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case-sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for either keys or values as it is reserved for AWS use. You + // cannot edit or delete tag keys or values with this prefix. Tags with this + // prefix do not count against your tags per resource limit. Tags []*Tag `locationName:"tags" type:"list"` // The family and revision (family:revision) or full ARN of the task definition @@ -8687,8 +8771,30 @@ type DescribeTaskDefinitionOutput struct { // The metadata that is applied to the task definition to help you categorize // and organize them. Each tag consists of a key and an optional value, both - // of which you define. Tag keys can have a maximum character length of 128 - // characters, and tag values can have a maximum length of 256 characters. + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50 + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8 + // + // * Maximum value length - 256 Unicode characters in UTF-8 + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case-sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for either keys or values as it is reserved for AWS use. You + // cannot edit or delete tag keys or values with this prefix. Tags with this + // prefix do not count against your tags per resource limit. Tags []*Tag `locationName:"tags" type:"list"` // The full task definition description. @@ -9478,6 +9584,21 @@ type LinuxParameters struct { // command: sudo docker version --format '{{.Server.APIVersion}}' InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` + // The total amount of swap memory (in MiB) a container can use. This parameter + // will be translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/) + // where the value would be the sum of the container memory plus the maxSwap + // value. + // + // If a maxSwap value of 0 is specified, the container will not use swap. Accepted + // values are 0 or any positive integer. If the maxSwap parameter is omitted, + // the container will use the swap configuration for the container instance + // it is running on. A maxSwap value must be set for the swappiness parameter + // to be used. + // + // If you are using tasks that use the Fargate launch type, the maxSwap parameter + // is not supported. + MaxSwap *int64 `locationName:"maxSwap" type:"integer"` + // The value for the size (in MiB) of the /dev/shm volume. This parameter maps // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/). // @@ -9485,6 +9606,18 @@ type LinuxParameters struct { // parameter is not supported. SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` + // This allows you to tune a container's memory swappiness behavior. A swappiness + // value of 0 will cause swapping to not happen unless absolutely necessary. + // A swappiness value of 100 will cause pages to be swapped very aggressively. + // Accepted values are whole numbers between 0 and 100. If the swappiness parameter + // is not specified, a default value of 60 is used. If a value is not specified + // for maxSwap then this parameter is ignored. This parameter maps to the --memory-swappiness + // option to docker run (https://docs.docker.com/engine/reference/run/). + // + // If you are using tasks that use the Fargate launch type, the swappiness parameter + // is not supported. + Swappiness *int64 `locationName:"swappiness" type:"integer"` + // The container path, mount options, and size (in MiB) of the tmpfs mount. // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/). // @@ -9551,12 +9684,24 @@ func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { return s } +// SetMaxSwap sets the MaxSwap field's value. +func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters { + s.MaxSwap = &v + return s +} + // SetSharedMemorySize sets the SharedMemorySize field's value. func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { s.SharedMemorySize = &v return s } +// SetSwappiness sets the Swappiness field's value. +func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters { + s.Swappiness = &v + return s +} + // SetTmpfs sets the Tmpfs field's value. func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { s.Tmpfs = v @@ -10673,7 +10818,7 @@ type LogConfiguration struct { // and splunk. // // For tasks using the EC2 launch type, the supported log drivers are awslogs, - // syslog, gelf, fluentd, splunk, journald, and json-file. + // fluentd, gelf, json-file, journald, logentries, syslog, splunk, and syslog. // // For more information about using the awslogs log driver, see Using the awslogs // Log Driver (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) @@ -11566,8 +11711,30 @@ type RegisterContainerInstanceInput struct { // The metadata that you apply to the container instance to help you categorize // and organize them. Each tag consists of a key and an optional value, both - // of which you define. Tag keys can have a maximum character length of 128 - // characters, and tag values can have a maximum length of 256 characters. + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50 + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8 + // + // * Maximum value length - 256 Unicode characters in UTF-8 + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case-sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for either keys or values as it is reserved for AWS use. You + // cannot edit or delete tag keys or values with this prefix. Tags with this + // prefix do not count against your tags per resource limit. Tags []*Tag `locationName:"tags" type:"list"` // The resources available on the instance. @@ -11897,8 +12064,30 @@ type RegisterTaskDefinitionInput struct { // The metadata that you apply to the task definition to help you categorize // and organize them. Each tag consists of a key and an optional value, both - // of which you define. Tag keys can have a maximum character length of 128 - // characters, and tag values can have a maximum length of 256 characters. + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50 + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8 + // + // * Maximum value length - 256 Unicode characters in UTF-8 + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case-sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for either keys or values as it is reserved for AWS use. You + // cannot edit or delete tag keys or values with this prefix. Tags with this + // prefix do not count against your tags per resource limit. Tags []*Tag `locationName:"tags" type:"list"` // The short name or full Amazon Resource Name (ARN) of the IAM role that containers @@ -12341,8 +12530,30 @@ type RunTaskInput struct { // The metadata that you apply to the task to help you categorize and organize // them. Each tag consists of a key and an optional value, both of which you - // define. Tag keys can have a maximum character length of 128 characters, and - // tag values can have a maximum length of 256 characters. + // define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50 + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8 + // + // * Maximum value length - 256 Unicode characters in UTF-8 + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case-sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for either keys or values as it is reserved for AWS use. You + // cannot edit or delete tag keys or values with this prefix. Tags with this + // prefix do not count against your tags per resource limit. Tags []*Tag `locationName:"tags" type:"list"` // The family and revision (family:revision) or full ARN of the task definition @@ -12634,7 +12845,9 @@ type Service struct { // deployment and the ordering of stopping and starting tasks. DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` - // The deployment controller type the service is using. + // The deployment controller type the service is using. When using the DescribeServices + // API, this field is omitted if the service is using the ECS deployment controller + // type. DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` // The current state of deployments for the service. @@ -12745,8 +12958,30 @@ type Service struct { // The metadata that you apply to the service to help you categorize and organize // them. Each tag consists of a key and an optional value, both of which you - // define. Tag keys can have a maximum character length of 128 characters, and - // tag values can have a maximum length of 256 characters. + // define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50 + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8 + // + // * Maximum value length - 256 Unicode characters in UTF-8 + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case-sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for either keys or values as it is reserved for AWS use. You + // cannot edit or delete tag keys or values with this prefix. Tags with this + // prefix do not count against your tags per resource limit. Tags []*Tag `locationName:"tags" type:"list"` // The task definition to use for tasks in the service. This value is specified @@ -13148,8 +13383,30 @@ type StartTaskInput struct { // The metadata that you apply to the task to help you categorize and organize // them. Each tag consists of a key and an optional value, both of which you - // define. Tag keys can have a maximum character length of 128 characters, and - // tag values can have a maximum length of 256 characters. + // define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50 + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8 + // + // * Maximum value length - 256 Unicode characters in UTF-8 + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case-sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for either keys or values as it is reserved for AWS use. You + // cannot edit or delete tag keys or values with this prefix. Tags with this + // prefix do not count against your tags per resource limit. Tags []*Tag `locationName:"tags" type:"list"` // The family and revision (family:revision) or full ARN of the task definition @@ -13754,8 +14011,30 @@ func (s *SystemControl) SetValue(v string) *SystemControl { // The metadata that you apply to a resource to help you categorize and organize // them. Each tag consists of a key and an optional value, both of which you -// define. Tag keys can have a maximum character length of 128 characters, and -// tag values can have a maximum length of 256 characters. +// define. +// +// The following basic restrictions apply to tags: +// +// * Maximum number of tags per resource - 50 +// +// * For each resource, each tag key must be unique, and each tag key can +// have only one value. +// +// * Maximum key length - 128 Unicode characters in UTF-8 +// +// * Maximum value length - 256 Unicode characters in UTF-8 +// +// * If your tagging schema is used across multiple services and resources, +// remember that other services may have restrictions on allowed characters. +// Generally allowed characters are: letters, numbers, and spaces representable +// in UTF-8, and the following characters: + - = . _ : / @. +// +// * Tag keys and values are case-sensitive. +// +// * Do not use aws:, AWS:, or any upper or lowercase combination of such +// as a prefix for either keys or values as it is reserved for AWS use. You +// cannot edit or delete tag keys or values with this prefix. Tags with this +// prefix do not count against your tags per resource limit. type Tag struct { _ struct{} `type:"structure"` @@ -13813,9 +14092,30 @@ type TagResourceInput struct { // ResourceArn is a required field ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` - // The tags to add to the resource. A tag is an array of key-value pairs. Tag - // keys can have a maximum character length of 128 characters, and tag values - // can have a maximum length of 256 characters. + // The tags to add to the resource. A tag is an array of key-value pairs. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50 + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8 + // + // * Maximum value length - 256 Unicode characters in UTF-8 + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case-sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for either keys or values as it is reserved for AWS use. You + // cannot edit or delete tag keys or values with this prefix. Tags with this + // prefix do not count against your tags per resource limit. // // Tags is a required field Tags []*Tag `locationName:"tags" type:"list" required:"true"` @@ -14041,8 +14341,30 @@ type Task struct { // The metadata that you apply to the task to help you categorize and organize // them. Each tag consists of a key and an optional value, both of which you - // define. Tag keys can have a maximum character length of 128 characters, and - // tag values can have a maximum length of 256 characters. + // define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50 + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8 + // + // * Maximum value length - 256 Unicode characters in UTF-8 + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case-sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for either keys or values as it is reserved for AWS use. You + // cannot edit or delete tag keys or values with this prefix. Tags with this + // prefix do not count against your tags per resource limit. Tags []*Tag `locationName:"tags" type:"list"` // The Amazon Resource Name (ARN) of the task. @@ -14439,9 +14761,10 @@ type TaskDefinition struct { // The full Amazon Resource Name (ARN) of the task definition. TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` - // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) - // role that grants containers in the task permission to call AWS APIs on your - // behalf. For more information, see Amazon ECS Task Role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_IAM_role.html) + // The short name or full Amazon Resource Name (ARN) of the AWS Identity and + // Access Management (IAM) role that grants containers in the task permission + // to call AWS APIs on your behalf. For more information, see Amazon ECS Task + // Role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_IAM_role.html) // in the Amazon Elastic Container Service Developer Guide. // // IAM roles for tasks on Windows require that the -EnableTaskIAMRole option @@ -14771,10 +15094,7 @@ type TaskSet struct { // * There are no tasks running on container instances in the DRAINING status. // // * All tasks are reporting a healthy status from the load balancers, service - // discovery, and container health checks. If a healthCheckGracePeriodSeconds - // value was set when the service was created, you may see a STEADY_STATE - // reached since unhealthy Elastic Load Balancing target health checks will - // be ignored until it expires. + // discovery, and container health checks. // // If any of those conditions are not met, the stability status returns STABILIZING. StabilityStatus *string `locationName:"stabilityStatus" type:"string" enum:"StabilityStatus"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/emr/api.go b/vendor/github.com/aws/aws-sdk-go/service/emr/api.go index fd631c06928..ce35d389aee 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/emr/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/emr/api.go @@ -974,6 +974,91 @@ func (c *EMR) DescribeStepWithContext(ctx aws.Context, input *DescribeStepInput, return out, req.Send() } +const opGetBlockPublicAccessConfiguration = "GetBlockPublicAccessConfiguration" + +// GetBlockPublicAccessConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetBlockPublicAccessConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetBlockPublicAccessConfiguration for more information on using the GetBlockPublicAccessConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetBlockPublicAccessConfigurationRequest method. +// req, resp := client.GetBlockPublicAccessConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfiguration +func (c *EMR) GetBlockPublicAccessConfigurationRequest(input *GetBlockPublicAccessConfigurationInput) (req *request.Request, output *GetBlockPublicAccessConfigurationOutput) { + op := &request.Operation{ + Name: opGetBlockPublicAccessConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetBlockPublicAccessConfigurationInput{} + } + + output = &GetBlockPublicAccessConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBlockPublicAccessConfiguration API operation for Amazon Elastic MapReduce. +// +// Returns the Amazon EMR block public access configuration for your AWS account +// in the current Region. For more information see Configure Block Public Access +// for Amazon EMR (https://docs.aws.amazon.com/emr/latest/ManagementGuide/configure-block-public-access.html) +// in the Amazon EMR Management Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation GetBlockPublicAccessConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// This exception occurs when there is an internal failure in the EMR service. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfiguration +func (c *EMR) GetBlockPublicAccessConfiguration(input *GetBlockPublicAccessConfigurationInput) (*GetBlockPublicAccessConfigurationOutput, error) { + req, out := c.GetBlockPublicAccessConfigurationRequest(input) + return out, req.Send() +} + +// GetBlockPublicAccessConfigurationWithContext is the same as GetBlockPublicAccessConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetBlockPublicAccessConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EMR) GetBlockPublicAccessConfigurationWithContext(ctx aws.Context, input *GetBlockPublicAccessConfigurationInput, opts ...request.Option) (*GetBlockPublicAccessConfigurationOutput, error) { + req, out := c.GetBlockPublicAccessConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListBootstrapActions = "ListBootstrapActions" // ListBootstrapActionsRequest generates a "aws/request.Request" representing the @@ -2203,6 +2288,92 @@ func (c *EMR) PutAutoScalingPolicyWithContext(ctx aws.Context, input *PutAutoSca return out, req.Send() } +const opPutBlockPublicAccessConfiguration = "PutBlockPublicAccessConfiguration" + +// PutBlockPublicAccessConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the PutBlockPublicAccessConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutBlockPublicAccessConfiguration for more information on using the PutBlockPublicAccessConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutBlockPublicAccessConfigurationRequest method. +// req, resp := client.PutBlockPublicAccessConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfiguration +func (c *EMR) PutBlockPublicAccessConfigurationRequest(input *PutBlockPublicAccessConfigurationInput) (req *request.Request, output *PutBlockPublicAccessConfigurationOutput) { + op := &request.Operation{ + Name: opPutBlockPublicAccessConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutBlockPublicAccessConfigurationInput{} + } + + output = &PutBlockPublicAccessConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutBlockPublicAccessConfiguration API operation for Amazon Elastic MapReduce. +// +// Creates or updates an Amazon EMR block public access configuration for your +// AWS account in the current Region. For more information see Configure Block +// Public Access for Amazon EMR (https://docs.aws.amazon.com/emr/latest/ManagementGuide/configure-block-public-access.html) +// in the Amazon EMR Management Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation PutBlockPublicAccessConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerException "InternalServerException" +// This exception occurs when there is an internal failure in the EMR service. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfiguration +func (c *EMR) PutBlockPublicAccessConfiguration(input *PutBlockPublicAccessConfigurationInput) (*PutBlockPublicAccessConfigurationOutput, error) { + req, out := c.PutBlockPublicAccessConfigurationRequest(input) + return out, req.Send() +} + +// PutBlockPublicAccessConfigurationWithContext is the same as PutBlockPublicAccessConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See PutBlockPublicAccessConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EMR) PutBlockPublicAccessConfigurationWithContext(ctx aws.Context, input *PutBlockPublicAccessConfigurationInput, opts ...request.Option) (*PutBlockPublicAccessConfigurationOutput, error) { + req, out := c.PutBlockPublicAccessConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRemoveAutoScalingPolicy = "RemoveAutoScalingPolicy" // RemoveAutoScalingPolicyRequest generates a "aws/request.Request" representing the @@ -2614,6 +2785,8 @@ func (c *EMR) SetVisibleToAllUsersRequest(input *SetVisibleToAllUsersInput) (req // SetVisibleToAllUsers API operation for Amazon Elastic MapReduce. // +// This member will be deprecated. +// // Sets whether all AWS Identity and Access Management (IAM) users under your // account can access the specified clusters (job flows). This action works // on running clusters. You can also set the visibility of a cluster when you @@ -3341,6 +3514,117 @@ func (s *AutoScalingPolicyStatus) SetStateChangeReason(v *AutoScalingPolicyState return s } +// A configuration for Amazon EMR block public access. When BlockPublicSecurityGroupRules +// is set to true, Amazon EMR prevents cluster creation if one of the cluster's +// security groups has a rule that allows inbound traffic from 0.0.0.0/0 or +// ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges. +type BlockPublicAccessConfiguration struct { + _ struct{} `type:"structure"` + + // Indicates whether EMR block public access is enabled (true) or disabled (false). + // By default, the value is false for accounts that have created EMR clusters + // before July 2019. For accounts created after this, the default is true. + // + // BlockPublicSecurityGroupRules is a required field + BlockPublicSecurityGroupRules *bool `type:"boolean" required:"true"` + + // Specifies ports and port ranges that are permitted to have security group + // rules that allow inbound traffic from all public sources. For example, if + // Port 23 (Telnet) is specified for PermittedPublicSecurityGroupRuleRanges, + // Amazon EMR allows cluster creation if a security group associated with the + // cluster has a rule that allows inbound traffic on Port 23 from IPv4 0.0.0.0/0 + // or IPv6 port ::/0 as the source. + // + // By default, Port 22, which is used for SSH access to the cluster EC2 instances, + // is in the list of PermittedPublicSecurityGroupRuleRanges. + PermittedPublicSecurityGroupRuleRanges []*PortRange `type:"list"` +} + +// String returns the string representation +func (s BlockPublicAccessConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BlockPublicAccessConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BlockPublicAccessConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BlockPublicAccessConfiguration"} + if s.BlockPublicSecurityGroupRules == nil { + invalidParams.Add(request.NewErrParamRequired("BlockPublicSecurityGroupRules")) + } + if s.PermittedPublicSecurityGroupRuleRanges != nil { + for i, v := range s.PermittedPublicSecurityGroupRuleRanges { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PermittedPublicSecurityGroupRuleRanges", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBlockPublicSecurityGroupRules sets the BlockPublicSecurityGroupRules field's value. +func (s *BlockPublicAccessConfiguration) SetBlockPublicSecurityGroupRules(v bool) *BlockPublicAccessConfiguration { + s.BlockPublicSecurityGroupRules = &v + return s +} + +// SetPermittedPublicSecurityGroupRuleRanges sets the PermittedPublicSecurityGroupRuleRanges field's value. +func (s *BlockPublicAccessConfiguration) SetPermittedPublicSecurityGroupRuleRanges(v []*PortRange) *BlockPublicAccessConfiguration { + s.PermittedPublicSecurityGroupRuleRanges = v + return s +} + +// Properties that describe the AWS principal that created the BlockPublicAccessConfiguration +// using the PutBlockPublicAccessConfiguration action as well as the date and +// time that the configuration was created. Each time a configuration for block +// public access is updated, Amazon EMR updates this metadata. +type BlockPublicAccessConfigurationMetadata struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name that created or last modified the configuration. + // + // CreatedByArn is a required field + CreatedByArn *string `min:"20" type:"string" required:"true"` + + // The date and time that the configuration was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s BlockPublicAccessConfigurationMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BlockPublicAccessConfigurationMetadata) GoString() string { + return s.String() +} + +// SetCreatedByArn sets the CreatedByArn field's value. +func (s *BlockPublicAccessConfigurationMetadata) SetCreatedByArn(v string) *BlockPublicAccessConfigurationMetadata { + s.CreatedByArn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *BlockPublicAccessConfigurationMetadata) SetCreationDateTime(v time.Time) *BlockPublicAccessConfigurationMetadata { + s.CreationDateTime = &v + return s +} + // Configuration of a bootstrap action. type BootstrapActionConfig struct { _ struct{} `type:"structure"` @@ -3731,11 +4015,11 @@ type Cluster struct { // The Amazon EMR release label, which determines the version of open-source // application packages installed on the cluster. Release labels are in the - // form emr-x.x.x, where x.x.x is an Amazon EMR release version, for example, - // emr-5.14.0. For more information about Amazon EMR release versions and included - // application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ + // form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. + // For more information about Amazon EMR release versions and included application + // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ // (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). The release label - // applies only to Amazon EMR releases versions 4.x and later. Earlier versions + // applies only to Amazon EMR releases version 4.0 and later. Earlier versions // use AmiVersion. ReleaseLabel *string `type:"string"` @@ -3782,6 +4066,8 @@ type Cluster struct { // of a cluster error. TerminationProtected *bool `type:"boolean"` + // This member will be deprecated. + // // Indicates whether the cluster is visible to all IAM users of the AWS account // associated with the cluster. If this value is set to true, all IAM users // of that AWS account can view and manage the cluster if they have the proper @@ -4849,14 +5135,9 @@ type Ec2InstanceAttributes struct { // the master node as a user named "hadoop". Ec2KeyName *string `type:"string"` - // To launch the cluster in Amazon VPC, set this parameter to the identifier - // of the Amazon VPC subnet where you want the cluster to launch. If you do - // not specify this value, the cluster is launched in the normal AWS cloud, - // outside of a VPC. - // - // Amazon VPC currently does not support cluster compute quadruple extra large - // (cc1.4xlarge) instances. Thus, you cannot specify the cc1.4xlarge instance - // type for nodes of a cluster launched in a VPC. + // Set this parameter to the identifier of the Amazon VPC subnet where you want + // the cluster to launch. If you do not specify this value, and your account + // supports EC2-Classic, the cluster launches in EC2-Classic. Ec2SubnetId *string `type:"string"` // The identifier of the Amazon EC2 security group for the master node. @@ -4884,7 +5165,7 @@ type Ec2InstanceAttributes struct { // EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR // chooses the EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, // and then launches all cluster instances within that Subnet. If this value - // is not specified, and the account and region support EC2-Classic networks, + // is not specified, and the account and Region support EC2-Classic networks, // the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones // instead of this setting. If EC2-Classic is not supported, and no Subnet is // specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and @@ -5020,6 +5301,67 @@ func (s *FailureDetails) SetReason(v string) *FailureDetails { return s } +type GetBlockPublicAccessConfigurationInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetBlockPublicAccessConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBlockPublicAccessConfigurationInput) GoString() string { + return s.String() +} + +type GetBlockPublicAccessConfigurationOutput struct { + _ struct{} `type:"structure"` + + // A configuration for Amazon EMR block public access. The configuration applies + // to all clusters created in your account for the current Region. The configuration + // specifies whether block public access is enabled. If block public access + // is enabled, security groups associated with the cluster cannot have rules + // that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port + // is specified as an exception using PermittedPublicSecurityGroupRuleRanges + // in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, + // and public access is allowed on this port. You can change this by updating + // the block public access configuration to remove the exception. + // + // BlockPublicAccessConfiguration is a required field + BlockPublicAccessConfiguration *BlockPublicAccessConfiguration `type:"structure" required:"true"` + + // Properties that describe the AWS principal that created the BlockPublicAccessConfiguration + // using the PutBlockPublicAccessConfiguration action as well as the date and + // time that the configuration was created. Each time a configuration for block + // public access is updated, Amazon EMR updates this metadata. + // + // BlockPublicAccessConfigurationMetadata is a required field + BlockPublicAccessConfigurationMetadata *BlockPublicAccessConfigurationMetadata `type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetBlockPublicAccessConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBlockPublicAccessConfigurationOutput) GoString() string { + return s.String() +} + +// SetBlockPublicAccessConfiguration sets the BlockPublicAccessConfiguration field's value. +func (s *GetBlockPublicAccessConfigurationOutput) SetBlockPublicAccessConfiguration(v *BlockPublicAccessConfiguration) *GetBlockPublicAccessConfigurationOutput { + s.BlockPublicAccessConfiguration = v + return s +} + +// SetBlockPublicAccessConfigurationMetadata sets the BlockPublicAccessConfigurationMetadata field's value. +func (s *GetBlockPublicAccessConfigurationOutput) SetBlockPublicAccessConfigurationMetadata(v *BlockPublicAccessConfigurationMetadata) *GetBlockPublicAccessConfigurationOutput { + s.BlockPublicAccessConfigurationMetadata = v + return s +} + // A job flow step consisting of a JAR file whose main function will be executed. // The main function submits a job for Hadoop to execute and waits for the job // to finish or fail. @@ -6932,6 +7274,8 @@ type JobFlowDetail struct { // is empty. SupportedProducts []*string `type:"list"` + // This member will be deprecated. + // // Specifies whether the cluster is visible to all IAM users of the AWS account // associated with the cluster. If this value is set to true, all IAM users // of that AWS account can view and (if they have the proper policy permissions @@ -7131,14 +7475,8 @@ type JobFlowInstancesConfig struct { // Applies to clusters that use the uniform instance group configuration. To // launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this // parameter to the identifier of the Amazon VPC subnet where you want the cluster - // to launch. If you do not specify this value, the cluster launches in the - // normal Amazon Web Services cloud, outside of an Amazon VPC, if the account - // launching the cluster supports EC2 Classic networks in the region where the - // cluster launches. - // - // Amazon VPC currently does not support cluster compute quadruple extra large - // (cc1.4xlarge) instances. Thus you cannot specify the cc1.4xlarge instance - // type for clusters launched in an Amazon VPC. + // to launch. If you do not specify this value and your account supports EC2-Classic, + // the cluster launches in EC2-Classic. Ec2SubnetId *string `type:"string"` // Applies to clusters that use the instance fleet configuration. When multiple @@ -8450,6 +8788,56 @@ func (s *PlacementType) SetAvailabilityZones(v []*string) *PlacementType { return s } +// A list of port ranges that are permitted to allow inbound traffic from all +// public IP addresses. To specify a single port, use the same value for MinRange +// and MaxRange. +type PortRange struct { + _ struct{} `type:"structure"` + + // The smallest port number in a specified range of port numbers. + MaxRange *int64 `type:"integer"` + + // The smallest port number in a specified range of port numbers. + // + // MinRange is a required field + MinRange *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s PortRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PortRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PortRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PortRange"} + if s.MinRange == nil { + invalidParams.Add(request.NewErrParamRequired("MinRange")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxRange sets the MaxRange field's value. +func (s *PortRange) SetMaxRange(v int64) *PortRange { + s.MaxRange = &v + return s +} + +// SetMinRange sets the MinRange field's value. +func (s *PortRange) SetMinRange(v int64) *PortRange { + s.MinRange = &v + return s +} + type PutAutoScalingPolicyInput struct { _ struct{} `type:"structure"` @@ -8565,6 +8953,71 @@ func (s *PutAutoScalingPolicyOutput) SetInstanceGroupId(v string) *PutAutoScalin return s } +type PutBlockPublicAccessConfigurationInput struct { + _ struct{} `type:"structure"` + + // A configuration for Amazon EMR block public access. The configuration applies + // to all clusters created in your account for the current Region. The configuration + // specifies whether block public access is enabled. If block public access + // is enabled, security groups associated with the cluster cannot have rules + // that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port + // is specified as an exception using PermittedPublicSecurityGroupRuleRanges + // in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, + // and public access is allowed on this port. You can change this by updating + // BlockPublicSecurityGroupRules to remove the exception. + // + // BlockPublicAccessConfiguration is a required field + BlockPublicAccessConfiguration *BlockPublicAccessConfiguration `type:"structure" required:"true"` +} + +// String returns the string representation +func (s PutBlockPublicAccessConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutBlockPublicAccessConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutBlockPublicAccessConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutBlockPublicAccessConfigurationInput"} + if s.BlockPublicAccessConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("BlockPublicAccessConfiguration")) + } + if s.BlockPublicAccessConfiguration != nil { + if err := s.BlockPublicAccessConfiguration.Validate(); err != nil { + invalidParams.AddNested("BlockPublicAccessConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBlockPublicAccessConfiguration sets the BlockPublicAccessConfiguration field's value. +func (s *PutBlockPublicAccessConfigurationInput) SetBlockPublicAccessConfiguration(v *BlockPublicAccessConfiguration) *PutBlockPublicAccessConfigurationInput { + s.BlockPublicAccessConfiguration = v + return s +} + +type PutBlockPublicAccessConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutBlockPublicAccessConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutBlockPublicAccessConfigurationOutput) GoString() string { + return s.String() +} + type RemoveAutoScalingPolicyInput struct { _ struct{} `type:"structure"` @@ -8805,11 +9258,11 @@ type RunJobFlowInput struct { // The Amazon EMR release label, which determines the version of open-source // application packages installed on the cluster. Release labels are in the - // form emr-x.x.x, where x.x.x is an Amazon EMR release version, for example, - // emr-5.14.0. For more information about Amazon EMR release versions and included - // application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ + // form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. + // For more information about Amazon EMR release versions and included application + // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ // (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). The release label - // applies only to Amazon EMR releases versions 4.x and later. Earlier versions + // applies only to Amazon EMR releases version 4.0 and later. Earlier versions // use AmiVersion. ReleaseLabel *string `type:"string"` @@ -8860,6 +9313,8 @@ type RunJobFlowInput struct { // A list of tags to associate with a cluster and propagate to Amazon EC2 instances. Tags []*Tag `type:"list"` + // This member will be deprecated. + // // Whether the cluster is visible to all IAM users of the AWS account associated // with the cluster. If this value is set to true, all IAM users of that AWS // account can view and (if they have the proper policy permissions set) manage @@ -9489,6 +9944,8 @@ func (s SetTerminationProtectionOutput) GoString() string { return s.String() } +// This member will be deprecated. +// // The input to the SetVisibleToAllUsers action. type SetVisibleToAllUsersInput struct { _ struct{} `type:"structure"` @@ -9498,6 +9955,8 @@ type SetVisibleToAllUsersInput struct { // JobFlowIds is a required field JobFlowIds []*string `type:"list" required:"true"` + // This member will be deprecated. + // // Whether the specified clusters are visible to all IAM users of the AWS account // associated with the cluster. If this value is set to True, all IAM users // of that AWS account can view and, if they have the proper IAM policy permissions diff --git a/vendor/github.com/aws/aws-sdk-go/service/glue/api.go b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go index b86fc1012f0..92eb5a86dc5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glue/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go @@ -5568,151 +5568,6 @@ func (c *Glue) GetJobBookmarkWithContext(ctx aws.Context, input *GetJobBookmarkI return out, req.Send() } -const opGetJobBookmarks = "GetJobBookmarks" - -// GetJobBookmarksRequest generates a "aws/request.Request" representing the -// client's request for the GetJobBookmarks operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetJobBookmarks for more information on using the GetJobBookmarks -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetJobBookmarksRequest method. -// req, resp := client.GetJobBookmarksRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobBookmarks -func (c *Glue) GetJobBookmarksRequest(input *GetJobBookmarksInput) (req *request.Request, output *GetJobBookmarksOutput) { - op := &request.Operation{ - Name: opGetJobBookmarks, - HTTPMethod: "POST", - HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, - } - - if input == nil { - input = &GetJobBookmarksInput{} - } - - output = &GetJobBookmarksOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetJobBookmarks API operation for AWS Glue. -// -// Returns information on the job bookmark entries. The list is ordered on decreasing -// version numbers. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for AWS Glue's -// API operation GetJobBookmarks for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidInputException "InvalidInputException" -// The input provided was not valid. -// -// * ErrCodeEntityNotFoundException "EntityNotFoundException" -// A specified entity does not exist -// -// * ErrCodeInternalServiceException "InternalServiceException" -// An internal service error occurred. -// -// * ErrCodeOperationTimeoutException "OperationTimeoutException" -// The operation timed out. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetJobBookmarks -func (c *Glue) GetJobBookmarks(input *GetJobBookmarksInput) (*GetJobBookmarksOutput, error) { - req, out := c.GetJobBookmarksRequest(input) - return out, req.Send() -} - -// GetJobBookmarksWithContext is the same as GetJobBookmarks with the addition of -// the ability to pass a context and additional request options. -// -// See GetJobBookmarks for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *Glue) GetJobBookmarksWithContext(ctx aws.Context, input *GetJobBookmarksInput, opts ...request.Option) (*GetJobBookmarksOutput, error) { - req, out := c.GetJobBookmarksRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// GetJobBookmarksPages iterates over the pages of a GetJobBookmarks operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See GetJobBookmarks method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a GetJobBookmarks operation. -// pageNum := 0 -// err := client.GetJobBookmarksPages(params, -// func(page *glue.GetJobBookmarksOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Glue) GetJobBookmarksPages(input *GetJobBookmarksInput, fn func(*GetJobBookmarksOutput, bool) bool) error { - return c.GetJobBookmarksPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// GetJobBookmarksPagesWithContext same as GetJobBookmarksPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *Glue) GetJobBookmarksPagesWithContext(ctx aws.Context, input *GetJobBookmarksInput, fn func(*GetJobBookmarksOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *GetJobBookmarksInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.GetJobBookmarksRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - cont := true - for p.Next() && cont { - cont = fn(p.Page().(*GetJobBookmarksOutput), !p.HasNextPage()) - } - return p.Err() -} - const opGetJobRun = "GetJobRun" // GetJobRunRequest generates a "aws/request.Request" representing the @@ -21176,96 +21031,6 @@ func (s *GetJobBookmarkOutput) SetJobBookmarkEntry(v *JobBookmarkEntry) *GetJobB return s } -type GetJobBookmarksInput struct { - _ struct{} `type:"structure"` - - // The name of the job in question. - // - // JobName is a required field - JobName *string `type:"string" required:"true"` - - // The maximum size of the response. - MaxResults *int64 `type:"integer"` - - // A continuation token, if this is a continuation call. - NextToken *int64 `type:"integer"` -} - -// String returns the string representation -func (s GetJobBookmarksInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetJobBookmarksInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetJobBookmarksInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetJobBookmarksInput"} - if s.JobName == nil { - invalidParams.Add(request.NewErrParamRequired("JobName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetJobName sets the JobName field's value. -func (s *GetJobBookmarksInput) SetJobName(v string) *GetJobBookmarksInput { - s.JobName = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *GetJobBookmarksInput) SetMaxResults(v int64) *GetJobBookmarksInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *GetJobBookmarksInput) SetNextToken(v int64) *GetJobBookmarksInput { - s.NextToken = &v - return s -} - -type GetJobBookmarksOutput struct { - _ struct{} `type:"structure"` - - // A list of job bookmark entries that defines a point that a job can resume - // processing. - JobBookmarkEntries []*JobBookmarkEntry `type:"list"` - - // A continuation token, which has a value of 1 if all the entries are returned, - // or > 1 if not all requested job runs have been returned. - NextToken *int64 `type:"integer"` -} - -// String returns the string representation -func (s GetJobBookmarksOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetJobBookmarksOutput) GoString() string { - return s.String() -} - -// SetJobBookmarkEntries sets the JobBookmarkEntries field's value. -func (s *GetJobBookmarksOutput) SetJobBookmarkEntries(v []*JobBookmarkEntry) *GetJobBookmarksOutput { - s.JobBookmarkEntries = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *GetJobBookmarksOutput) SetNextToken(v int64) *GetJobBookmarksOutput { - s.NextToken = &v - return s -} - type GetJobInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesis/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/kinesis/customizations.go index f618f0da698..0ab636735ef 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesis/customizations.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesis/customizations.go @@ -9,14 +9,14 @@ import ( var readDuration = 5 * time.Second func init() { - ops := []string{ - opGetRecords, - } - initRequest = func(r *request.Request) { - for _, operation := range ops { - if r.Operation.Name == operation { - r.ApplyOptions(request.WithResponseReadTimeout(readDuration)) - } - } + initRequest = customizeRequest +} + +func customizeRequest(r *request.Request) { + if r.Operation.Name == opGetRecords { + r.ApplyOptions(request.WithResponseReadTimeout(readDuration)) } + + // Service specific error codes. Github(aws/aws-sdk-go#1376) + r.RetryErrorCodes = append(r.RetryErrorCodes, ErrCodeLimitExceededException) } diff --git a/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go b/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go index 2201ab2c053..c16a08293c0 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go @@ -1036,7 +1036,8 @@ func (c *SageMaker) CreateNotebookInstanceRequest(input *CreateNotebookInstanceI // groups allow it. // // After creating the notebook instance, Amazon SageMaker returns its Amazon -// Resource Name (ARN). +// Resource Name (ARN). You can't change the name of a notebook instance after +// you create it. // // After Amazon SageMaker creates the notebook instance, you can connect to // the Jupyter server and work in Jupyter notebooks. For example, you can write @@ -1338,13 +1339,19 @@ func (c *SageMaker) CreateTrainingJobRequest(input *CreateTrainingJobInput) (req // ML storage volumes to deploy for model training. In distributed training, // you specify more than one instance. // +// * EnableManagedSpotTraining - Optimize the cost of training machine learning +// models by up to 80% by using Amazon EC2 Spot instances. For more information, +// see Managed Spot Training (https://docs.aws.amazon.com/sagemaker/latest/dg/model-managed-spot-training.html). +// // * RoleARN - The Amazon Resource Number (ARN) that Amazon SageMaker assumes // to perform tasks on your behalf during model training. You must grant // this role the necessary permissions so that Amazon SageMaker can successfully // complete model training. // -// * StoppingCondition - Sets a time limit for training. Use this parameter -// to cap model training costs. +// * StoppingCondition - To help cap training costs, use MaxRuntimeInSeconds +// to set a time limit for training. Use MaxWaitTimeInSeconds to specify +// how long you are willing to to wait for a managed spot training job to +// complete. // // For more information about Amazon SageMaker, see How It Works (https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works.html). // @@ -7623,6 +7630,14 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClass arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-TextMultiClass // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-TextMultiClass // + // * Named entity eecognition - Groups similar selections and calculates + // aggregate boundaries, resolving to most-assigned label. arn:aws:lambda:us-east-1:432418664414:function:ACS-NamedEntityRecognition + // arn:aws:lambda:us-east-2:266458841044:function:ACS-NamedEntityRecognition + // arn:aws:lambda:us-west-2:081040173940:function:ACS-NamedEntityRecognition + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-NamedEntityRecognition + // // For more information, see Annotation Consolidation (http://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html). // // AnnotationConsolidationLambdaArn is a required field @@ -8005,6 +8020,57 @@ func (s *ChannelSpecification) SetSupportedInputModes(v []*string) *ChannelSpeci return s } +// Contains information about the output location for managed spot training +// checkpoint data. +type CheckpointConfig struct { + _ struct{} `type:"structure"` + + // (Optional) The local directory where checkpoints are written. The default + // directory is /opt/ml/checkpoints/. + LocalPath *string `type:"string"` + + // Identifies the S3 path where you want Amazon SageMaker to store checkpoints. + // For example, s3://bucket-name/key-name-prefix. + // + // S3Uri is a required field + S3Uri *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CheckpointConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CheckpointConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CheckpointConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CheckpointConfig"} + if s.S3Uri == nil { + invalidParams.Add(request.NewErrParamRequired("S3Uri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLocalPath sets the LocalPath field's value. +func (s *CheckpointConfig) SetLocalPath(v string) *CheckpointConfig { + s.LocalPath = &v + return s +} + +// SetS3Uri sets the S3Uri field's value. +func (s *CheckpointConfig) SetS3Uri(v string) *CheckpointConfig { + s.S3Uri = &v + return s +} + // Specifies summary information about a Git repository. type CodeRepositorySummary struct { _ struct{} `type:"structure"` @@ -10333,6 +10399,10 @@ type CreateTrainingJobInput struct { // AlgorithmSpecification is a required field AlgorithmSpecification *AlgorithmSpecification `type:"structure" required:"true"` + // Contains information about the output location for managed spot training + // checkpoint data. + CheckpointConfig *CheckpointConfig `type:"structure"` + // To encrypt all communications between ML compute instances in distributed // training, choose True. Encryption provides greater security for distributed // training, but training might take longer. How long it takes depends on the @@ -10342,6 +10412,18 @@ type CreateTrainingJobInput struct { // Training Job (https://docs.aws.amazon.com/sagemaker/latest/dg/train-encrypt.html). EnableInterContainerTrafficEncryption *bool `type:"boolean"` + // To train models using managed spot training, choose True. Managed spot training + // provides a fully managed and scalable infrastructure for training machine + // learning models. this option is useful when training jobs can be interrupted + // and when there is flexibility when the training job is run. + // + // The complete and intermediate results of jobs are stored in an Amazon S3 + // bucket, and can be used as a starting point to train models incrementally. + // Amazon SageMaker provides metrics and logs in CloudWatch. They can be used + // to see when managed spot training jobs are running, interrupted, resumed, + // or completed. + EnableManagedSpotTraining *bool `type:"boolean"` + // Isolates the training container. No inbound or outbound network calls can // be made, except for calls between peers within a training cluster for distributed // training. If you enable network isolation for training jobs that are configured @@ -10484,6 +10566,11 @@ func (s *CreateTrainingJobInput) Validate() error { invalidParams.AddNested("AlgorithmSpecification", err.(request.ErrInvalidParams)) } } + if s.CheckpointConfig != nil { + if err := s.CheckpointConfig.Validate(); err != nil { + invalidParams.AddNested("CheckpointConfig", err.(request.ErrInvalidParams)) + } + } if s.InputDataConfig != nil { for i, v := range s.InputDataConfig { if v == nil { @@ -10537,12 +10624,24 @@ func (s *CreateTrainingJobInput) SetAlgorithmSpecification(v *AlgorithmSpecifica return s } +// SetCheckpointConfig sets the CheckpointConfig field's value. +func (s *CreateTrainingJobInput) SetCheckpointConfig(v *CheckpointConfig) *CreateTrainingJobInput { + s.CheckpointConfig = v + return s +} + // SetEnableInterContainerTrafficEncryption sets the EnableInterContainerTrafficEncryption field's value. func (s *CreateTrainingJobInput) SetEnableInterContainerTrafficEncryption(v bool) *CreateTrainingJobInput { s.EnableInterContainerTrafficEncryption = &v return s } +// SetEnableManagedSpotTraining sets the EnableManagedSpotTraining field's value. +func (s *CreateTrainingJobInput) SetEnableManagedSpotTraining(v bool) *CreateTrainingJobInput { + s.EnableManagedSpotTraining = &v + return s +} + // SetEnableNetworkIsolation sets the EnableNetworkIsolation field's value. func (s *CreateTrainingJobInput) SetEnableNetworkIsolation(v bool) *CreateTrainingJobInput { s.EnableNetworkIsolation = &v @@ -10645,8 +10744,13 @@ type CreateTransformJobInput struct { // limit, set BatchStrategy to MultiRecord and SplitType to Line. BatchStrategy *string `type:"string" enum:"BatchStrategy"` - // The data structure used for combining the input data and inference in the - // output file. For more information, see Batch Transform I/O Join (http://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform-io-join.html). + // The data structure used to specify the data to be used for inference in a + // batch transform job and to associate the data that is relevant to the prediction + // results in the output. The input filter provided allows you to exclude input + // data that is not needed for inference in a batch transform job. The output + // filter provided allows you to include input data relevant to interpreting + // the predictions in the output from the job. For more information, see Associate + // Prediction Results with their Corresponding Input Records (http://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform-data-processing.html). DataProcessing *DataProcessing `type:"structure"` // The environment variables to set in the Docker container. We support up to @@ -11005,17 +11109,21 @@ func (s *CreateWorkteamOutput) SetWorkteamArn(v string) *CreateWorkteamOutput { return s } -// The data structure used to combine the input data and transformed data from -// the batch transform output into a joined dataset and to store it in an output -// file. It also contains information on how to filter the input data and the -// joined dataset. For more information, see Batch Transform I/O Join (http://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform-io-join.html). +// The data structure used to specify the data to be used for inference in a +// batch transform job and to associate the data that is relevant to the prediction +// results in the output. The input filter provided allows you to exclude input +// data that is not needed for inference in a batch transform job. The output +// filter provided allows you to include input data relevant to interpreting +// the predictions in the output from the job. For more information, see Associate +// Prediction Results with their Corresponding Input Records (http://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform-data-processing.html). type DataProcessing struct { _ struct{} `type:"structure"` - // A JSONPath expression used to select a portion of the input data to pass - // to the algorithm. Use the InputFilter parameter to exclude fields, such as - // an ID column, from the input. If you want Amazon SageMaker to pass the entire - // input dataset to the algorithm, accept the default value $. + // A JSONPath (http://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform-data-processing.html#data-processing-operators) + // expression used to select a portion of the input data to pass to the algorithm. + // Use the InputFilter parameter to exclude fields, such as an ID column, from + // the input. If you want Amazon SageMaker to pass the entire input dataset + // to the algorithm, accept the default value $. // // Examples: "$", "$[1:]", "$.features" InputFilter *string `type:"string"` @@ -11024,8 +11132,7 @@ type DataProcessing struct { // values are None and Input The default value is None which specifies not to // join the input with the transformed data. If you want the batch transform // job to join the original input data with the transformed data, set JoinSource - // to Input. To join input and output, the batch transform job must satisfy - // the Requirements for Using Batch Transform I/O Join (http://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform-io-join.html#batch-transform-io-join-requirements). + // to Input. // // For JSON or JSONLines objects, such as a JSON array, Amazon SageMaker adds // the transformed data to the input JSON object in an attribute called SageMakerOutput. @@ -11040,13 +11147,14 @@ type DataProcessing struct { // is a CSV file. JoinSource *string `type:"string" enum:"JoinSource"` - // A JSONPath expression used to select a portion of the joined dataset to save - // in the output file for a batch transform job. If you want Amazon SageMaker - // to store the entire input dataset in the output file, leave the default value, - // $. If you specify indexes that aren't within the dimension size of the joined + // A JSONPath (http://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform-data-processing.html#data-processing-operators) + // expression used to select a portion of the joined dataset to save in the + // output file for a batch transform job. If you want Amazon SageMaker to store + // the entire input dataset in the output file, leave the default value, $. + // If you specify indexes that aren't within the dimension size of the joined // dataset, you get an error. // - // Examples: "$", "$[0,5:]", "$.['id','SageMakerOutput']" + // Examples: "$", "$[0,5:]", "$['id','SageMakerOutput']" OutputFilter *string `type:"string"` } @@ -13758,6 +13866,18 @@ type DescribeTrainingJobOutput struct { // AlgorithmSpecification is a required field AlgorithmSpecification *AlgorithmSpecification `type:"structure" required:"true"` + // The billable time in seconds. + // + // You can calculate the savings from using managed spot training using the + // formula (1 - BillableTimeInSeconds / TrainingTimeInSeconds) * 100. For example, + // if BillableTimeInSeconds is 100 and TrainingTimeInSeconds is 500, the savings + // is 80%. + BillableTimeInSeconds *int64 `min:"1" type:"integer"` + + // Contains information about the output location for managed spot training + // checkpoint data. + CheckpointConfig *CheckpointConfig `type:"structure"` + // A timestamp that indicates when the training job was created. // // CreationTime is a required field @@ -13770,6 +13890,10 @@ type DescribeTrainingJobOutput struct { // a deep learning algorithms in distributed training. EnableInterContainerTrafficEncryption *bool `type:"boolean"` + // A Boolean indicating whether managed spot training is enabled (True) or not + // (False). + EnableManagedSpotTraining *bool `type:"boolean"` + // If you want to allow inbound or outbound network calls, except for calls // between peers within a training cluster for distributed training, choose // True. If you enable network isolation for training jobs that are configured @@ -13854,6 +13978,12 @@ type DescribeTrainingJobOutput struct { // * MaxRuntimeExceeded - The job stopped because it exceeded the maximum // allowed runtime. // + // * MaxWaitTmeExceeded - The job stopped because it exceeded the maximum + // allowed wait time. + // + // * Interrupted - The job stopped because the managed spot training instances + // were interrupted. + // // * Stopped - The training job has stopped. // // Stopping @@ -13877,9 +14007,10 @@ type DescribeTrainingJobOutput struct { // through. SecondaryStatusTransitions []*SecondaryStatusTransition `type:"list"` - // Specifies a limit to how long a model training job can run. When the job - // reaches the time limit, Amazon SageMaker ends the training job. Use this - // API to cap model training costs. + // Specifies a limit to how long a model training job can run. It also specifies + // the maximum time to wait for a spot instance. When the job reaches the time + // limit, Amazon SageMaker ends the training job. Use this API to cap model + // training costs. // // To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which // delays job termination for 120 seconds. Algorithms can use this 120-second @@ -13933,6 +14064,9 @@ type DescribeTrainingJobOutput struct { // of the training container. TrainingStartTime *time.Time `type:"timestamp"` + // The training time in seconds. + TrainingTimeInSeconds *int64 `min:"1" type:"integer"` + // The Amazon Resource Name (ARN) of the associated hyperparameter tuning job // if the training job was launched by a hyperparameter tuning job. TuningJobArn *string `type:"string"` @@ -13959,6 +14093,18 @@ func (s *DescribeTrainingJobOutput) SetAlgorithmSpecification(v *AlgorithmSpecif return s } +// SetBillableTimeInSeconds sets the BillableTimeInSeconds field's value. +func (s *DescribeTrainingJobOutput) SetBillableTimeInSeconds(v int64) *DescribeTrainingJobOutput { + s.BillableTimeInSeconds = &v + return s +} + +// SetCheckpointConfig sets the CheckpointConfig field's value. +func (s *DescribeTrainingJobOutput) SetCheckpointConfig(v *CheckpointConfig) *DescribeTrainingJobOutput { + s.CheckpointConfig = v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *DescribeTrainingJobOutput) SetCreationTime(v time.Time) *DescribeTrainingJobOutput { s.CreationTime = &v @@ -13971,6 +14117,12 @@ func (s *DescribeTrainingJobOutput) SetEnableInterContainerTrafficEncryption(v b return s } +// SetEnableManagedSpotTraining sets the EnableManagedSpotTraining field's value. +func (s *DescribeTrainingJobOutput) SetEnableManagedSpotTraining(v bool) *DescribeTrainingJobOutput { + s.EnableManagedSpotTraining = &v + return s +} + // SetEnableNetworkIsolation sets the EnableNetworkIsolation field's value. func (s *DescribeTrainingJobOutput) SetEnableNetworkIsolation(v bool) *DescribeTrainingJobOutput { s.EnableNetworkIsolation = &v @@ -14085,6 +14237,12 @@ func (s *DescribeTrainingJobOutput) SetTrainingStartTime(v time.Time) *DescribeT return s } +// SetTrainingTimeInSeconds sets the TrainingTimeInSeconds field's value. +func (s *DescribeTrainingJobOutput) SetTrainingTimeInSeconds(v int64) *DescribeTrainingJobOutput { + s.TrainingTimeInSeconds = &v + return s +} + // SetTuningJobArn sets the TuningJobArn field's value. func (s *DescribeTrainingJobOutput) SetTuningJobArn(v string) *DescribeTrainingJobOutput { s.TuningJobArn = &v @@ -14154,10 +14312,13 @@ type DescribeTransformJobOutput struct { // CreationTime is a required field CreationTime *time.Time `type:"timestamp" required:"true"` - // The data structure used to combine the input data and transformed data from - // the batch transform output into a joined dataset and to store it in an output - // file. It also contains information on how to filter the input data and the - // joined dataset. For more information, see Batch Transform I/O Join (http://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform-io-join.html). + // The data structure used to specify the data to be used for inference in a + // batch transform job and to associate the data that is relevant to the prediction + // results in the output. The input filter provided allows you to exclude input + // data that is not needed for inference in a batch transform job. The output + // filter provided allows you to include input data relevant to interpreting + // the predictions in the output from the job. For more information, see Associate + // Prediction Results with their Corresponding Input Records (http://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform-data-processing.html). DataProcessing *DataProcessing `type:"structure"` // The environment variables to set in the Docker container. We support up to @@ -15037,6 +15198,8 @@ type HumanTaskConfig struct { // // * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition + // // US East (Ohio) (us-east-2): // // * arn:aws:lambda:us-east-2:266458841044:function:PRE-BoundingBox @@ -15047,6 +15210,8 @@ type HumanTaskConfig struct { // // * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClass // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-NamedEntityRecognition + // // US West (Oregon) (us-west-2): // // * arn:aws:lambda:us-west-2:081040173940:function:PRE-BoundingBox @@ -15057,6 +15222,8 @@ type HumanTaskConfig struct { // // * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClass // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-NamedEntityRecognition + // // EU (Ireland) (eu-west-1): // // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-BoundingBox @@ -15067,6 +15234,8 @@ type HumanTaskConfig struct { // // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClass // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-NamedEntityRecognition + // // Asia Pacific (Tokyo) (ap-northeast-1): // // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-BoundingBox @@ -15077,7 +15246,9 @@ type HumanTaskConfig struct { // // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClass // - // Asia Pacific (Sydney) (ap-southeast-1): + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-NamedEntityRecognition + // + // Asia Pacific (Sydney) (ap-southeast-2): // // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-BoundingBox // @@ -15087,13 +15258,18 @@ type HumanTaskConfig struct { // // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClass // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-NamedEntityRecognition + // // PreHumanTaskLambdaArn is a required field PreHumanTaskLambdaArn *string `type:"string" required:"true"` - // The price that you pay for each task performed by a public worker. + // The price that you pay for each task performed by an Amazon Mechanical Turk + // worker. PublicWorkforceTaskPrice *PublicWorkforceTaskPrice `type:"structure"` - // The length of time that a task remains available for labelling by human workers. + // The length of time that a task remains available for labeling by human workers. + // If you choose the Amazon Mechanical Turk workforce, the maximum is 12 hours + // (43200). For private and vendor workforces, the maximum is as listed. TaskAvailabilityLifetimeInSeconds *int64 `min:"1" type:"integer"` // A description of the task for your human workers. @@ -15108,7 +15284,7 @@ type HumanTaskConfig struct { // The amount of time that a worker has to complete a task. // // TaskTimeLimitInSeconds is a required field - TaskTimeLimitInSeconds *int64 `min:"1" type:"integer" required:"true"` + TaskTimeLimitInSeconds *int64 `min:"30" type:"integer" required:"true"` // A title for the task for your human workers. // @@ -15171,8 +15347,8 @@ func (s *HumanTaskConfig) Validate() error { if s.TaskTimeLimitInSeconds == nil { invalidParams.Add(request.NewErrParamRequired("TaskTimeLimitInSeconds")) } - if s.TaskTimeLimitInSeconds != nil && *s.TaskTimeLimitInSeconds < 1 { - invalidParams.Add(request.NewErrParamMinValue("TaskTimeLimitInSeconds", 1)) + if s.TaskTimeLimitInSeconds != nil && *s.TaskTimeLimitInSeconds < 30 { + invalidParams.Add(request.NewErrParamMinValue("TaskTimeLimitInSeconds", 30)) } if s.TaskTitle == nil { invalidParams.Add(request.NewErrParamRequired("TaskTitle")) @@ -15489,6 +15665,10 @@ type HyperParameterTrainingJobDefinition struct { // AlgorithmSpecification is a required field AlgorithmSpecification *HyperParameterAlgorithmSpecification `type:"structure" required:"true"` + // Contains information about the output location for managed spot training + // checkpoint data. + CheckpointConfig *CheckpointConfig `type:"structure"` + // To encrypt all communications between ML compute instances in distributed // training, choose True. Encryption provides greater security for distributed // training, but training might take longer. How long it takes depends on the @@ -15496,6 +15676,10 @@ type HyperParameterTrainingJobDefinition struct { // a deep learning algorithm in distributed training. EnableInterContainerTrafficEncryption *bool `type:"boolean"` + // A Boolean indicating whether managed spot training is enabled (True) or not + // (False). + EnableManagedSpotTraining *bool `type:"boolean"` + // Isolates the training container. No inbound or outbound network calls can // be made, except for calls between peers within a training cluster for distributed // training. If network isolation is used for training jobs that are configured @@ -15539,8 +15723,9 @@ type HyperParameterTrainingJobDefinition struct { StaticHyperParameters map[string]*string `type:"map"` // Specifies a limit to how long a model hyperparameter training job can run. - // When the job reaches the time limit, Amazon SageMaker ends the training job. - // Use this API to cap model training costs. + // It also specifies how long you are willing to wait for a managed spot training + // job to complete. When the job reaches the a limit, Amazon SageMaker ends + // the training job. Use this API to cap model training costs. // // StoppingCondition is a required field StoppingCondition *StoppingCondition `type:"structure" required:"true"` @@ -15591,6 +15776,11 @@ func (s *HyperParameterTrainingJobDefinition) Validate() error { invalidParams.AddNested("AlgorithmSpecification", err.(request.ErrInvalidParams)) } } + if s.CheckpointConfig != nil { + if err := s.CheckpointConfig.Validate(); err != nil { + invalidParams.AddNested("CheckpointConfig", err.(request.ErrInvalidParams)) + } + } if s.InputDataConfig != nil { for i, v := range s.InputDataConfig { if v == nil { @@ -15634,12 +15824,24 @@ func (s *HyperParameterTrainingJobDefinition) SetAlgorithmSpecification(v *Hyper return s } +// SetCheckpointConfig sets the CheckpointConfig field's value. +func (s *HyperParameterTrainingJobDefinition) SetCheckpointConfig(v *CheckpointConfig) *HyperParameterTrainingJobDefinition { + s.CheckpointConfig = v + return s +} + // SetEnableInterContainerTrafficEncryption sets the EnableInterContainerTrafficEncryption field's value. func (s *HyperParameterTrainingJobDefinition) SetEnableInterContainerTrafficEncryption(v bool) *HyperParameterTrainingJobDefinition { s.EnableInterContainerTrafficEncryption = &v return s } +// SetEnableManagedSpotTraining sets the EnableManagedSpotTraining field's value. +func (s *HyperParameterTrainingJobDefinition) SetEnableManagedSpotTraining(v bool) *HyperParameterTrainingJobDefinition { + s.EnableManagedSpotTraining = &v + return s +} + // SetEnableNetworkIsolation sets the EnableNetworkIsolation field's value. func (s *HyperParameterTrainingJobDefinition) SetEnableNetworkIsolation(v bool) *HyperParameterTrainingJobDefinition { s.EnableNetworkIsolation = &v @@ -17080,8 +17282,14 @@ func (s *LabelingJobOutputConfig) SetS3OutputPath(v string) *LabelingJobOutputCo type LabelingJobResourceConfig struct { _ struct{} `type:"structure"` - // The AWS Key Management Service key ID for the key used to encrypt the output - // data, if any. + // The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to + // encrypt data on the storage volume attached to the ML compute instance(s) + // that run the training job. The VolumeKmsKeyId can be any of the following + // formats: + // + // * // KMS Key ID "1234abcd-12ab-34cd-56ef-1234567890ab" + // + // * // Amazon Resource Name (ARN) of a KMS Key "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" VolumeKmsKeyId *string `type:"string"` } @@ -19980,10 +20188,10 @@ func (s *MetricData) SetValue(v float64) *MetricData { return s } -// Specifies a metric that the training algorithm writes to stderr or stdout. -// Amazon SageMakerhyperparameter tuning captures all defined metrics. You specify -// one metric that a hyperparameter tuning job uses as its objective metric -// to choose the best training job. +// Specifies a metric that the training algorithm writes to stderr or stdout +// . Amazon SageMakerhyperparameter tuning captures all defined metrics. You +// specify one metric that a hyperparameter tuning job uses as its objective +// metric to choose the best training job. type MetricDefinition struct { _ struct{} `type:"structure"` @@ -20518,7 +20726,7 @@ type NestedFilters struct { Filters []*Filter `min:"1" type:"list" required:"true"` // The name of the property to use in the nested filters. The value must match - // a listed property name, such as InputDataConfig. + // a listed property name, such as InputDataConfig . // // NestedPropertyName is a required field NestedPropertyName *string `min:"1" type:"string" required:"true"` @@ -21479,7 +21687,8 @@ func (s *PropertyNameSuggestion) SetPropertyName(v string) *PropertyNameSuggesti // each task performed. // // Use one of the following prices for bounding box tasks. Prices are in US -// dollars. +// dollars and should be based on the complexity of the task; the longer it +// takes in your initial testing, the more you should offer. // // * 0.036 // @@ -21557,7 +21766,8 @@ func (s *PropertyNameSuggestion) SetPropertyName(v string) *PropertyNameSuggesti type PublicWorkforceTaskPrice struct { _ struct{} `type:"structure"` - // Defines the amount of money paid to a worker in United States dollars. + // Defines the amount of money paid to an Amazon Mechanical Turk worker in United + // States dollars. AmountInUsd *USD `type:"structure"` } @@ -23017,8 +23227,9 @@ func (s StopTransformJobOutput) GoString() string { } // Specifies a limit to how long a model training or compilation job can run. -// When the job reaches the time limit, Amazon SageMaker ends the training or -// compilation job. Use this API to cap model training costs. +// It also specifies how long you are willing to wait for a managed spot training +// job to complete. When the job reaches the time limit, Amazon SageMaker ends +// the training or compilation job. Use this API to cap model training costs. // // To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which // delays job termination for 120 seconds. Algorithms can use this 120-second @@ -23042,6 +23253,12 @@ type StoppingCondition struct { // ends the job. If value is not specified, default value is 1 day. The maximum // value is 28 days. MaxRuntimeInSeconds *int64 `min:"1" type:"integer"` + + // The maximum length of time, in seconds, how long you are willing to wait + // for a managed spot training job to complete. It is the amount of time spent + // waiting for Spot capacity plus the amount of time the training job runs. + // It must be equal to or greater than MaxRuntimeInSeconds. + MaxWaitTimeInSeconds *int64 `min:"1" type:"integer"` } // String returns the string representation @@ -23060,6 +23277,9 @@ func (s *StoppingCondition) Validate() error { if s.MaxRuntimeInSeconds != nil && *s.MaxRuntimeInSeconds < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxRuntimeInSeconds", 1)) } + if s.MaxWaitTimeInSeconds != nil && *s.MaxWaitTimeInSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxWaitTimeInSeconds", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -23073,6 +23293,12 @@ func (s *StoppingCondition) SetMaxRuntimeInSeconds(v int64) *StoppingCondition { return s } +// SetMaxWaitTimeInSeconds sets the MaxWaitTimeInSeconds field's value. +func (s *StoppingCondition) SetMaxWaitTimeInSeconds(v int64) *StoppingCondition { + s.MaxWaitTimeInSeconds = &v + return s +} + // Describes a work team of a vendor that does the a labelling job. type SubscribedWorkteam struct { _ struct{} `type:"structure"` @@ -24498,7 +24724,7 @@ type TransformResources struct { // The ML compute instance type for the transform job. If you are using built-in // algorithms to transform moderately sized datasets, we recommend using ml.m4.xlarge - // or ml.m5.largeinstance types. + // or ml.m5.large instance types. // // InstanceType is a required field InstanceType *string `type:"string" required:"true" enum:"TransformInstanceType"` @@ -25220,11 +25446,13 @@ type UpdateNotebookInstanceLifecycleConfigInput struct { // NotebookInstanceLifecycleConfigName is a required field NotebookInstanceLifecycleConfigName *string `type:"string" required:"true"` - // The shell script that runs only once, when you create a notebook instance + // The shell script that runs only once, when you create a notebook instance. + // The shell script must be a base64-encoded string. OnCreate []*NotebookInstanceLifecycleHook `type:"list"` // The shell script that runs every time you start a notebook instance, including - // when you create the notebook instance. + // when you create the notebook instance. The shell script must be a base64-encoded + // string. OnStart []*NotebookInstanceLifecycleHook `type:"list"` } @@ -26391,6 +26619,12 @@ const ( // SecondaryStatusFailed is a SecondaryStatus enum value SecondaryStatusFailed = "Failed" + + // SecondaryStatusInterrupted is a SecondaryStatus enum value + SecondaryStatusInterrupted = "Interrupted" + + // SecondaryStatusMaxWaitTimeExceeded is a SecondaryStatus enum value + SecondaryStatusMaxWaitTimeExceeded = "MaxWaitTimeExceeded" ) const ( @@ -26469,8 +26703,17 @@ const ( // TargetDeviceRk3288 is a TargetDevice enum value TargetDeviceRk3288 = "rk3288" + // TargetDeviceAisage is a TargetDevice enum value + TargetDeviceAisage = "aisage" + // TargetDeviceSbeC is a TargetDevice enum value TargetDeviceSbeC = "sbe_c" + + // TargetDeviceQcs605 is a TargetDevice enum value + TargetDeviceQcs605 = "qcs605" + + // TargetDeviceQcs603 is a TargetDevice enum value + TargetDeviceQcs603 = "qcs603" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go index 1eb9b6021c7..59e11cfcfb6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go @@ -5348,12 +5348,12 @@ func (c *StorageGateway) NotifyWhenUploadedRequest(input *NotifyWhenUploadedInpu // NotifyWhenUploaded API operation for AWS Storage Gateway. // // Sends you notification through CloudWatch Events when all files written to -// your NFS file share have been uploaded to Amazon S3. +// your file share have been uploaded to Amazon S3. // // AWS Storage Gateway can send a notification through Amazon CloudWatch Events // when all files written to your file share up to that point in time have been -// uploaded to Amazon S3. These files include files written to the NFS file -// share up to the time that you make a request for notification. When the upload +// uploaded to Amazon S3. These files include files written to the file share +// up to the time that you make a request for notification. When the upload // is done, Storage Gateway sends you notification through an Amazon CloudWatch // Event. You can configure CloudWatch Events to send the notification through // event targets such as Amazon SNS or AWS Lambda function. This operation is @@ -6935,6 +6935,10 @@ func (c *StorageGateway) UpdateSMBSecurityStrategyRequest(input *UpdateSMBSecuri // Updates the SMB security strategy on a file gateway. This action is only // supported in file gateways. // +// This API is called Security level in the User Guide. +// +// A higher security level can affect performance of the gateway. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -8849,9 +8853,12 @@ func (s *CreateNFSFileShareOutput) SetFileShareARN(v string) *CreateNFSFileShare type CreateSMBFileShareInput struct { _ struct{} `type:"structure"` - // A list of users or groups in the Active Directory that have administrator - // rights to the file share. A group must be prefixed with the @ character. - // For example @group1. Can only be set if Authentication is set to ActiveDirectory. + // A list of users in the Active Directory that will be granted administrator + // privileges on the file share. These users can do all file operations as the + // super-user. + // + // Use this option very carefully, because any user in this list can do anything + // they like on the file share, regardless of file permissions. AdminUserList []*string `type:"list"` // The authentication method that users use to access the file share. @@ -9145,6 +9152,15 @@ type CreateSnapshotFromVolumeRecoveryPointInput struct { // SnapshotDescription is a required field SnapshotDescription *string `min:"1" type:"string" required:"true"` + // A list of up to 50 tags that can be assigned to a snapshot. Each tag is a + // key-value pair. + // + // Valid characters for key and value are letters, spaces, and numbers representable + // in UTF-8 format, and the following special characters: + - = . _ : / @. The + // maximum length of a tag's key is 128 characters, and the maximum length for + // a tag's value is 256. + Tags []*Tag `type:"list"` + // The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes // operation to return to retrieve the TargetARN for specified VolumeARN. // @@ -9177,6 +9193,16 @@ func (s *CreateSnapshotFromVolumeRecoveryPointInput) Validate() error { if s.VolumeARN != nil && len(*s.VolumeARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("VolumeARN", 50)) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -9190,6 +9216,12 @@ func (s *CreateSnapshotFromVolumeRecoveryPointInput) SetSnapshotDescription(v st return s } +// SetTags sets the Tags field's value. +func (s *CreateSnapshotFromVolumeRecoveryPointInput) SetTags(v []*Tag) *CreateSnapshotFromVolumeRecoveryPointInput { + s.Tags = v + return s +} + // SetVolumeARN sets the VolumeARN field's value. func (s *CreateSnapshotFromVolumeRecoveryPointInput) SetVolumeARN(v string) *CreateSnapshotFromVolumeRecoveryPointInput { s.VolumeARN = &v @@ -11472,14 +11504,18 @@ type DescribeSMBSettingsOutput struct { // The type of security strategy that was specified for file gateway. // - // ClientSpecified: SMBv1 is enabled, SMB signing is offered but not required, - // SMB encryption is offered but not required. + // ClientSpecified: if you use this option, requests are established based on + // what is negotiated by the client. This option is recommended when you want + // to maximize compatibility across different clients in your environment. // - // MandatorySigning: SMBv1 is disabled, SMB signing is required, SMB encryption - // is offered but not required. + // MandatorySigning: if you use this option, file gateway only allows connections + // from SMBv2 or SMBv3 clients that have signing enabled. This option works + // with SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer. // - // MandatoryEncryption: SMBv1 is disabled, SMB signing is offered but not required, - // SMB encryption is required. + // MandatoryEncryption: if you use this option, file gateway only allows connections + // from SMBv3 clients that have encryption enabled. This option is highly recommended + // for environments that handle sensitive data. This option works with SMB clients + // on Microsoft Windows 8, Windows Server 2012 or newer. SMBSecurityStrategy *string `type:"string" enum:"SMBSecurityStrategy"` } @@ -11575,6 +11611,11 @@ type DescribeSnapshotScheduleOutput struct { // of the gateway. StartAt *int64 `type:"integer"` + // A list of up to 50 tags assigned to the snapshot schedule, sorted alphabetically + // by key name. Each tag is a key-value pair. For a gateway with more than 10 + // tags assigned, you can view all tags using the ListTagsForResource API operation. + Tags []*Tag `type:"list"` + // A value that indicates the time zone of the gateway. Timezone *string `min:"3" type:"string"` @@ -11610,6 +11651,12 @@ func (s *DescribeSnapshotScheduleOutput) SetStartAt(v int64) *DescribeSnapshotSc return s } +// SetTags sets the Tags field's value. +func (s *DescribeSnapshotScheduleOutput) SetTags(v []*Tag) *DescribeSnapshotScheduleOutput { + s.Tags = v + return s +} + // SetTimezone sets the Timezone field's value. func (s *DescribeSnapshotScheduleOutput) SetTimezone(v string) *DescribeSnapshotScheduleOutput { s.Timezone = &v @@ -12885,8 +12932,8 @@ type JoinDomainInput struct { // GatewayARN is a required field GatewayARN *string `min:"50" type:"string" required:"true"` - // The organizational unit (OU) is a container with an Active Directory that - // can hold users, groups, computers, and other OUs and this parameter specifies + // The organizational unit (OU) is a container in an Active Directory that can + // hold users, groups, computers, and other OUs and this parameter specifies // the OU that the gateway will join within the AD domain. OrganizationalUnit *string `min:"1" type:"string"` @@ -16482,9 +16529,9 @@ func (s *UpdateNFSFileShareOutput) SetFileShareARN(v string) *UpdateNFSFileShare type UpdateSMBFileShareInput struct { _ struct{} `type:"structure"` - // A list of users or groups in the Active Directory that have administrator - // rights to the file share. A group must be prefixed with the @ character. - // For example @group1. Can only be set if Authentication is set to ActiveDirectory. + // A list of users in the Active Directory that have administrator rights to + // the file share. A group must be prefixed with the @ character. For example + // @group1. Can only be set if Authentication is set to ActiveDirectory. AdminUserList []*string `type:"list"` // The default storage class for objects put into an Amazon S3 bucket by the @@ -16686,14 +16733,18 @@ type UpdateSMBSecurityStrategyInput struct { // Specifies the type of security strategy. // - // ClientSpecified: SMBv1 is enabled, SMB signing is offered but not required, - // SMB encryption is offered but not required. + // ClientSpecified: if you use this option, requests are established based on + // what is negotiated by the client. This option is recommended when you want + // to maximize compatibility across different clients in your environment. // - // MandatorySigning: SMBv1 is disabled, SMB signing is required, SMB encryption - // is offered but not required. + // MandatorySigning: if you use this option, file gateway only allows connections + // from SMBv2 or SMBv3 clients that have signing enabled. This option works + // with SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer. // - // MandatoryEncryption: SMBv1 is disabled, SMB signing is offered but not required, - // SMB encryption is required. + // MandatoryEncryption: if you use this option, file gateway only allows connections + // from SMBv3 clients that have encryption enabled. This option is highly recommended + // for environments that handle sensitive data. This option works with SMB clients + // on Microsoft Windows 8, Windows Server 2012 or newer. // // SMBSecurityStrategy is a required field SMBSecurityStrategy *string `type:"string" required:"true" enum:"SMBSecurityStrategy"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go new file mode 100644 index 00000000000..d5307fcaa0f --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go @@ -0,0 +1,11 @@ +package sts + +import "github.com/aws/aws-sdk-go/aws/request" + +func init() { + initRequest = customizeRequest +} + +func customizeRequest(r *request.Request) { + r.RetryErrorCodes = append(r.RetryErrorCodes, ErrCodeIDPCommunicationErrorException) +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go b/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go index 57d6579b756..575135be927 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go @@ -58,11 +58,9 @@ func (c *Transfer) CreateServerRequest(input *CreateServerInput) (req *request.R // CreateServer API operation for AWS Transfer for SFTP. // // Instantiates an autoscaling virtual server based on Secure File Transfer -// Protocol (SFTP) in AWS. The call returns the ServerId property assigned by -// the service to the newly created server. Reference this ServerId property -// when you make updates to your server, or work with users. -// -// The response returns the ServerId value for the newly created server. +// Protocol (SFTP) in AWS. When you make updates to your server or when you +// work with users, use the service-generated ServerId property that is assigned +// to the newly created server. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -151,15 +149,13 @@ func (c *Transfer) CreateUserRequest(input *CreateUserInput) (req *request.Reque // CreateUser API operation for AWS Transfer for SFTP. // -// Adds a user and associate them with an existing Secure File Transfer Protocol -// (SFTP) server. Using parameters for CreateUser, you can specify the user -// name, set the home directory, store the user's public key, and assign the -// user's AWS Identity and Access Management (IAM) role. You can also optionally -// add a scope-down policy, and assign metadata with tags that can be used to -// group and search for users. -// -// The response returns the UserName and ServerId values of the new user for -// that server. +// Creates a user and associates them with an existing Secure File Transfer +// Protocol (SFTP) server. You can only create and associate users with SFTP +// servers that have the IdentityProviderType set to SERVICE_MANAGED. Using +// parameters for CreateUser, you can specify the user name, set the home directory, +// store the user's public key, and assign the user's AWS Identity and Access +// Management (IAM) role. You can also optionally add a scope-down policy, and +// assign metadata with tags that can be used to group and search for users. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -254,10 +250,8 @@ func (c *Transfer) DeleteServerRequest(input *DeleteServerInput) (req *request.R // DeleteServer API operation for AWS Transfer for SFTP. // // Deletes the Secure File Transfer Protocol (SFTP) server that you specify. -// If you used SERVICE_MANAGED as your IdentityProviderType, you need to delete -// all users associated with this server before deleting the server itself // -// No response returns from this call. +// No response returns from this operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -350,7 +344,7 @@ func (c *Transfer) DeleteSshPublicKeyRequest(input *DeleteSshPublicKeyInput) (re // // Deletes a user's Secure Shell (SSH) public key. // -// No response is returned from this call. +// No response is returned from this operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -443,7 +437,7 @@ func (c *Transfer) DeleteUserRequest(input *DeleteUserInput) (req *request.Reque // // Deletes the user belonging to the server you specify. // -// No response returns from this call. +// No response returns from this operation. // // When you delete a user from a server, the user's information is lost. // @@ -1365,7 +1359,7 @@ func (c *Transfer) StopServerRequest(input *StopServerInput) (req *request.Reque // Stopping a server will not reduce or impact your Secure File Transfer Protocol // (SFTP) endpoint billing. // -// The states of STOPPING indicates that the server is in an intermediate state, +// The state of STOPPING indicates that the server is in an intermediate state, // either not fully able to respond, or not fully offline. The values of STOP_FAILED // can indicate an error condition. // @@ -1551,7 +1545,7 @@ func (c *Transfer) TestIdentityProviderRequest(input *TestIdentityProviderInput) // // If the IdentityProviderType of the server is API_Gateway, tests whether your // API Gateway is set up successfully. We highly recommend that you call this -// method to test your authentication method as soon as you create your server. +// operation to test your authentication method as soon as you create your server. // By doing so, you can troubleshoot issues with the API Gateway integration // to ensure that your users can successfully use the service. // @@ -1880,33 +1874,38 @@ type CreateServerInput struct { _ struct{} `type:"structure"` // The virtual private cloud (VPC) endpoint settings that you want to configure - // for your SFTP server. + // for your SFTP server. This parameter is required when you specify a value + // for the EndpointType parameter. EndpointDetails *EndpointDetails `type:"structure"` - // The type of VPC endpoint that you want your SFTP server connect to. If you - // connect to a VPC endpoint, your SFTP server isn't accessible over the public - // internet. + // The type of VPC endpoint that you want your SFTP server to connect to. If + // you connect to a VPC endpoint, your SFTP server isn't accessible over the + // public internet. EndpointType *string `type:"string" enum:"EndpointType"` - // The RSA private key as generated by ssh-keygen -N "" -f my-new-server-key + // The RSA private key as generated by the ssh-keygen -N "" -f my-new-server-key // command. // // If you aren't planning to migrate existing users from an existing SFTP server // to a new AWS SFTP server, don't update the host key. Accidentally changing - // a server's host key can be disruptive. For more information, see change-host-key + // a server's host key can be disruptive. + // + // For more information, see "https://docs.aws.amazon.com/transfer/latest/userguide/change-host-key" // in the AWS SFTP User Guide. - HostKey *string `type:"string"` + HostKey *string `type:"string" sensitive:"true"` - // An array containing all of the information required to call a customer-supplied - // authentication API. This parameter is not required when the IdentityProviderType - // value of server that is created uses the SERVICE_MANAGED authentication method. + // This parameter is required when the IdentityProviderType is set to API_GATEWAY. + // Accepts an array containing all of the information required to call a customer-supplied + // authentication API, including the API Gateway URL. This property is not required + // when the IdentityProviderType is set to SERVICE_MANAGED. IdentityProviderDetails *IdentityProviderDetails `type:"structure"` - // The mode of authentication enabled for this service. The default value is - // SERVICE_MANAGED, which allows you to store and access SFTP user credentials - // within the service. An IdentityProviderType value of API_GATEWAY indicates - // that user authentication requires a call to an API Gateway endpoint URL provided - // by you to integrate an identity provider of your choice. + // Specifies the mode of authentication for the SFTP server. The default value + // is SERVICE_MANAGED, which allows you to store and access SFTP user credentials + // within the AWS Transfer for SFTP service. Use the API_GATEWAY value to integrate + // with an identity provider of your choosing. The API_GATEWAY setting requires + // you to provide an API Gateway endpoint URL to call for authentication using + // the IdentityProviderDetails parameter. IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` // A value that allows the service to write your SFTP users' activity to your @@ -2026,8 +2025,18 @@ type CreateUserInput struct { // A scope-down policy for your user so you can use the same IAM role across // multiple users. This policy scopes down user access to portions of their - // Amazon S3 bucket. Variables you can use inside this policy include ${Transfer:UserName}, + // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. + // + // For scope-down policies, AWS Transfer for SFTP stores the policy as a JSON + // blob, instead of the Amazon Resource Name (ARN) of the policy. You save the + // policy as a JSON blob and pass it in the Policy argument. + // + // For an example of a scope-down policy, see "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down">Creating + // a Scope-Down Policy. + // + // For more information, see "https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html" + // in the AWS Security Token Service API Reference. Policy *string `type:"string"` // The IAM role that controls your user's access to your Amazon S3 bucket. The @@ -2046,7 +2055,7 @@ type CreateUserInput struct { // ServerId is a required field ServerId *string `type:"string" required:"true"` - // The public portion of the Secure Shall (SSH) key used to authenticate the + // The public portion of the Secure Shell (SSH) key used to authenticate the // user to the SFTP server. SshPublicKeyBody *string `type:"string"` @@ -2456,8 +2465,8 @@ type DescribeUserInput struct { ServerId *string `type:"string" required:"true"` // The name of the user assigned to one or more servers. User names are part - // of the sign-in credentials to use the AWS Transfer service and perform file - // transfer tasks. + // of the sign-in credentials to use the AWS Transfer for SFTP service and perform + // file transfer tasks. // // UserName is a required field UserName *string `type:"string" required:"true"` @@ -2539,9 +2548,10 @@ func (s *DescribeUserOutput) SetUser(v *DescribedUser) *DescribeUserOutput { return s } -// Describe the properties of the server that was specified. Information returned -// includes: the server Amazon Resource Name (ARN), the authentication configuration -// and type, the logging role, server Id and state, and assigned tags or metadata. +// Describes the properties of the server that was specified. Information returned +// includes the following: the server Amazon Resource Name (ARN), the authentication +// configuration and type, the logging role, the server ID and state, and assigned +// tags or metadata. type DescribedServer struct { _ struct{} `type:"structure"` @@ -2559,9 +2569,9 @@ type DescribedServer struct { // the public internet. EndpointType *string `type:"string" enum:"EndpointType"` - // This value contains the Message-Digest Algorithm (MD5) hash of the server's - // host key. This value is equivalent to the output of ssh-keygen -l -E md5 - // -f my-new-server-key command. + // This value contains the message-digest algorithm (MD5) hash of the server's + // host key. This value is equivalent to the output of the ssh-keygen -l -E + // md5 -f my-new-server-key command. HostKeyFingerprint *string `type:"string"` // Specifies information to call a customer-supplied authentication API. This @@ -2569,7 +2579,7 @@ type DescribedServer struct { IdentityProviderDetails *IdentityProviderDetails `type:"structure"` // This property defines the mode of authentication method enabled for this - // service. A value of SERVICE_MANAGED, means that you are using this Server + // service. A value of SERVICE_MANAGED means that you are using this server // to store and access SFTP user credentials within the service. A value of // API_GATEWAY indicates that you have integrated an API Gateway endpoint that // will be invoked for authenticating your user into the service. @@ -2577,10 +2587,10 @@ type DescribedServer struct { // This property is an AWS Identity and Access Management (IAM) entity that // allows the server to turn on Amazon CloudWatch logging for Amazon S3 events. - // When set, user activity can be view in your CloudWatch logs. + // When set, user activity can be viewed in your CloudWatch logs. LoggingRole *string `type:"string"` - // This property is a unique system assigned identifier for the SFTP server + // This property is a unique system-assigned identifier for the SFTP server // that you instantiate. ServerId *string `type:"string"` @@ -2589,7 +2599,7 @@ type DescribedServer struct { // State value of OFFLINE means that the server cannot perform file transfer // operations. // - // The states of STARTING and STOPPING indicated that the server is in an intermediate + // The states of STARTING and STOPPING indicate that the server is in an intermediate // state, either not fully able to respond, or not fully offline. The values // of START_FAILED or STOP_FAILED can indicate an error condition. State *string `type:"string" enum:"State"` @@ -2679,7 +2689,7 @@ func (s *DescribedServer) SetUserCount(v int64) *DescribedServer { return s } -// Returns properties of the user that you wish to describe. +// Returns properties of the user that you want to describe. type DescribedUser struct { _ struct{} `type:"structure"` @@ -2689,9 +2699,9 @@ type DescribedUser struct { // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` - // This property specifies the landing directory (or folder) which is the location + // This property specifies the landing directory (or folder), which is the location // that files are written to or read from in an Amazon S3 bucket for the described - // user. An example would be: /bucket_name/home/username . + // user. An example is /bucket_name/home/username . HomeDirectory *string `type:"string"` // Specifies the name of the policy in use for the described user. @@ -2797,16 +2807,16 @@ func (s *EndpointDetails) SetVpcEndpointId(v string) *EndpointDetails { } // Returns information related to the type of user authentication that is in -// use for a server's users. A server can only have one method of authentication. +// use for a server's users. A server can have only one method of authentication. type IdentityProviderDetails struct { _ struct{} `type:"structure"` - // The Role parameter provides the type of InvocationRole used to authenticate - // the user account. + // The InvocationRole parameter provides the type of InvocationRole used to + // authenticate the user account. InvocationRole *string `type:"string"` - // The IdentityProviderDetail parameter contains the location of the service - // endpoint used to authenticate users. + // The Url parameter provides contains the location of the service endpoint + // used to authenticate users. Url *string `type:"string"` } @@ -2898,9 +2908,9 @@ func (s *ImportSshPublicKeyInput) SetUserName(v string) *ImportSshPublicKeyInput return s } -// This response identifies the user, server they belong to, and the identifier +// This response identifies the user, the server they belong to, and the identifier // of the SSH public key associated with that user. A user can have more than -// one key on each server that they are associate with. +// one key on each server that they are associated with. type ImportSshPublicKeyOutput struct { _ struct{} `type:"structure"` @@ -3050,9 +3060,9 @@ type ListTagsForResourceInput struct { // request. MaxResults *int64 `min:"1" type:"integer"` - // When you request additional results from the ListTagsForResource call, a - // NextToken parameter is returned in the input. You can then pass in a subsequent - // command the NextToken parameter to continue listing additional tags. + // When you request additional results from the ListTagsForResource operation, + // a NextToken parameter is returned in the input. You can then pass in a subsequent + // command to the NextToken parameter to continue listing additional tags. NextToken *string `min:"1" type:"string"` } @@ -3114,12 +3124,11 @@ type ListTagsForResourceOutput struct { // When you can get additional results from the ListTagsForResource call, a // NextToken parameter is returned in the output. You can then pass in a subsequent - // command the NextToken parameter to continue listing additional tags. + // command to the NextToken parameter to continue listing additional tags. NextToken *string `min:"1" type:"string"` // Key-value pairs that are assigned to a resource, usually for the purpose - // of grouping and searching for items. Tags are metadata that you define that - // you can use for any purpose. + // of grouping and searching for items. Tags are metadata that you define. Tags []*Tag `min:"1" type:"list"` } @@ -3159,11 +3168,11 @@ type ListUsersInput struct { // When you can get additional results from the ListUsers call, a NextToken // parameter is returned in the output. You can then pass in a subsequent command - // the NextToken parameter to continue listing additional users. + // to the NextToken parameter to continue listing additional users. NextToken *string `min:"1" type:"string"` // A system-assigned unique identifier for a Secure File Transfer Protocol (SFTP) - // server that has users are assigned to it. + // server that has users assigned to it. // // ServerId is a required field ServerId *string `type:"string" required:"true"` @@ -3221,7 +3230,7 @@ type ListUsersOutput struct { // When you can get additional results from the ListUsers call, a NextToken // parameter is returned in the output. You can then pass in a subsequent command - // the NextToken parameter to continue listing additional users. + // to the NextToken parameter to continue listing additional users. NextToken *string `min:"1" type:"string"` // A system-assigned unique identifier for an SFTP server that the users are @@ -3280,9 +3289,9 @@ type ListedServer struct { EndpointType *string `type:"string" enum:"EndpointType"` // The authentication method used to validate a user for the server that was - // specified. listed. This can include Secure Shell (SSH), user name and password - // combinations, or your own custom authentication method. Valid values include - // SERVICE_MANAGED or API_GATEWAY. + // specified. This can include Secure Shell (SSH), user name and password combinations, + // or your own custom authentication method. Valid values include SERVICE_MANAGED + // or API_GATEWAY. IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` // The AWS Identity and Access Management entity that allows the server to turn @@ -3298,7 +3307,7 @@ type ListedServer struct { // and transfer files. A State value of OFFLINE means that the server cannot // perform file transfer operations. // - // The states of STARTING and STOPPING indicated that the server is in an intermediate + // The states of STARTING and STOPPING indicate that the server is in an intermediate // state, either not fully able to respond, or not fully offline. The values // of START_FAILED or STOP_FAILED can indicate an error condition. State *string `type:"string" enum:"State"` @@ -3365,7 +3374,7 @@ type ListedUser struct { _ struct{} `type:"structure"` // This property is the unique Amazon Resource Name (ARN) for the user that - // you wish to learn about. + // you want to learn about. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` @@ -3375,7 +3384,7 @@ type ListedUser struct { HomeDirectory *string `type:"string"` // The role in use by this user. A role is an AWS Identity and Access Management - // (IAM) entity that in this case allows the SFTP server to act on a user's + // (IAM) entity that, in this case, allows the SFTP server to act on a user's // behalf. It allows the server to inherit the trust relationship that enables // that user to perform file operations to their Amazon S3 bucket. Role *string `type:"string"` @@ -3731,19 +3740,19 @@ func (s TagResourceOutput) GoString() string { type TestIdentityProviderInput struct { _ struct{} `type:"structure"` - // A system assigned identifier for a specific server. That server's user authentication + // A system-assigned identifier for a specific server. That server's user authentication // method is tested with a user name and password. // // ServerId is a required field ServerId *string `type:"string" required:"true"` - // This request parameter is name of the user account to be tested. + // This request parameter is the name of the user account to be tested. // // UserName is a required field UserName *string `type:"string" required:"true"` // The password of the user account to be tested. - UserPassword *string `type:"string"` + UserPassword *string `type:"string" sensitive:"true"` } // String returns the string representation @@ -3793,9 +3802,12 @@ func (s *TestIdentityProviderInput) SetUserPassword(v string) *TestIdentityProvi type TestIdentityProviderOutput struct { _ struct{} `type:"structure"` - // The result of the authorization test as a message. + // A message that indicates whether the test was successful or not. Message *string `type:"string"` + // The response that is returned from your API Gateway. + Response *string `type:"string"` + // The HTTP status code that is the response from your API Gateway. // // StatusCode is a required field @@ -3823,6 +3835,12 @@ func (s *TestIdentityProviderOutput) SetMessage(v string) *TestIdentityProviderO return s } +// SetResponse sets the Response field's value. +func (s *TestIdentityProviderOutput) SetResponse(v string) *TestIdentityProviderOutput { + s.Response = &v + return s +} + // SetStatusCode sets the StatusCode field's value. func (s *TestIdentityProviderOutput) SetStatusCode(v int64) *TestIdentityProviderOutput { s.StatusCode = &v @@ -3929,9 +3947,11 @@ type UpdateServerInput struct { // // If you aren't planning to migrate existing users from an existing SFTP server // to a new AWS SFTP server, don't update the host key. Accidentally changing - // a server's host key can be disruptive. For more information, see change-host-key + // a server's host key can be disruptive. + // + // For more information, see "https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key" // in the AWS SFTP User Guide. - HostKey *string `type:"string"` + HostKey *string `type:"string" sensitive:"true"` // This response parameter is an array containing all of the information required // to call a customer's authentication API method. @@ -4037,16 +4057,25 @@ func (s *UpdateServerOutput) SetServerId(v string) *UpdateServerOutput { type UpdateUserInput struct { _ struct{} `type:"structure"` - // The HomeDirectory parameter specifies the landing directory (folder) for - // a user when they log in to the server using their client. An example would - // be: /home/username . + // A parameter that specifies the landing directory (folder) for a user when + // they log in to the server using their client. An example is /home/username . HomeDirectory *string `type:"string"` // Allows you to supply a scope-down policy for your user so you can use the // same AWS Identity and Access Management (IAM) role across multiple users. - // The policy scopes down users access to portions of your Amazon S3 bucket. + // The policy scopes down user access to portions of your Amazon S3 bucket. // Variables you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, // and ${Transfer:HomeBucket}. + // + // For scope-down policies, AWS Transfer for SFTP stores the policy as a JSON + // blob, instead of the Amazon Resource Name (ARN) of the policy. You save the + // policy as a JSON blob and pass it in the Policy argument. + // + // For an example of a scope-down policy, see "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down">Creating + // a Scope-Down Policy. + // + // For more information, see "https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html" + // in the AWS Security Token Service API Reference. Policy *string `type:"string"` // The IAM role that controls your user's access to your Amazon S3 bucket. The @@ -4181,7 +4210,7 @@ const ( // use for a server's users. For SERVICE_MANAGED authentication, the Secure // Shell (SSH) public keys are stored with a user on an SFTP server instance. // For API_GATEWAY authentication, your custom authentication method is implemented -// by using an API call. A server can only have one method of authentication. +// by using an API call. A server can have only one method of authentication. const ( // IdentityProviderTypeServiceManaged is a IdentityProviderType enum value IdentityProviderTypeServiceManaged = "SERVICE_MANAGED" diff --git a/vendor/github.com/aws/aws-sdk-go/service/transfer/doc.go b/vendor/github.com/aws/aws-sdk-go/service/transfer/doc.go index dde22377781..51a9c01b3df 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/transfer/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/transfer/doc.go @@ -12,7 +12,7 @@ // and partners, or their applications. With your data in S3, you can use it // with AWS services for processing, analytics, machine learning, and archiving. // Getting started with AWS Transfer for SFTP (AWS SFTP) is easy; there is no -// infrastructure to buy and setup. +// infrastructure to buy and set up. // // See https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05 for more information on this service. // diff --git a/vendor/modules.txt b/vendor/modules.txt index 18648e86b11..d7be6248df4 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -21,7 +21,7 @@ github.com/apparentlymart/go-cidr/cidr github.com/apparentlymart/go-textseg/textseg # github.com/armon/go-radix v1.0.0 github.com/armon/go-radix -# github.com/aws/aws-sdk-go v1.23.0 +# github.com/aws/aws-sdk-go v1.23.5 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn github.com/aws/aws-sdk-go/aws/awserr