From 5a48c42ab73bfbbf8e76cc5f812a6a9c150526ae Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 5 Jun 2020 18:35:46 +0000 Subject: [PATCH] Update module aws/aws-sdk-go to v1.31.12 --- go.mod | 2 +- go.sum | 4 +- .../github.com/aws/aws-sdk-go/aws/config.go | 3 +- .../aws/aws-sdk-go/aws/endpoints/decode.go | 2 +- .../aws/aws-sdk-go/aws/endpoints/defaults.go | 235 +- vendor/github.com/aws/aws-sdk-go/aws/types.go | 23 + .../github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../private/checksum/content_md5.go | 53 + .../aws/aws-sdk-go/service/apigateway/api.go | 46 + .../aws/aws-sdk-go/service/athena/api.go | 2672 +++++++++++++++-- .../aws/aws-sdk-go/service/athena/errors.go | 11 + .../aws/aws-sdk-go/service/autoscaling/api.go | 445 ++- .../aws-sdk-go/service/autoscaling/errors.go | 3 +- .../aws/aws-sdk-go/service/cloudfront/api.go | 341 ++- .../aws-sdk-go/service/cloudfront/errors.go | 4 +- .../aws/aws-sdk-go/service/codebuild/api.go | 86 +- .../aws-sdk-go/service/directconnect/api.go | 641 +++- .../aws/aws-sdk-go/service/dlm/api.go | 34 +- .../aws/aws-sdk-go/service/dynamodb/api.go | 210 +- .../aws/aws-sdk-go/service/ec2/api.go | 254 +- .../aws/aws-sdk-go/service/elasticache/api.go | 97 +- .../service/elasticbeanstalk/api.go | 339 ++- .../service/elasticbeanstalk/doc.go | 4 +- .../service/elasticsearchservice/api.go | 2063 ++++++++++++- .../service/elasticsearchservice/errors.go | 28 +- .../aws/aws-sdk-go/service/elbv2/api.go | 83 +- .../aws/aws-sdk-go/service/elbv2/errors.go | 6 + .../aws/aws-sdk-go/service/emr/api.go | 33 + .../aws/aws-sdk-go/service/fsx/api.go | 285 +- .../aws/aws-sdk-go/service/glue/api.go | 13 +- .../aws/aws-sdk-go/service/guardduty/api.go | 441 ++- .../aws/aws-sdk-go/service/iam/api.go | 146 +- .../aws/aws-sdk-go/service/iam/doc.go | 59 +- .../aws/aws-sdk-go/service/kafka/api.go | 467 ++- .../aws/aws-sdk-go/service/kms/api.go | 329 +- .../aws/aws-sdk-go/service/lightsail/api.go | 139 +- .../aws/aws-sdk-go/service/macie/api.go | 116 +- .../aws/aws-sdk-go/service/macie/doc.go | 18 +- .../service/marketplacecatalog/api.go | 38 +- .../service/marketplacecatalog/doc.go | 4 +- .../aws-sdk-go/service/mediaconvert/api.go | 968 +++++- .../aws/aws-sdk-go/service/personalize/api.go | 829 +++++ .../aws/aws-sdk-go/service/pinpoint/api.go | 377 ++- .../aws/aws-sdk-go/service/quicksight/api.go | 29 +- .../aws/aws-sdk-go/service/s3/api.go | 807 ++--- .../aws/aws-sdk-go/service/s3/body_hash.go | 49 +- .../aws-sdk-go/service/s3/customizations.go | 6 - .../aws/aws-sdk-go/service/sagemaker/api.go | 602 ++-- .../aws-sdk-go/service/servicecatalog/api.go | 124 +- .../aws/aws-sdk-go/service/ssm/api.go | 80 +- .../aws/aws-sdk-go/service/synthetics/api.go | 35 +- .../aws/aws-sdk-go/service/worklink/api.go | 490 ++- .../aws/aws-sdk-go/service/worklink/doc.go | 8 +- .../aws/aws-sdk-go/service/workmail/api.go | 635 ++++ vendor/modules.txt | 3 +- 55 files changed, 12693 insertions(+), 2128 deletions(-) create mode 100644 vendor/github.com/aws/aws-sdk-go/private/checksum/content_md5.go diff --git a/go.mod b/go.mod index 1aadb5f25ac..5d66485565e 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/terraform-providers/terraform-provider-aws go 1.13 require ( - github.com/aws/aws-sdk-go v1.31.2 + github.com/aws/aws-sdk-go v1.31.12 github.com/beevik/etree v1.1.0 github.com/bflad/tfproviderdocs v0.6.0 github.com/bflad/tfproviderlint v0.14.0 diff --git a/go.sum b/go.sum index 8f08832955b..54630891339 100644 --- a/go.sum +++ b/go.sum @@ -39,8 +39,8 @@ github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.31.2 h1:REYLkyG1EGES8SJS0QsUwvWix9oQwUbJ8HLgMxUHpKo= -github.com/aws/aws-sdk-go v1.31.2/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.31.12 h1:SxRRGyhlCagI0DYkhOg+FgdXGXzRTE3vEX/gsgFaiKQ= +github.com/aws/aws-sdk-go v1.31.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= diff --git a/vendor/github.com/aws/aws-sdk-go/aws/config.go b/vendor/github.com/aws/aws-sdk-go/aws/config.go index 2def23fa1d1..2c002e152af 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/config.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/config.go @@ -43,7 +43,7 @@ type Config struct { // An optional endpoint URL (hostname only or fully qualified URI) // that overrides the default generated endpoint for a client. Set this - // to `""` to use the default generated endpoint. + // to `nil` to use the default generated endpoint. // // Note: You must still provide a `Region` value when specifying an // endpoint for a client. @@ -238,6 +238,7 @@ type Config struct { // EnableEndpointDiscovery will allow for endpoint discovery on operations that // have the definition in its model. By default, endpoint discovery is off. + // To use EndpointDiscovery, Endpoint should be unset or set to an empty string. // // Example: // sess := session.Must(session.NewSession(&aws.Config{ diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go index 343a2106f81..654fb1ad52d 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go @@ -93,7 +93,7 @@ func decodeV3Endpoints(modelDef modelDefinition, opts DecodeModelOptions) (Resol } func custAddS3DualStack(p *partition) { - if p.ID != "aws" { + if !(p.ID == "aws" || p.ID == "aws-cn" || p.ID == "aws-us-gov") { return } 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 4202e826aa5..bdf4f71ab06 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 @@ -312,6 +312,29 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "api.detective": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "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{}, + "us-west-2": endpoint{}, + }, + }, "api.ecr": service{ Endpoints: endpoints{ @@ -2131,6 +2154,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -2194,6 +2218,12 @@ var awsPartition = partition{ Region: "eu-north-1", }, }, + "fips-eu-south-1": endpoint{ + Hostname: "elasticfilesystem-fips.eu-south-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-south-1", + }, + }, "fips-eu-west-1": endpoint{ Hostname: "elasticfilesystem-fips.eu-west-1.amazonaws.com", CredentialScope: credentialScope{ @@ -2679,6 +2709,7 @@ var awsPartition = partition{ "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, @@ -3280,8 +3311,10 @@ 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{}, @@ -3501,14 +3534,45 @@ 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{}, - "us-west-2": endpoint{}, + "fips-ca-central-1": endpoint{ + Hostname: "mediaconvert-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "fips-us-east-1": endpoint{ + Hostname: "mediaconvert-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "mediaconvert-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoint{ + Hostname: "mediaconvert-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "mediaconvert-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "medialive": service{ @@ -4820,12 +4884,36 @@ 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{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "fips-us-east-1": endpoint{ + Hostname: "securityhub-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "securityhub-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoint{ + Hostname: "securityhub-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "securityhub-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "serverlessrepo": service{ @@ -6148,6 +6236,15 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "autoscaling-plans": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, "backup": service{ Endpoints: endpoints{ @@ -6554,6 +6651,9 @@ var awscnPartition = partition{ Defaults: endpoint{ Protocols: []string{"http", "https"}, SignatureVersions: []string{"s3v4"}, + + HasDualStack: boxedTrue, + DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", }, Endpoints: endpoints{ "cn-north-1": endpoint{}, @@ -6564,6 +6664,9 @@ var awscnPartition = partition{ Defaults: endpoint{ Protocols: []string{"https"}, SignatureVersions: []string{"s3v4"}, + + HasDualStack: boxedTrue, + DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", }, Endpoints: endpoints{ "cn-north-1": endpoint{ @@ -7295,6 +7398,18 @@ var awsusgovPartition = partition{ "elasticloadbalancing": service{ Endpoints: endpoints{ + "fips-us-gov-east-1": endpoint{ + Hostname: "elasticloadbalancing-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "fips-us-gov-west-1": endpoint{ + Hostname: "elasticloadbalancing-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{ Protocols: []string{"http", "https"}, @@ -7441,6 +7556,12 @@ var awsusgovPartition = partition{ }, Endpoints: endpoints{ "us-gov-west-1": endpoint{}, + "us-gov-west-1-fips": endpoint{ + Hostname: "guardduty.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "health": service{ @@ -7460,6 +7581,12 @@ var awsusgovPartition = partition{ Region: "us-gov-west-1", }, }, + "iam-govcloud-fips": endpoint{ + Hostname: "iam.us-gov.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "inspector": service{ @@ -7507,6 +7634,18 @@ var awsusgovPartition = partition{ "kinesis": service{ Endpoints: endpoints{ + "fips-us-gov-east-1": endpoint{ + Hostname: "kinesis-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "fips-us-gov-west-1": endpoint{ + Hostname: "kinesis-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, @@ -7572,7 +7711,12 @@ var awsusgovPartition = partition{ "mediaconvert": service{ Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, + "us-gov-west-1": endpoint{ + Hostname: "mediaconvert.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "metering.marketplace": service{ @@ -7633,6 +7777,12 @@ var awsusgovPartition = partition{ Region: "us-gov-west-1", }, }, + "fips-aws-us-gov-global": endpoint{ + Hostname: "organizations.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "outposts": service{ @@ -7771,6 +7921,9 @@ var awsusgovPartition = partition{ "s3": service{ Defaults: endpoint{ SignatureVersions: []string{"s3", "s3v4"}, + + HasDualStack: boxedTrue, + DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", }, Endpoints: endpoints{ "fips-us-gov-west-1": endpoint{ @@ -7793,6 +7946,9 @@ var awsusgovPartition = partition{ Defaults: endpoint{ Protocols: []string{"https"}, SignatureVersions: []string{"s3v4"}, + + HasDualStack: boxedTrue, + DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", }, Endpoints: endpoints{ "us-gov-east-1": endpoint{ @@ -7847,6 +8003,18 @@ var awsusgovPartition = partition{ "securityhub": service{ Endpoints: endpoints{ + "fips-us-gov-east-1": endpoint{ + Hostname: "securityhub-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "fips-us-gov-west-1": endpoint{ + Hostname: "securityhub-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, @@ -7857,10 +8025,18 @@ var awsusgovPartition = partition{ }, Endpoints: endpoints{ "us-gov-east-1": endpoint{ + Hostname: "serverlessrepo.us-gov-east-1.amazonaws.com", Protocols: []string{"https"}, + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, }, "us-gov-west-1": endpoint{ + Hostname: "serverlessrepo.us-gov-west-1.amazonaws.com", Protocols: []string{"https"}, + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, }, }, }, @@ -7924,9 +8100,18 @@ var awsusgovPartition = partition{ "sns": service{ Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, + "us-gov-east-1": endpoint{ + Hostname: "sns.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoint{ + Hostname: "sns.us-gov-west-1.amazonaws.com", Protocols: []string{"http", "https"}, + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, }, }, }, @@ -8002,6 +8187,12 @@ var awsusgovPartition = partition{ "storagegateway": service{ Endpoints: endpoints{ + "fips": endpoint{ + Hostname: "storagegateway-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, @@ -8033,7 +8224,19 @@ var awsusgovPartition = partition{ Endpoints: endpoints{ "us-gov-east-1": endpoint{}, + "us-gov-east-1-fips": endpoint{ + Hostname: "sts.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoint{}, + "us-gov-west-1-fips": endpoint{ + Hostname: "sts.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "support": service{ @@ -8046,6 +8249,12 @@ var awsusgovPartition = partition{ Region: "us-gov-west-1", }, }, + "fips-us-gov-west-1": endpoint{ + Hostname: "support.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "swf": service{ diff --git a/vendor/github.com/aws/aws-sdk-go/aws/types.go b/vendor/github.com/aws/aws-sdk-go/aws/types.go index d542ef01bc8..98751ee84f2 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/types.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/types.go @@ -239,3 +239,26 @@ func (es errors) Error() string { return strings.Join(parts, "\n") } + +// CopySeekableBody copies the seekable body to an io.Writer +func CopySeekableBody(dst io.Writer, src io.ReadSeeker) (int64, error) { + curPos, err := src.Seek(0, sdkio.SeekCurrent) + if err != nil { + return 0, err + } + + // copy errors may be assumed to be from the body. + n, err := io.Copy(dst, src) + if err != nil { + return n, err + } + + // seek back to the first position after reading to reset + // the body for transmission. + _, err = src.Seek(curPos, sdkio.SeekStart) + if err != nil { + return n, err + } + + return n, nil +} 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 2569d20f9ac..28e186602a9 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.31.2" +const SDKVersion = "1.31.12" diff --git a/vendor/github.com/aws/aws-sdk-go/private/checksum/content_md5.go b/vendor/github.com/aws/aws-sdk-go/private/checksum/content_md5.go new file mode 100644 index 00000000000..e045f38d837 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/checksum/content_md5.go @@ -0,0 +1,53 @@ +package checksum + +import ( + "crypto/md5" + "encoding/base64" + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/request" +) + +const contentMD5Header = "Content-Md5" + +// AddBodyContentMD5Handler computes and sets the HTTP Content-MD5 header for requests that +// require it. +func AddBodyContentMD5Handler(r *request.Request) { + // if Content-MD5 header is already present, return + if v := r.HTTPRequest.Header.Get(contentMD5Header); len(v) != 0 { + return + } + + // if S3DisableContentMD5Validation flag is set, return + if aws.BoolValue(r.Config.S3DisableContentMD5Validation) { + return + } + + // if request is presigned, return + if r.IsPresigned() { + return + } + + // if body is not seekable, return + if !aws.IsReaderSeekable(r.Body) { + if r.Config.Logger != nil { + r.Config.Logger.Log(fmt.Sprintf( + "Unable to compute Content-MD5 for unseekable body, S3.%s", + r.Operation.Name)) + } + return + } + + h := md5.New() + + if _, err := aws.CopySeekableBody(h, r.Body); err != nil { + r.Error = awserr.New("ContentMD5", "failed to compute body MD5", err) + return + } + + // encode the md5 checksum in base64 and set the request header. + v := base64.StdEncoding.EncodeToString(h.Sum(nil)) + r.HTTPRequest.Header.Set(contentMD5Header, v) +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go b/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go index 15969f19078..f8c99673177 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go @@ -20043,6 +20043,9 @@ type Integration struct { // milliseconds or 29 seconds. TimeoutInMillis *int64 `locationName:"timeoutInMillis" type:"integer"` + // Specifies the TLS configuration for an integration. + TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"` + // Specifies an API method integration type. The valid value is one of the following: // // * AWS: for integrating the API method request with an AWS service action, @@ -20178,6 +20181,12 @@ func (s *Integration) SetTimeoutInMillis(v int64) *Integration { return s } +// SetTlsConfig sets the TlsConfig field's value. +func (s *Integration) SetTlsConfig(v *TlsConfig) *Integration { + s.TlsConfig = v + return s +} + // SetType sets the Type field's value. func (s *Integration) SetType(v string) *Integration { s.Type = &v @@ -21280,6 +21289,8 @@ type PutIntegrationInput struct { // milliseconds or 29 seconds. TimeoutInMillis *int64 `locationName:"timeoutInMillis" type:"integer"` + TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"` + // [Required] Specifies a put integration input's type. // // Type is a required field @@ -21434,6 +21445,12 @@ func (s *PutIntegrationInput) SetTimeoutInMillis(v int64) *PutIntegrationInput { return s } +// SetTlsConfig sets the TlsConfig field's value. +func (s *PutIntegrationInput) SetTlsConfig(v *TlsConfig) *PutIntegrationInput { + s.TlsConfig = v + return s +} + // SetType sets the Type field's value. func (s *PutIntegrationInput) SetType(v string) *PutIntegrationInput { s.Type = &v @@ -23178,6 +23195,35 @@ func (s *ThrottleSettings) SetRateLimit(v float64) *ThrottleSettings { return s } +type TlsConfig struct { + _ struct{} `type:"structure"` + + // Specifies whether API Gateway skips trust chain validation of the server + // certificate during the TLS handshake. Supported only for HTTP and HTTP_PROXY + // integrations. By default, API Gateway validates that certificates for integration + // endpoints are issued by a supported Certificate Authority (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-supported-certificate-authorities-for-http-endpoints.html). + // If enabled, API Gateway skips trust chain validation of the server certificate. + // This is not recommended, but it enables you to use certificates that are + // signed by private Certificate Authorities, or certificates that are self-signed. + InsecureSkipVerification *bool `locationName:"insecureSkipVerification" type:"boolean"` +} + +// String returns the string representation +func (s TlsConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TlsConfig) GoString() string { + return s.String() +} + +// SetInsecureSkipVerification sets the InsecureSkipVerification field's value. +func (s *TlsConfig) SetInsecureSkipVerification(v bool) *TlsConfig { + s.InsecureSkipVerification = &v + return s +} + // The request has reached its throttling limit. Retry after the specified time // period. type TooManyRequestsException struct { 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 ca2043b0144..0b934bfa932 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 @@ -194,6 +194,92 @@ func (c *Athena) BatchGetQueryExecutionWithContext(ctx aws.Context, input *Batch return out, req.Send() } +const opCreateDataCatalog = "CreateDataCatalog" + +// CreateDataCatalogRequest generates a "aws/request.Request" representing the +// client's request for the CreateDataCatalog 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 CreateDataCatalog for more information on using the CreateDataCatalog +// 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 CreateDataCatalogRequest method. +// req, resp := client.CreateDataCatalogRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalog +func (c *Athena) CreateDataCatalogRequest(input *CreateDataCatalogInput) (req *request.Request, output *CreateDataCatalogOutput) { + op := &request.Operation{ + Name: opCreateDataCatalog, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDataCatalogInput{} + } + + output = &CreateDataCatalogOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreateDataCatalog API operation for Amazon Athena. +// +// Creates (registers) a data catalog with the specified name and properties. +// Catalogs created are visible to all users of the same AWS account. +// +// 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 Athena's +// API operation CreateDataCatalog for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalog +func (c *Athena) CreateDataCatalog(input *CreateDataCatalogInput) (*CreateDataCatalogOutput, error) { + req, out := c.CreateDataCatalogRequest(input) + return out, req.Send() +} + +// CreateDataCatalogWithContext is the same as CreateDataCatalog with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDataCatalog 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 *Athena) CreateDataCatalogWithContext(ctx aws.Context, input *CreateDataCatalogInput, opts ...request.Option) (*CreateDataCatalogOutput, error) { + req, out := c.CreateDataCatalogRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateNamedQuery = "CreateNamedQuery" // CreateNamedQueryRequest generates a "aws/request.Request" representing the @@ -368,6 +454,91 @@ func (c *Athena) CreateWorkGroupWithContext(ctx aws.Context, input *CreateWorkGr return out, req.Send() } +const opDeleteDataCatalog = "DeleteDataCatalog" + +// DeleteDataCatalogRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDataCatalog 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 DeleteDataCatalog for more information on using the DeleteDataCatalog +// 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 DeleteDataCatalogRequest method. +// req, resp := client.DeleteDataCatalogRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteDataCatalog +func (c *Athena) DeleteDataCatalogRequest(input *DeleteDataCatalogInput) (req *request.Request, output *DeleteDataCatalogOutput) { + op := &request.Operation{ + Name: opDeleteDataCatalog, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDataCatalogInput{} + } + + output = &DeleteDataCatalogOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDataCatalog API operation for Amazon Athena. +// +// Deletes a data catalog. +// +// 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 Athena's +// API operation DeleteDataCatalog for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteDataCatalog +func (c *Athena) DeleteDataCatalog(input *DeleteDataCatalogInput) (*DeleteDataCatalogOutput, error) { + req, out := c.DeleteDataCatalogRequest(input) + return out, req.Send() +} + +// DeleteDataCatalogWithContext is the same as DeleteDataCatalog with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDataCatalog 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 *Athena) DeleteDataCatalogWithContext(ctx aws.Context, input *DeleteDataCatalogInput, opts ...request.Option) (*DeleteDataCatalogOutput, error) { + req, out := c.DeleteDataCatalogRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteNamedQuery = "DeleteNamedQuery" // DeleteNamedQueryRequest generates a "aws/request.Request" representing the @@ -544,6 +715,181 @@ func (c *Athena) DeleteWorkGroupWithContext(ctx aws.Context, input *DeleteWorkGr return out, req.Send() } +const opGetDataCatalog = "GetDataCatalog" + +// GetDataCatalogRequest generates a "aws/request.Request" representing the +// client's request for the GetDataCatalog 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 GetDataCatalog for more information on using the GetDataCatalog +// 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 GetDataCatalogRequest method. +// req, resp := client.GetDataCatalogRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDataCatalog +func (c *Athena) GetDataCatalogRequest(input *GetDataCatalogInput) (req *request.Request, output *GetDataCatalogOutput) { + op := &request.Operation{ + Name: opGetDataCatalog, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDataCatalogInput{} + } + + output = &GetDataCatalogOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDataCatalog API operation for Amazon Athena. +// +// Returns the specified data catalog. +// +// 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 Athena's +// API operation GetDataCatalog for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDataCatalog +func (c *Athena) GetDataCatalog(input *GetDataCatalogInput) (*GetDataCatalogOutput, error) { + req, out := c.GetDataCatalogRequest(input) + return out, req.Send() +} + +// GetDataCatalogWithContext is the same as GetDataCatalog with the addition of +// the ability to pass a context and additional request options. +// +// See GetDataCatalog 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 *Athena) GetDataCatalogWithContext(ctx aws.Context, input *GetDataCatalogInput, opts ...request.Option) (*GetDataCatalogOutput, error) { + req, out := c.GetDataCatalogRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDatabase = "GetDatabase" + +// GetDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the GetDatabase 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 GetDatabase for more information on using the GetDatabase +// 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 GetDatabaseRequest method. +// req, resp := client.GetDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDatabase +func (c *Athena) GetDatabaseRequest(input *GetDatabaseInput) (req *request.Request, output *GetDatabaseOutput) { + op := &request.Operation{ + Name: opGetDatabase, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDatabaseInput{} + } + + output = &GetDatabaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDatabase API operation for Amazon Athena. +// +// Returns a database object for the specfied database and data catalog. +// +// 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 Athena's +// API operation GetDatabase for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * MetadataException +// An exception that Athena received when it called a custom metastore. Occurs +// if the error is not caused by user input (InvalidRequestException) or from +// the Athena platform (InternalServerException). For example, if a user-created +// Lambda function is missing permissions, the Lambda 4XX exception is returned +// in a MetadataException. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDatabase +func (c *Athena) GetDatabase(input *GetDatabaseInput) (*GetDatabaseOutput, error) { + req, out := c.GetDatabaseRequest(input) + return out, req.Send() +} + +// GetDatabaseWithContext is the same as GetDatabase with the addition of +// the ability to pass a context and additional request options. +// +// See GetDatabase 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 *Athena) GetDatabaseWithContext(ctx aws.Context, input *GetDatabaseInput, opts ...request.Option) (*GetDatabaseOutput, error) { + req, out := c.GetDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetNamedQuery = "GetNamedQuery" // GetNamedQueryRequest generates a "aws/request.Request" representing the @@ -871,7 +1217,98 @@ func (c *Athena) GetQueryResultsPagesWithContext(ctx aws.Context, input *GetQuer return p.Err() } -const opGetWorkGroup = "GetWorkGroup" +const opGetTableMetadata = "GetTableMetadata" + +// GetTableMetadataRequest generates a "aws/request.Request" representing the +// client's request for the GetTableMetadata 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 GetTableMetadata for more information on using the GetTableMetadata +// 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 GetTableMetadataRequest method. +// req, resp := client.GetTableMetadataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetTableMetadata +func (c *Athena) GetTableMetadataRequest(input *GetTableMetadataInput) (req *request.Request, output *GetTableMetadataOutput) { + op := &request.Operation{ + Name: opGetTableMetadata, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetTableMetadataInput{} + } + + output = &GetTableMetadataOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTableMetadata API operation for Amazon Athena. +// +// Returns table metadata for the specified catalog, database, and table. +// +// 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 Athena's +// API operation GetTableMetadata for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * MetadataException +// An exception that Athena received when it called a custom metastore. Occurs +// if the error is not caused by user input (InvalidRequestException) or from +// the Athena platform (InternalServerException). For example, if a user-created +// Lambda function is missing permissions, the Lambda 4XX exception is returned +// in a MetadataException. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetTableMetadata +func (c *Athena) GetTableMetadata(input *GetTableMetadataInput) (*GetTableMetadataOutput, error) { + req, out := c.GetTableMetadataRequest(input) + return out, req.Send() +} + +// GetTableMetadataWithContext is the same as GetTableMetadata with the addition of +// the ability to pass a context and additional request options. +// +// See GetTableMetadata 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 *Athena) GetTableMetadataWithContext(ctx aws.Context, input *GetTableMetadataInput, opts ...request.Option) (*GetTableMetadataOutput, error) { + req, out := c.GetTableMetadataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWorkGroup = "GetWorkGroup" // GetWorkGroupRequest generates a "aws/request.Request" representing the // client's request for the GetWorkGroup operation. The "output" return @@ -955,35 +1392,35 @@ func (c *Athena) GetWorkGroupWithContext(ctx aws.Context, input *GetWorkGroupInp return out, req.Send() } -const opListNamedQueries = "ListNamedQueries" +const opListDataCatalogs = "ListDataCatalogs" -// ListNamedQueriesRequest generates a "aws/request.Request" representing the -// client's request for the ListNamedQueries operation. The "output" return +// ListDataCatalogsRequest generates a "aws/request.Request" representing the +// client's request for the ListDataCatalogs 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 ListNamedQueries for more information on using the ListNamedQueries +// See ListDataCatalogs for more information on using the ListDataCatalogs // 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 ListNamedQueriesRequest method. -// req, resp := client.ListNamedQueriesRequest(params) +// // Example sending a request using the ListDataCatalogsRequest method. +// req, resp := client.ListDataCatalogsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNamedQueries -func (c *Athena) ListNamedQueriesRequest(input *ListNamedQueriesInput) (req *request.Request, output *ListNamedQueriesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDataCatalogs +func (c *Athena) ListDataCatalogsRequest(input *ListDataCatalogsInput) (req *request.Request, output *ListDataCatalogsOutput) { op := &request.Operation{ - Name: opListNamedQueries, + Name: opListDataCatalogs, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -995,30 +1432,24 @@ func (c *Athena) ListNamedQueriesRequest(input *ListNamedQueriesInput) (req *req } if input == nil { - input = &ListNamedQueriesInput{} + input = &ListDataCatalogsInput{} } - output = &ListNamedQueriesOutput{} + output = &ListDataCatalogsOutput{} req = c.newRequest(op, input, output) return } -// ListNamedQueries API operation for Amazon Athena. -// -// Provides a list of available query IDs only for queries saved in the specified -// workgroup. Requires that you have access to the workgroup. If a workgroup -// is not specified, lists the saved queries for the primary workgroup. +// ListDataCatalogs API operation for Amazon Athena. // -// For code samples using the AWS SDK for Java, see Examples and Code Samples -// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon -// Athena User Guide. +// Lists the data catalogs in the current AWS account. // // 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 Athena's -// API operation ListNamedQueries for usage and error information. +// API operation ListDataCatalogs for usage and error information. // // Returned Error Types: // * InternalServerException @@ -1029,65 +1460,65 @@ func (c *Athena) ListNamedQueriesRequest(input *ListNamedQueriesInput) (req *req // Indicates that something is wrong with the input to the request. For example, // a required parameter may be missing or out of range. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNamedQueries -func (c *Athena) ListNamedQueries(input *ListNamedQueriesInput) (*ListNamedQueriesOutput, error) { - req, out := c.ListNamedQueriesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDataCatalogs +func (c *Athena) ListDataCatalogs(input *ListDataCatalogsInput) (*ListDataCatalogsOutput, error) { + req, out := c.ListDataCatalogsRequest(input) return out, req.Send() } -// ListNamedQueriesWithContext is the same as ListNamedQueries with the addition of +// ListDataCatalogsWithContext is the same as ListDataCatalogs with the addition of // the ability to pass a context and additional request options. // -// See ListNamedQueries for details on how to use this API operation. +// See ListDataCatalogs 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 *Athena) ListNamedQueriesWithContext(ctx aws.Context, input *ListNamedQueriesInput, opts ...request.Option) (*ListNamedQueriesOutput, error) { - req, out := c.ListNamedQueriesRequest(input) +func (c *Athena) ListDataCatalogsWithContext(ctx aws.Context, input *ListDataCatalogsInput, opts ...request.Option) (*ListDataCatalogsOutput, error) { + req, out := c.ListDataCatalogsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListNamedQueriesPages iterates over the pages of a ListNamedQueries operation, +// ListDataCatalogsPages iterates over the pages of a ListDataCatalogs operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListNamedQueries method for more information on how to use this operation. +// See ListDataCatalogs 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 ListNamedQueries operation. +// // Example iterating over at most 3 pages of a ListDataCatalogs operation. // pageNum := 0 -// err := client.ListNamedQueriesPages(params, -// func(page *athena.ListNamedQueriesOutput, lastPage bool) bool { +// err := client.ListDataCatalogsPages(params, +// func(page *athena.ListDataCatalogsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *Athena) ListNamedQueriesPages(input *ListNamedQueriesInput, fn func(*ListNamedQueriesOutput, bool) bool) error { - return c.ListNamedQueriesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Athena) ListDataCatalogsPages(input *ListDataCatalogsInput, fn func(*ListDataCatalogsOutput, bool) bool) error { + return c.ListDataCatalogsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListNamedQueriesPagesWithContext same as ListNamedQueriesPages except +// ListDataCatalogsPagesWithContext same as ListDataCatalogsPages 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 *Athena) ListNamedQueriesPagesWithContext(ctx aws.Context, input *ListNamedQueriesInput, fn func(*ListNamedQueriesOutput, bool) bool, opts ...request.Option) error { +func (c *Athena) ListDataCatalogsPagesWithContext(ctx aws.Context, input *ListDataCatalogsInput, fn func(*ListDataCatalogsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListNamedQueriesInput + var inCpy *ListDataCatalogsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListNamedQueriesRequest(inCpy) + req, _ := c.ListDataCatalogsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1095,7 +1526,7 @@ func (c *Athena) ListNamedQueriesPagesWithContext(ctx aws.Context, input *ListNa } for p.Next() { - if !fn(p.Page().(*ListNamedQueriesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListDataCatalogsOutput), !p.HasNextPage()) { break } } @@ -1103,35 +1534,35 @@ func (c *Athena) ListNamedQueriesPagesWithContext(ctx aws.Context, input *ListNa return p.Err() } -const opListQueryExecutions = "ListQueryExecutions" +const opListDatabases = "ListDatabases" -// ListQueryExecutionsRequest generates a "aws/request.Request" representing the -// client's request for the ListQueryExecutions operation. The "output" return +// ListDatabasesRequest generates a "aws/request.Request" representing the +// client's request for the ListDatabases 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 ListQueryExecutions for more information on using the ListQueryExecutions +// See ListDatabases for more information on using the ListDatabases // 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 ListQueryExecutionsRequest method. -// req, resp := client.ListQueryExecutionsRequest(params) +// // Example sending a request using the ListDatabasesRequest method. +// req, resp := client.ListDatabasesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListQueryExecutions -func (c *Athena) ListQueryExecutionsRequest(input *ListQueryExecutionsInput) (req *request.Request, output *ListQueryExecutionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDatabases +func (c *Athena) ListDatabasesRequest(input *ListDatabasesInput) (req *request.Request, output *ListDatabasesOutput) { op := &request.Operation{ - Name: opListQueryExecutions, + Name: opListDatabases, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1143,31 +1574,24 @@ func (c *Athena) ListQueryExecutionsRequest(input *ListQueryExecutionsInput) (re } if input == nil { - input = &ListQueryExecutionsInput{} + input = &ListDatabasesInput{} } - output = &ListQueryExecutionsOutput{} + output = &ListDatabasesOutput{} req = c.newRequest(op, input, output) return } -// ListQueryExecutions API operation for Amazon Athena. -// -// Provides a list of available query execution IDs for the queries in the specified -// workgroup. If a workgroup is not specified, returns a list of query execution -// IDs for the primary workgroup. Requires you to have access to the workgroup -// in which the queries ran. +// ListDatabases API operation for Amazon Athena. // -// For code samples using the AWS SDK for Java, see Examples and Code Samples -// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon -// Athena User Guide. +// Lists the databases in the specified data catalog. // // 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 Athena's -// API operation ListQueryExecutions for usage and error information. +// API operation ListDatabases for usage and error information. // // Returned Error Types: // * InternalServerException @@ -1178,65 +1602,72 @@ func (c *Athena) ListQueryExecutionsRequest(input *ListQueryExecutionsInput) (re // Indicates that something is wrong with the input to the request. For example, // a required parameter may be missing or out of range. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListQueryExecutions -func (c *Athena) ListQueryExecutions(input *ListQueryExecutionsInput) (*ListQueryExecutionsOutput, error) { - req, out := c.ListQueryExecutionsRequest(input) +// * MetadataException +// An exception that Athena received when it called a custom metastore. Occurs +// if the error is not caused by user input (InvalidRequestException) or from +// the Athena platform (InternalServerException). For example, if a user-created +// Lambda function is missing permissions, the Lambda 4XX exception is returned +// in a MetadataException. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDatabases +func (c *Athena) ListDatabases(input *ListDatabasesInput) (*ListDatabasesOutput, error) { + req, out := c.ListDatabasesRequest(input) return out, req.Send() } -// ListQueryExecutionsWithContext is the same as ListQueryExecutions with the addition of +// ListDatabasesWithContext is the same as ListDatabases with the addition of // the ability to pass a context and additional request options. // -// See ListQueryExecutions for details on how to use this API operation. +// See ListDatabases 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 *Athena) ListQueryExecutionsWithContext(ctx aws.Context, input *ListQueryExecutionsInput, opts ...request.Option) (*ListQueryExecutionsOutput, error) { - req, out := c.ListQueryExecutionsRequest(input) +func (c *Athena) ListDatabasesWithContext(ctx aws.Context, input *ListDatabasesInput, opts ...request.Option) (*ListDatabasesOutput, error) { + req, out := c.ListDatabasesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListQueryExecutionsPages iterates over the pages of a ListQueryExecutions operation, +// ListDatabasesPages iterates over the pages of a ListDatabases operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListQueryExecutions method for more information on how to use this operation. +// See ListDatabases 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 ListQueryExecutions operation. +// // Example iterating over at most 3 pages of a ListDatabases operation. // pageNum := 0 -// err := client.ListQueryExecutionsPages(params, -// func(page *athena.ListQueryExecutionsOutput, lastPage bool) bool { +// err := client.ListDatabasesPages(params, +// func(page *athena.ListDatabasesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *Athena) ListQueryExecutionsPages(input *ListQueryExecutionsInput, fn func(*ListQueryExecutionsOutput, bool) bool) error { - return c.ListQueryExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Athena) ListDatabasesPages(input *ListDatabasesInput, fn func(*ListDatabasesOutput, bool) bool) error { + return c.ListDatabasesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListQueryExecutionsPagesWithContext same as ListQueryExecutionsPages except +// ListDatabasesPagesWithContext same as ListDatabasesPages 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 *Athena) ListQueryExecutionsPagesWithContext(ctx aws.Context, input *ListQueryExecutionsInput, fn func(*ListQueryExecutionsOutput, bool) bool, opts ...request.Option) error { +func (c *Athena) ListDatabasesPagesWithContext(ctx aws.Context, input *ListDatabasesInput, fn func(*ListDatabasesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListQueryExecutionsInput + var inCpy *ListDatabasesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListQueryExecutionsRequest(inCpy) + req, _ := c.ListDatabasesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1244,7 +1675,7 @@ func (c *Athena) ListQueryExecutionsPagesWithContext(ctx aws.Context, input *Lis } for p.Next() { - if !fn(p.Page().(*ListQueryExecutionsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListDatabasesOutput), !p.HasNextPage()) { break } } @@ -1252,58 +1683,70 @@ func (c *Athena) ListQueryExecutionsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListNamedQueries = "ListNamedQueries" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListNamedQueriesRequest generates a "aws/request.Request" representing the +// client's request for the ListNamedQueries 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 ListTagsForResource for more information on using the ListTagsForResource +// See ListNamedQueries for more information on using the ListNamedQueries // 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 ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the ListNamedQueriesRequest method. +// req, resp := client.ListNamedQueriesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTagsForResource -func (c *Athena) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNamedQueries +func (c *Athena) ListNamedQueriesRequest(input *ListNamedQueriesInput) (req *request.Request, output *ListNamedQueriesOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opListNamedQueries, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &ListNamedQueriesInput{} } - output = &ListTagsForResourceOutput{} + output = &ListNamedQueriesOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for Amazon Athena. +// ListNamedQueries API operation for Amazon Athena. +// +// Provides a list of available query IDs only for queries saved in the specified +// workgroup. Requires that you have access to the specified workgroup. If a +// workgroup is not specified, lists the saved queries for the primary workgroup. // -// Lists the tags associated with this workgroup. +// For code samples using the AWS SDK for Java, see Examples and Code Samples +// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon +// Athena User 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 Athena's -// API operation ListTagsForResource for usage and error information. +// API operation ListNamedQueries for usage and error information. // // Returned Error Types: // * InternalServerException @@ -1314,42 +1757,534 @@ func (c *Athena) ListTagsForResourceRequest(input *ListTagsForResourceInput) (re // Indicates that something is wrong with the input to the request. For example, // a required parameter may be missing or out of range. // -// * ResourceNotFoundException -// A resource, such as a workgroup, was not found. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTagsForResource -func (c *Athena) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNamedQueries +func (c *Athena) ListNamedQueries(input *ListNamedQueriesInput) (*ListNamedQueriesOutput, error) { + req, out := c.ListNamedQueriesRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// ListNamedQueriesWithContext is the same as ListNamedQueries with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See ListNamedQueries 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 *Athena) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *Athena) ListNamedQueriesWithContext(ctx aws.Context, input *ListNamedQueriesInput, opts ...request.Option) (*ListNamedQueriesOutput, error) { + req, out := c.ListNamedQueriesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListWorkGroups = "ListWorkGroups" +// ListNamedQueriesPages iterates over the pages of a ListNamedQueries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListNamedQueries 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 ListNamedQueries operation. +// pageNum := 0 +// err := client.ListNamedQueriesPages(params, +// func(page *athena.ListNamedQueriesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Athena) ListNamedQueriesPages(input *ListNamedQueriesInput, fn func(*ListNamedQueriesOutput, bool) bool) error { + return c.ListNamedQueriesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// ListWorkGroupsRequest generates a "aws/request.Request" representing the -// client's request for the ListWorkGroups operation. The "output" return +// ListNamedQueriesPagesWithContext same as ListNamedQueriesPages 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 *Athena) ListNamedQueriesPagesWithContext(ctx aws.Context, input *ListNamedQueriesInput, fn func(*ListNamedQueriesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListNamedQueriesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListNamedQueriesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListNamedQueriesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListQueryExecutions = "ListQueryExecutions" + +// ListQueryExecutionsRequest generates a "aws/request.Request" representing the +// client's request for the ListQueryExecutions 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 ListWorkGroups for more information on using the ListWorkGroups +// See ListQueryExecutions for more information on using the ListQueryExecutions +// 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 ListQueryExecutionsRequest method. +// req, resp := client.ListQueryExecutionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListQueryExecutions +func (c *Athena) ListQueryExecutionsRequest(input *ListQueryExecutionsInput) (req *request.Request, output *ListQueryExecutionsOutput) { + op := &request.Operation{ + Name: opListQueryExecutions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListQueryExecutionsInput{} + } + + output = &ListQueryExecutionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListQueryExecutions API operation for Amazon Athena. +// +// Provides a list of available query execution IDs for the queries in the specified +// workgroup. If a workgroup is not specified, returns a list of query execution +// IDs for the primary workgroup. Requires you to have access to the workgroup +// in which the queries ran. +// +// For code samples using the AWS SDK for Java, see Examples and Code Samples +// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon +// Athena User 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 Athena's +// API operation ListQueryExecutions for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListQueryExecutions +func (c *Athena) ListQueryExecutions(input *ListQueryExecutionsInput) (*ListQueryExecutionsOutput, error) { + req, out := c.ListQueryExecutionsRequest(input) + return out, req.Send() +} + +// ListQueryExecutionsWithContext is the same as ListQueryExecutions with the addition of +// the ability to pass a context and additional request options. +// +// See ListQueryExecutions 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 *Athena) ListQueryExecutionsWithContext(ctx aws.Context, input *ListQueryExecutionsInput, opts ...request.Option) (*ListQueryExecutionsOutput, error) { + req, out := c.ListQueryExecutionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListQueryExecutionsPages iterates over the pages of a ListQueryExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListQueryExecutions 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 ListQueryExecutions operation. +// pageNum := 0 +// err := client.ListQueryExecutionsPages(params, +// func(page *athena.ListQueryExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Athena) ListQueryExecutionsPages(input *ListQueryExecutionsInput, fn func(*ListQueryExecutionsOutput, bool) bool) error { + return c.ListQueryExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListQueryExecutionsPagesWithContext same as ListQueryExecutionsPages 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 *Athena) ListQueryExecutionsPagesWithContext(ctx aws.Context, input *ListQueryExecutionsInput, fn func(*ListQueryExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListQueryExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListQueryExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListQueryExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTableMetadata = "ListTableMetadata" + +// ListTableMetadataRequest generates a "aws/request.Request" representing the +// client's request for the ListTableMetadata 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 ListTableMetadata for more information on using the ListTableMetadata +// 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 ListTableMetadataRequest method. +// req, resp := client.ListTableMetadataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTableMetadata +func (c *Athena) ListTableMetadataRequest(input *ListTableMetadataInput) (req *request.Request, output *ListTableMetadataOutput) { + op := &request.Operation{ + Name: opListTableMetadata, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTableMetadataInput{} + } + + output = &ListTableMetadataOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTableMetadata API operation for Amazon Athena. +// +// Lists the metadata for the tables in the specified data catalog database. +// +// 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 Athena's +// API operation ListTableMetadata for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * MetadataException +// An exception that Athena received when it called a custom metastore. Occurs +// if the error is not caused by user input (InvalidRequestException) or from +// the Athena platform (InternalServerException). For example, if a user-created +// Lambda function is missing permissions, the Lambda 4XX exception is returned +// in a MetadataException. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTableMetadata +func (c *Athena) ListTableMetadata(input *ListTableMetadataInput) (*ListTableMetadataOutput, error) { + req, out := c.ListTableMetadataRequest(input) + return out, req.Send() +} + +// ListTableMetadataWithContext is the same as ListTableMetadata with the addition of +// the ability to pass a context and additional request options. +// +// See ListTableMetadata 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 *Athena) ListTableMetadataWithContext(ctx aws.Context, input *ListTableMetadataInput, opts ...request.Option) (*ListTableMetadataOutput, error) { + req, out := c.ListTableMetadataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTableMetadataPages iterates over the pages of a ListTableMetadata operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTableMetadata 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 ListTableMetadata operation. +// pageNum := 0 +// err := client.ListTableMetadataPages(params, +// func(page *athena.ListTableMetadataOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Athena) ListTableMetadataPages(input *ListTableMetadataInput, fn func(*ListTableMetadataOutput, bool) bool) error { + return c.ListTableMetadataPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTableMetadataPagesWithContext same as ListTableMetadataPages 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 *Athena) ListTableMetadataPagesWithContext(ctx aws.Context, input *ListTableMetadataInput, fn func(*ListTableMetadataOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTableMetadataInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTableMetadataRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTableMetadataOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource 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 ListTagsForResource for more information on using the ListTagsForResource +// 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 ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTagsForResource +func (c *Athena) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon Athena. +// +// Lists the tags associated with an Athena workgroup or data catalog resource. +// +// 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 Athena's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * ResourceNotFoundException +// A resource, such as a workgroup, was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTagsForResource +func (c *Athena) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource 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 *Athena) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTagsForResource 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 ListTagsForResource operation. +// pageNum := 0 +// err := client.ListTagsForResourcePages(params, +// func(page *athena.ListTagsForResourceOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Athena) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { + return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages 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 *Athena) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTagsForResourceInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTagsForResourceRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListWorkGroups = "ListWorkGroups" + +// ListWorkGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkGroups 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 ListWorkGroups for more information on using the ListWorkGroups // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration @@ -1526,11 +2461,10 @@ func (c *Athena) StartQueryExecutionRequest(input *StartQueryExecutionInput) (re // StartQueryExecution API operation for Amazon Athena. // // Runs the SQL query statements contained in the Query. Requires you to have -// access to the workgroup in which the query ran. -// -// For code samples using the AWS SDK for Java, see Examples and Code Samples -// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon -// Athena User Guide. +// access to the workgroup in which the query ran. Running queries against an +// external catalog requires GetDataCatalog permission to the catalog. For code +// samples using the AWS SDK for Java, see Examples and Code Samples (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) +// in the Amazon Athena User 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 @@ -1708,19 +2642,18 @@ func (c *Athena) TagResourceRequest(input *TagResourceInput) (req *request.Reque // TagResource API operation for Amazon Athena. // -// Adds one or more tags to the resource, such as a workgroup. A tag is a label -// that you assign to an AWS Athena resource (a workgroup). Each tag consists -// of a key and an optional value, both of which you define. Tags enable you -// to categorize resources (workgroups) in Athena, for example, by purpose, -// owner, or environment. Use a consistent set of tag keys to make it easier -// to search and filter workgroups in your account. For best practices, see -// AWS Tagging Strategies (https://aws.amazon.com/answers/account-management/aws-tagging-strategies/). -// The key length is from 1 (minimum) to 128 (maximum) Unicode characters in -// UTF-8. The tag value length is from 0 (minimum) to 256 (maximum) Unicode -// characters in UTF-8. You can use letters and numbers representable in UTF-8, -// and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. -// Tag keys must be unique per resource. If you specify more than one, separate -// them by commas. +// Adds one or more tags to an Athena resource. A tag is a label that you assign +// to a resource. In Athena, a resource can be a workgroup or data catalog. +// Each tag consists of a key and an optional value, both of which you define. +// For example, you can use tags to categorize Athena workgroups or data catalogs +// by purpose, owner, or environment. Use a consistent set of tag keys to make +// it easier to search and filter workgroups or data catalogs in your account. +// For best practices, see Tagging Best Practices (https://aws.amazon.com/answers/account-management/aws-tagging-strategies/). +// Tag keys can be from 1 to 128 UTF-8 Unicode characters, and tag values can +// be from 0 to 256 UTF-8 Unicode characters. Tags can use letters and numbers +// representable in UTF-8, and the following characters: + - = . _ : / @. Tag +// keys and values are case-sensitive. Tag keys must be unique per resource. +// If you specify more than one tag, separate them by commas. // // 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 @@ -1808,9 +2741,7 @@ func (c *Athena) UntagResourceRequest(input *UntagResourceInput) (req *request.R // UntagResource API operation for Amazon Athena. // -// Removes one or more tags from the workgroup resource. Takes as an input a -// list of TagKey Strings separated by commas, and removes their tags at the -// same time. +// Removes one or more tags from a data catalog or workgroup resource. // // 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 @@ -1853,6 +2784,91 @@ func (c *Athena) UntagResourceWithContext(ctx aws.Context, input *UntagResourceI return out, req.Send() } +const opUpdateDataCatalog = "UpdateDataCatalog" + +// UpdateDataCatalogRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDataCatalog 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 UpdateDataCatalog for more information on using the UpdateDataCatalog +// 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 UpdateDataCatalogRequest method. +// req, resp := client.UpdateDataCatalogRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateDataCatalog +func (c *Athena) UpdateDataCatalogRequest(input *UpdateDataCatalogInput) (req *request.Request, output *UpdateDataCatalogOutput) { + op := &request.Operation{ + Name: opUpdateDataCatalog, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDataCatalogInput{} + } + + output = &UpdateDataCatalogOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateDataCatalog API operation for Amazon Athena. +// +// Updates the data catalog that has the specified name. +// +// 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 Athena's +// API operation UpdateDataCatalog for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateDataCatalog +func (c *Athena) UpdateDataCatalog(input *UpdateDataCatalogInput) (*UpdateDataCatalogOutput, error) { + req, out := c.UpdateDataCatalogRequest(input) + return out, req.Send() +} + +// UpdateDataCatalogWithContext is the same as UpdateDataCatalog with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDataCatalog 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 *Athena) UpdateDataCatalogWithContext(ctx aws.Context, input *UpdateDataCatalogInput, opts ...request.Option) (*UpdateDataCatalogOutput, error) { + req, out := c.UpdateDataCatalogRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateWorkGroup = "UpdateWorkGroup" // UpdateWorkGroupRequest generates a "aws/request.Request" representing the @@ -2085,6 +3101,50 @@ func (s *BatchGetQueryExecutionOutput) SetUnprocessedQueryExecutionIds(v []*Unpr return s } +// Contains metadata for a column in a table. +type Column struct { + _ struct{} `type:"structure"` + + // Optional information about the column. + Comment *string `type:"string"` + + // The name of the column. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The data type of the column. + Type *string `type:"string"` +} + +// String returns the string representation +func (s Column) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Column) GoString() string { + return s.String() +} + +// SetComment sets the Comment field's value. +func (s *Column) SetComment(v string) *Column { + s.Comment = &v + return s +} + +// SetName sets the Name field's value. +func (s *Column) SetName(v string) *Column { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *Column) SetType(v string) *Column { + s.Type = &v + return s +} + // Information about the columns in a query execution result. type ColumnInfo struct { _ struct{} `type:"structure"` @@ -2190,10 +3250,136 @@ func (s *ColumnInfo) SetTableName(v string) *ColumnInfo { return s } -// SetType sets the Type field's value. -func (s *ColumnInfo) SetType(v string) *ColumnInfo { - s.Type = &v - return s +// SetType sets the Type field's value. +func (s *ColumnInfo) SetType(v string) *ColumnInfo { + s.Type = &v + return s +} + +type CreateDataCatalogInput struct { + _ struct{} `type:"structure"` + + // A description of the data catalog to be created. + Description *string `min:"1" type:"string"` + + // The name of the data catalog to create. The catalog name must be unique for + // the AWS account and can use a maximum of 128 alphanumeric, underscore, at + // sign, or hyphen characters. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Specifies the Lambda function or functions to use for creating the data catalog. + // This is a mapping whose values depend on the catalog type. + // + // * For the HIVE data catalog type, use the following syntax. The metadata-function + // parameter is required. The sdk-version parameter is optional and defaults + // to the currently supported version. metadata-function=lambda_arn, sdk-version=version_number + // + // * For the LAMBDA data catalog type, use one of the following sets of required + // parameters, but not both. If you have one Lambda function that processes + // metadata and another for reading the actual data, use the following syntax. + // Both parameters are required. metadata-function=lambda_arn, record-function=lambda_arn + // If you have a composite Lambda function that processes both metadata and + // data, use the following syntax to specify your Lambda function. function=lambda_arn + // + // * The GLUE type has no parameters. + Parameters map[string]*string `type:"map"` + + // A list of comma separated tags to add to the data catalog that is created. + Tags []*Tag `type:"list"` + + // The type of data catalog to create: LAMBDA for a federated catalog, GLUE + // for AWS Glue Catalog, or HIVE for an external hive metastore. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"DataCatalogType"` +} + +// String returns the string representation +func (s CreateDataCatalogInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDataCatalogInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDataCatalogInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDataCatalogInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + 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.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + 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 + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateDataCatalogInput) SetDescription(v string) *CreateDataCatalogInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDataCatalogInput) SetName(v string) *CreateDataCatalogInput { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *CreateDataCatalogInput) SetParameters(v map[string]*string) *CreateDataCatalogInput { + s.Parameters = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDataCatalogInput) SetTags(v []*Tag) *CreateDataCatalogInput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateDataCatalogInput) SetType(v string) *CreateDataCatalogInput { + s.Type = &v + return s +} + +type CreateDataCatalogOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateDataCatalogOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDataCatalogOutput) GoString() string { + return s.String() } type CreateNamedQueryInput struct { @@ -2354,8 +3540,7 @@ type CreateWorkGroupInput struct { // Name is a required field Name *string `type:"string" required:"true"` - // One or more tags, separated by commas, that you want to attach to the workgroup - // as you create it. + // A list of comma separated tags to add to the workgroup that is created. Tags []*Tag `type:"list"` } @@ -2435,6 +3620,156 @@ func (s CreateWorkGroupOutput) GoString() string { return s.String() } +// Contains information about a data catalog in an AWS account. +type DataCatalog struct { + _ struct{} `type:"structure"` + + // An optional description of the data catalog. + Description *string `min:"1" type:"string"` + + // The name of the data catalog. The catalog name must be unique for the AWS + // account and can use a maximum of 128 alphanumeric, underscore, at sign, or + // hyphen characters. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Specifies the Lambda function or functions to use for the data catalog. This + // is a mapping whose values depend on the catalog type. + // + // * For the HIVE data catalog type, use the following syntax. The metadata-function + // parameter is required. The sdk-version parameter is optional and defaults + // to the currently supported version. metadata-function=lambda_arn, sdk-version=version_number + // + // * For the LAMBDA data catalog type, use one of the following sets of required + // parameters, but not both. If you have one Lambda function that processes + // metadata and another for reading the actual data, use the following syntax. + // Both parameters are required. metadata-function=lambda_arn, record-function=lambda_arn + // If you have a composite Lambda function that processes both metadata and + // data, use the following syntax to specify your Lambda function. function=lambda_arn + // + // * The GLUE type has no parameters. + Parameters map[string]*string `type:"map"` + + // The type of data catalog: LAMBDA for a federated catalog, GLUE for AWS Glue + // Catalog, or HIVE for an external hive metastore. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"DataCatalogType"` +} + +// String returns the string representation +func (s DataCatalog) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataCatalog) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *DataCatalog) SetDescription(v string) *DataCatalog { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *DataCatalog) SetName(v string) *DataCatalog { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *DataCatalog) SetParameters(v map[string]*string) *DataCatalog { + s.Parameters = v + return s +} + +// SetType sets the Type field's value. +func (s *DataCatalog) SetType(v string) *DataCatalog { + s.Type = &v + return s +} + +// The summary information for the data catalog, which includes its name and +// type. +type DataCatalogSummary struct { + _ struct{} `type:"structure"` + + // The name of the data catalog. + CatalogName *string `min:"1" type:"string"` + + // The data catalog type. + Type *string `type:"string" enum:"DataCatalogType"` +} + +// String returns the string representation +func (s DataCatalogSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataCatalogSummary) GoString() string { + return s.String() +} + +// SetCatalogName sets the CatalogName field's value. +func (s *DataCatalogSummary) SetCatalogName(v string) *DataCatalogSummary { + s.CatalogName = &v + return s +} + +// SetType sets the Type field's value. +func (s *DataCatalogSummary) SetType(v string) *DataCatalogSummary { + s.Type = &v + return s +} + +// Contains metadata information for a database in a data catalog. +type Database struct { + _ struct{} `type:"structure"` + + // An optional description of the database. + Description *string `min:"1" type:"string"` + + // The name of the database. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A set of custom key/value pairs. + Parameters map[string]*string `type:"map"` +} + +// String returns the string representation +func (s Database) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Database) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *Database) SetDescription(v string) *Database { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *Database) SetName(v string) *Database { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *Database) SetParameters(v map[string]*string) *Database { + s.Parameters = v + return s +} + // A piece of data (a field in the table). type Datum struct { _ struct{} `type:"structure"` @@ -2459,6 +3794,61 @@ func (s *Datum) SetVarCharValue(v string) *Datum { return s } +type DeleteDataCatalogInput struct { + _ struct{} `type:"structure"` + + // The name of the data catalog to delete. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDataCatalogInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDataCatalogInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDataCatalogInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDataCatalogInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteDataCatalogInput) SetName(v string) *DeleteDataCatalogInput { + s.Name = &v + return s +} + +type DeleteDataCatalogOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDataCatalogOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDataCatalogOutput) GoString() string { + return s.String() +} + type DeleteNamedQueryInput struct { _ struct{} `type:"structure"` @@ -2532,67 +3922,189 @@ func (s *DeleteWorkGroupInput) Validate() error { return nil } -// SetRecursiveDeleteOption sets the RecursiveDeleteOption field's value. -func (s *DeleteWorkGroupInput) SetRecursiveDeleteOption(v bool) *DeleteWorkGroupInput { - s.RecursiveDeleteOption = &v - return s -} - -// SetWorkGroup sets the WorkGroup field's value. -func (s *DeleteWorkGroupInput) SetWorkGroup(v string) *DeleteWorkGroupInput { - s.WorkGroup = &v +// SetRecursiveDeleteOption sets the RecursiveDeleteOption field's value. +func (s *DeleteWorkGroupInput) SetRecursiveDeleteOption(v bool) *DeleteWorkGroupInput { + s.RecursiveDeleteOption = &v + return s +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *DeleteWorkGroupInput) SetWorkGroup(v string) *DeleteWorkGroupInput { + s.WorkGroup = &v + return s +} + +type DeleteWorkGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteWorkGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWorkGroupOutput) GoString() string { + return s.String() +} + +// If query results are encrypted in Amazon S3, indicates the encryption option +// used (for example, SSE-KMS or CSE-KMS) and key information. +type EncryptionConfiguration struct { + _ struct{} `type:"structure"` + + // Indicates whether Amazon S3 server-side encryption with Amazon S3-managed + // keys (SSE-S3), server-side encryption with KMS-managed keys (SSE-KMS), or + // client-side encryption with KMS-managed keys (CSE-KMS) is used. + // + // If a query runs in a workgroup and the workgroup overrides client-side settings, + // then the workgroup's setting for encryption is used. It specifies whether + // query results must be encrypted, for all queries that run in this workgroup. + // + // EncryptionOption is a required field + EncryptionOption *string `type:"string" required:"true" enum:"EncryptionOption"` + + // For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID. + KmsKey *string `type:"string"` +} + +// String returns the string representation +func (s EncryptionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncryptionConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionConfiguration"} + if s.EncryptionOption == nil { + invalidParams.Add(request.NewErrParamRequired("EncryptionOption")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryptionOption sets the EncryptionOption field's value. +func (s *EncryptionConfiguration) SetEncryptionOption(v string) *EncryptionConfiguration { + s.EncryptionOption = &v + return s +} + +// SetKmsKey sets the KmsKey field's value. +func (s *EncryptionConfiguration) SetKmsKey(v string) *EncryptionConfiguration { + s.KmsKey = &v + return s +} + +type GetDataCatalogInput struct { + _ struct{} `type:"structure"` + + // The name of the data catalog to return. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDataCatalogInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDataCatalogInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDataCatalogInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDataCatalogInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *GetDataCatalogInput) SetName(v string) *GetDataCatalogInput { + s.Name = &v return s } -type DeleteWorkGroupOutput struct { +type GetDataCatalogOutput struct { _ struct{} `type:"structure"` + + // The data catalog returned. + DataCatalog *DataCatalog `type:"structure"` } // String returns the string representation -func (s DeleteWorkGroupOutput) String() string { +func (s GetDataCatalogOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteWorkGroupOutput) GoString() string { +func (s GetDataCatalogOutput) GoString() string { return s.String() } -// If query results are encrypted in Amazon S3, indicates the encryption option -// used (for example, SSE-KMS or CSE-KMS) and key information. -type EncryptionConfiguration struct { +// SetDataCatalog sets the DataCatalog field's value. +func (s *GetDataCatalogOutput) SetDataCatalog(v *DataCatalog) *GetDataCatalogOutput { + s.DataCatalog = v + return s +} + +type GetDatabaseInput struct { _ struct{} `type:"structure"` - // Indicates whether Amazon S3 server-side encryption with Amazon S3-managed - // keys (SSE-S3), server-side encryption with KMS-managed keys (SSE-KMS), or - // client-side encryption with KMS-managed keys (CSE-KMS) is used. - // - // If a query runs in a workgroup and the workgroup overrides client-side settings, - // then the workgroup's setting for encryption is used. It specifies whether - // query results must be encrypted, for all queries that run in this workgroup. + // The name of the data catalog that contains the database to return. // - // EncryptionOption is a required field - EncryptionOption *string `type:"string" required:"true" enum:"EncryptionOption"` + // CatalogName is a required field + CatalogName *string `min:"1" type:"string" required:"true"` - // For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID. - KmsKey *string `type:"string"` + // The name of the database to return. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s EncryptionConfiguration) String() string { +func (s GetDatabaseInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EncryptionConfiguration) GoString() string { +func (s GetDatabaseInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EncryptionConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EncryptionConfiguration"} - if s.EncryptionOption == nil { - invalidParams.Add(request.NewErrParamRequired("EncryptionOption")) +func (s *GetDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDatabaseInput"} + if s.CatalogName == nil { + invalidParams.Add(request.NewErrParamRequired("CatalogName")) + } + if s.CatalogName != nil && len(*s.CatalogName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogName", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } if invalidParams.Len() > 0 { @@ -2601,15 +4113,38 @@ func (s *EncryptionConfiguration) Validate() error { return nil } -// SetEncryptionOption sets the EncryptionOption field's value. -func (s *EncryptionConfiguration) SetEncryptionOption(v string) *EncryptionConfiguration { - s.EncryptionOption = &v +// SetCatalogName sets the CatalogName field's value. +func (s *GetDatabaseInput) SetCatalogName(v string) *GetDatabaseInput { + s.CatalogName = &v return s } -// SetKmsKey sets the KmsKey field's value. -func (s *EncryptionConfiguration) SetKmsKey(v string) *EncryptionConfiguration { - s.KmsKey = &v +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetDatabaseInput) SetDatabaseName(v string) *GetDatabaseInput { + s.DatabaseName = &v + return s +} + +type GetDatabaseOutput struct { + _ struct{} `type:"structure"` + + // The database returned. + Database *Database `type:"structure"` +} + +// String returns the string representation +func (s GetDatabaseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDatabaseOutput) GoString() string { + return s.String() +} + +// SetDatabase sets the Database field's value. +func (s *GetDatabaseOutput) SetDatabase(v *Database) *GetDatabaseOutput { + s.Database = v return s } @@ -2741,8 +4276,10 @@ type GetQueryResultsInput struct { // The maximum number of results (rows) to return in this request. MaxResults *int64 `min:"1" type:"integer"` - // The token that specifies where to start pagination if a previous request - // was truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` // The unique ID of the query execution. @@ -2801,7 +4338,10 @@ func (s *GetQueryResultsInput) SetQueryExecutionId(v string) *GetQueryResultsInp type GetQueryResultsOutput struct { _ struct{} `type:"structure"` - // A token to be used by the next request if this request is truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` // The results of the query execution. @@ -2839,6 +4379,105 @@ func (s *GetQueryResultsOutput) SetUpdateCount(v int64) *GetQueryResultsOutput { return s } +type GetTableMetadataInput struct { + _ struct{} `type:"structure"` + + // The name of the data catalog that contains the database and table metadata + // to return. + // + // CatalogName is a required field + CatalogName *string `min:"1" type:"string" required:"true"` + + // The name of the database that contains the table metadata to return. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the table for which metadata is returned. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetTableMetadataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTableMetadataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTableMetadataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTableMetadataInput"} + if s.CatalogName == nil { + invalidParams.Add(request.NewErrParamRequired("CatalogName")) + } + if s.CatalogName != nil && len(*s.CatalogName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogName", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogName sets the CatalogName field's value. +func (s *GetTableMetadataInput) SetCatalogName(v string) *GetTableMetadataInput { + s.CatalogName = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetTableMetadataInput) SetDatabaseName(v string) *GetTableMetadataInput { + s.DatabaseName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GetTableMetadataInput) SetTableName(v string) *GetTableMetadataInput { + s.TableName = &v + return s +} + +type GetTableMetadataOutput struct { + _ struct{} `type:"structure"` + + // An object that contains table metadata. + TableMetadata *TableMetadata `type:"structure"` +} + +// String returns the string representation +func (s GetTableMetadataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTableMetadataOutput) GoString() string { + return s.String() +} + +// SetTableMetadata sets the TableMetadata field's value. +func (s *GetTableMetadataOutput) SetTableMetadata(v *TableMetadata) *GetTableMetadataOutput { + s.TableMetadata = v + return s +} + type GetWorkGroupInput struct { _ struct{} `type:"structure"` @@ -3018,19 +4657,210 @@ func (s *InvalidRequestException) RequestID() string { return s.RespMetadata.RequestID } +type ListDataCatalogsInput struct { + _ struct{} `type:"structure"` + + // Specifies the maximum number of data catalogs to return. + MaxResults *int64 `min:"2" type:"integer"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDataCatalogsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDataCatalogsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDataCatalogsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDataCatalogsInput"} + if s.MaxResults != nil && *s.MaxResults < 2 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 2)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDataCatalogsInput) SetMaxResults(v int64) *ListDataCatalogsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDataCatalogsInput) SetNextToken(v string) *ListDataCatalogsInput { + s.NextToken = &v + return s +} + +type ListDataCatalogsOutput struct { + _ struct{} `type:"structure"` + + // A summary list of data catalogs. + DataCatalogsSummary []*DataCatalogSummary `type:"list"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDataCatalogsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDataCatalogsOutput) GoString() string { + return s.String() +} + +// SetDataCatalogsSummary sets the DataCatalogsSummary field's value. +func (s *ListDataCatalogsOutput) SetDataCatalogsSummary(v []*DataCatalogSummary) *ListDataCatalogsOutput { + s.DataCatalogsSummary = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDataCatalogsOutput) SetNextToken(v string) *ListDataCatalogsOutput { + s.NextToken = &v + return s +} + +type ListDatabasesInput struct { + _ struct{} `type:"structure"` + + // The name of the data catalog that contains the databases to return. + // + // CatalogName is a required field + CatalogName *string `min:"1" type:"string" required:"true"` + + // Specifies the maximum number of results to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDatabasesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDatabasesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDatabasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDatabasesInput"} + if s.CatalogName == nil { + invalidParams.Add(request.NewErrParamRequired("CatalogName")) + } + if s.CatalogName != nil && len(*s.CatalogName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogName", 1)) + } + 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)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogName sets the CatalogName field's value. +func (s *ListDatabasesInput) SetCatalogName(v string) *ListDatabasesInput { + s.CatalogName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDatabasesInput) SetMaxResults(v int64) *ListDatabasesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatabasesInput) SetNextToken(v string) *ListDatabasesInput { + s.NextToken = &v + return s +} + +type ListDatabasesOutput struct { + _ struct{} `type:"structure"` + + // A list of databases from a data catalog. + DatabaseList []*Database `type:"list"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDatabasesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDatabasesOutput) GoString() string { + return s.String() +} + +// SetDatabaseList sets the DatabaseList field's value. +func (s *ListDatabasesOutput) SetDatabaseList(v []*Database) *ListDatabasesOutput { + s.DatabaseList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatabasesOutput) SetNextToken(v string) *ListDatabasesOutput { + s.NextToken = &v + return s +} + type ListNamedQueriesInput struct { _ struct{} `type:"structure"` // The maximum number of queries to return in this request. MaxResults *int64 `type:"integer"` - // The token that specifies where to start pagination if a previous request - // was truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` - // The name of the workgroup from which the named queries are returned. If a - // workgroup is not specified, the saved queries for the primary workgroup are - // returned. + // The name of the workgroup from which the named queries are being returned. + // If a workgroup is not specified, the saved queries for the primary workgroup + // are returned. WorkGroup *string `type:"string"` } @@ -3081,7 +4911,10 @@ type ListNamedQueriesOutput struct { // The list of unique query IDs. NamedQueryIds []*string `min:"1" type:"list"` - // A token to be used by the next request if this request is truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` } @@ -3113,11 +4946,13 @@ type ListQueryExecutionsInput struct { // The maximum number of query executions to return in this request. MaxResults *int64 `type:"integer"` - // The token that specifies where to start pagination if a previous request - // was truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` - // The name of the workgroup from which queries are returned. If a workgroup + // The name of the workgroup from which queries are being returned. If a workgroup // is not specified, a list of available query execution IDs for the queries // in the primary workgroup is returned. WorkGroup *string `type:"string"` @@ -3196,19 +5031,149 @@ func (s *ListQueryExecutionsOutput) SetQueryExecutionIds(v []*string) *ListQuery return s } +type ListTableMetadataInput struct { + _ struct{} `type:"structure"` + + // The name of the data catalog for which table metadata should be returned. + // + // CatalogName is a required field + CatalogName *string `min:"1" type:"string" required:"true"` + + // The name of the database for which table metadata should be returned. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A regex filter that pattern-matches table names. If no expression is supplied, + // metadata for all tables are listed. + Expression *string `type:"string"` + + // Specifies the maximum number of results to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListTableMetadataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTableMetadataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTableMetadataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTableMetadataInput"} + if s.CatalogName == nil { + invalidParams.Add(request.NewErrParamRequired("CatalogName")) + } + if s.CatalogName != nil && len(*s.CatalogName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogName", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + 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)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogName sets the CatalogName field's value. +func (s *ListTableMetadataInput) SetCatalogName(v string) *ListTableMetadataInput { + s.CatalogName = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *ListTableMetadataInput) SetDatabaseName(v string) *ListTableMetadataInput { + s.DatabaseName = &v + return s +} + +// SetExpression sets the Expression field's value. +func (s *ListTableMetadataInput) SetExpression(v string) *ListTableMetadataInput { + s.Expression = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTableMetadataInput) SetMaxResults(v int64) *ListTableMetadataInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTableMetadataInput) SetNextToken(v string) *ListTableMetadataInput { + s.NextToken = &v + return s +} + +type ListTableMetadataOutput struct { + _ struct{} `type:"structure"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` + + // A list of table metadata. + TableMetadataList []*TableMetadata `type:"list"` +} + +// String returns the string representation +func (s ListTableMetadataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTableMetadataOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTableMetadataOutput) SetNextToken(v string) *ListTableMetadataOutput { + s.NextToken = &v + return s +} + +// SetTableMetadataList sets the TableMetadataList field's value. +func (s *ListTableMetadataOutput) SetTableMetadataList(v []*TableMetadata) *ListTableMetadataOutput { + s.TableMetadataList = v + return s +} + type ListTagsForResourceInput struct { _ struct{} `type:"structure"` // The maximum number of results to be returned per request that lists the tags - // for the workgroup resource. + // for the resource. MaxResults *int64 `min:"75" type:"integer"` // The token for the next set of results, or null if there are no additional - // results for this request, where the request lists the tags for the workgroup - // resource with the specified ARN. + // results for this request, where the request lists the tags for the resource + // with the specified ARN. NextToken *string `min:"1" type:"string"` - // Lists the tags for the workgroup resource with the specified ARN. + // Lists the tags for the resource with the specified ARN. // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` @@ -3270,7 +5235,7 @@ type ListTagsForResourceOutput struct { // A token to be used by the next request if this request is truncated. NextToken *string `min:"1" type:"string"` - // The list of tags associated with this workgroup. + // The list of tags associated with the specified resource. Tags []*Tag `type:"list"` } @@ -3302,7 +5267,10 @@ type ListWorkGroupsInput struct { // The maximum number of workgroups to return in this request. MaxResults *int64 `min:"1" type:"integer"` - // A token to be used by the next request if this request is truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` } @@ -3347,7 +5315,10 @@ func (s *ListWorkGroupsInput) SetNextToken(v string) *ListWorkGroupsInput { type ListWorkGroupsOutput struct { _ struct{} `type:"structure"` - // A token to be used by the next request if this request is truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` // The list of workgroups, including their names, descriptions, creation times, @@ -3377,6 +5348,66 @@ func (s *ListWorkGroupsOutput) SetWorkGroups(v []*WorkGroupSummary) *ListWorkGro return s } +// An exception that Athena received when it called a custom metastore. Occurs +// if the error is not caused by user input (InvalidRequestException) or from +// the Athena platform (InternalServerException). For example, if a user-created +// Lambda function is missing permissions, the Lambda 4XX exception is returned +// in a MetadataException. +type MetadataException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s MetadataException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MetadataException) GoString() string { + return s.String() +} + +func newErrorMetadataException(v protocol.ResponseMetadata) error { + return &MetadataException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *MetadataException) Code() string { + return "MetadataException" +} + +// Message returns the exception's message. +func (s *MetadataException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *MetadataException) OrigErr() error { + return nil +} + +func (s *MetadataException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *MetadataException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *MetadataException) RequestID() string { + return s.RespMetadata.RequestID +} + // A query, where QueryString is the list of SQL query statements that comprise // the query. type NamedQuery struct { @@ -3550,11 +5581,14 @@ func (s *QueryExecution) SetWorkGroup(v string) *QueryExecution { return s } -// The database in which the query execution occurs. +// The database and data catalog context in which the query execution occurs. type QueryExecutionContext struct { _ struct{} `type:"structure"` - // The name of the database. + // The name of the data catalog used in the query execution. + Catalog *string `min:"1" type:"string"` + + // The name of the database used in the query execution. Database *string `min:"1" type:"string"` } @@ -3571,6 +5605,9 @@ func (s QueryExecutionContext) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *QueryExecutionContext) Validate() error { invalidParams := request.ErrInvalidParams{Context: "QueryExecutionContext"} + if s.Catalog != nil && len(*s.Catalog) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Catalog", 1)) + } if s.Database != nil && len(*s.Database) < 1 { invalidParams.Add(request.NewErrParamMinLen("Database", 1)) } @@ -3581,6 +5618,12 @@ func (s *QueryExecutionContext) Validate() error { return nil } +// SetCatalog sets the Catalog field's value. +func (s *QueryExecutionContext) SetCatalog(v string) *QueryExecutionContext { + s.Catalog = &v + return s +} + // SetDatabase sets the Database field's value. func (s *QueryExecutionContext) SetDatabase(v string) *QueryExecutionContext { s.Database = &v @@ -3693,6 +5736,10 @@ type QueryExecutionStatus struct { // indicates that the query completed without errors. FAILED indicates that // the query experienced an error and did not complete processing. CANCELLED // indicates that a user input interrupted query execution. + // + // Athena automatically retries your queries in cases of certain transient errors. + // As a result, you may see the query state transition from RUNNING or FAILED + // to QUEUED. State *string `type:"string" enum:"QueryExecutionState"` // Further detail about the status of the query. @@ -3944,7 +5991,7 @@ func (s *ResultConfigurationUpdates) SetRemoveOutputLocation(v bool) *ResultConf } // The metadata and rows that comprise a query result set. The metadata describes -// the column structure and data types. +// the column structure and data types. To return a ResultSet object, use GetQueryResults. type ResultSet struct { _ struct{} `type:"structure"` @@ -3979,7 +6026,7 @@ func (s *ResultSet) SetRows(v []*Row) *ResultSet { } // The metadata that describes the column structure and data types of a table -// of query results. +// of query results. To return a ResultSetMetadata object, use GetQueryResults. type ResultSetMetadata struct { _ struct{} `type:"structure"` @@ -4188,16 +6235,97 @@ func (s StopQueryExecutionOutput) GoString() string { return s.String() } -// A tag that you can add to a resource. A tag is a label that you assign to -// an AWS Athena resource (a workgroup). Each tag consists of a key and an optional -// value, both of which you define. Tags enable you to categorize workgroups -// in Athena, for example, by purpose, owner, or environment. Use a consistent -// set of tag keys to make it easier to search and filter workgroups in your -// account. The maximum tag key length is 128 Unicode characters in UTF-8. The -// maximum tag value length is 256 Unicode characters in UTF-8. You can use -// letters and numbers representable in UTF-8, and the following characters: -// + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be -// unique per resource. +// Contains metadata for a table. +type TableMetadata struct { + _ struct{} `type:"structure"` + + // A list of the columns in the table. + Columns []*Column `type:"list"` + + // The time that the table was created. + CreateTime *time.Time `type:"timestamp"` + + // The last time the table was accessed. + LastAccessTime *time.Time `type:"timestamp"` + + // The name of the table. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A set of custom key/value pairs for table properties. + Parameters map[string]*string `type:"map"` + + // A list of the partition keys in the table. + PartitionKeys []*Column `type:"list"` + + // The type of table. In Athena, only EXTERNAL_TABLE is supported. + TableType *string `type:"string"` +} + +// String returns the string representation +func (s TableMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TableMetadata) GoString() string { + return s.String() +} + +// SetColumns sets the Columns field's value. +func (s *TableMetadata) SetColumns(v []*Column) *TableMetadata { + s.Columns = v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *TableMetadata) SetCreateTime(v time.Time) *TableMetadata { + s.CreateTime = &v + return s +} + +// SetLastAccessTime sets the LastAccessTime field's value. +func (s *TableMetadata) SetLastAccessTime(v time.Time) *TableMetadata { + s.LastAccessTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *TableMetadata) SetName(v string) *TableMetadata { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *TableMetadata) SetParameters(v map[string]*string) *TableMetadata { + s.Parameters = v + return s +} + +// SetPartitionKeys sets the PartitionKeys field's value. +func (s *TableMetadata) SetPartitionKeys(v []*Column) *TableMetadata { + s.PartitionKeys = v + return s +} + +// SetTableType sets the TableType field's value. +func (s *TableMetadata) SetTableType(v string) *TableMetadata { + s.TableType = &v + return s +} + +// A label that you assign to a resource. In Athena, a resource can be a workgroup +// or data catalog. Each tag consists of a key and an optional value, both of +// which you define. For example, you can use tags to categorize Athena workgroups +// or data catalogs by purpose, owner, or environment. Use a consistent set +// of tag keys to make it easier to search and filter workgroups or data catalogs +// in your account. For best practices, see Tagging Best Practices (https://aws.amazon.com/answers/account-management/aws-tagging-strategies/). +// Tag keys can be from 1 to 128 UTF-8 Unicode characters, and tag values can +// be from 0 to 256 UTF-8 Unicode characters. Tags can use letters and numbers +// representable in UTF-8, and the following characters: + - = . _ : / @. Tag +// keys and values are case-sensitive. Tag keys must be unique per resource. +// If you specify more than one tag, separate them by commas. type Tag struct { _ struct{} `type:"structure"` @@ -4251,14 +6379,14 @@ func (s *Tag) SetValue(v string) *Tag { type TagResourceInput struct { _ struct{} `type:"structure"` - // Requests that one or more tags are added to the resource (such as a workgroup) - // for the specified ARN. + // Specifies the ARN of the Athena resource (workgroup or data catalog) to which + // tags are to be added. // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` - // One or more tags, separated by commas, to be added to the resource, such - // as a workgroup. + // A collection of one or more tags, separated by commas, to be added to an + // Athena workgroup or data catalog resource. // // Tags is a required field Tags []*Tag `type:"list" required:"true"` @@ -4479,13 +6607,13 @@ func (s *UnprocessedQueryExecutionId) SetQueryExecutionId(v string) *Unprocessed type UntagResourceInput struct { _ struct{} `type:"structure"` - // Removes one or more tags from the workgroup resource for the specified ARN. + // Specifies the ARN of the resource from which tags are to be removed. // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` - // Removes the tags associated with one or more tag keys from the workgroup - // resource. + // A comma-separated list of one or more tag keys whose tags are to be removed + // from the specified resource. // // TagKeys is a required field TagKeys []*string `type:"list" required:"true"` @@ -4546,6 +6674,113 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateDataCatalogInput struct { + _ struct{} `type:"structure"` + + // New or modified text that describes the data catalog. + Description *string `min:"1" type:"string"` + + // The name of the data catalog to update. The catalog name must be unique for + // the AWS account and can use a maximum of 128 alphanumeric, underscore, at + // sign, or hyphen characters. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Specifies the Lambda function or functions to use for updating the data catalog. + // This is a mapping whose values depend on the catalog type. + // + // * For the HIVE data catalog type, use the following syntax. The metadata-function + // parameter is required. The sdk-version parameter is optional and defaults + // to the currently supported version. metadata-function=lambda_arn, sdk-version=version_number + // + // * For the LAMBDA data catalog type, use one of the following sets of required + // parameters, but not both. If you have one Lambda function that processes + // metadata and another for reading the actual data, use the following syntax. + // Both parameters are required. metadata-function=lambda_arn, record-function=lambda_arn + // If you have a composite Lambda function that processes both metadata and + // data, use the following syntax to specify your Lambda function. function=lambda_arn + // + // * The GLUE type has no parameters. + Parameters map[string]*string `type:"map"` + + // Specifies the type of data catalog to update. Specify LAMBDA for a federated + // catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"DataCatalogType"` +} + +// String returns the string representation +func (s UpdateDataCatalogInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDataCatalogInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDataCatalogInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDataCatalogInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + 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.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateDataCatalogInput) SetDescription(v string) *UpdateDataCatalogInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateDataCatalogInput) SetName(v string) *UpdateDataCatalogInput { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *UpdateDataCatalogInput) SetParameters(v map[string]*string) *UpdateDataCatalogInput { + s.Parameters = v + return s +} + +// SetType sets the Type field's value. +func (s *UpdateDataCatalogInput) SetType(v string) *UpdateDataCatalogInput { + s.Type = &v + return s +} + +type UpdateDataCatalogOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateDataCatalogOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDataCatalogOutput) GoString() string { + return s.String() +} + type UpdateWorkGroupInput struct { _ struct{} `type:"structure"` @@ -4971,6 +7206,17 @@ const ( ColumnNullableUnknown = "UNKNOWN" ) +const ( + // DataCatalogTypeLambda is a DataCatalogType enum value + DataCatalogTypeLambda = "LAMBDA" + + // DataCatalogTypeGlue is a DataCatalogType enum value + DataCatalogTypeGlue = "GLUE" + + // DataCatalogTypeHive is a DataCatalogType enum value + DataCatalogTypeHive = "HIVE" +) + const ( // EncryptionOptionSseS3 is a EncryptionOption enum value EncryptionOptionSseS3 = "SSE_S3" diff --git a/vendor/github.com/aws/aws-sdk-go/service/athena/errors.go b/vendor/github.com/aws/aws-sdk-go/service/athena/errors.go index 5da82bf6a0e..a0939ed6d5e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/athena/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/athena/errors.go @@ -22,6 +22,16 @@ const ( // a required parameter may be missing or out of range. ErrCodeInvalidRequestException = "InvalidRequestException" + // ErrCodeMetadataException for service response error code + // "MetadataException". + // + // An exception that Athena received when it called a custom metastore. Occurs + // if the error is not caused by user input (InvalidRequestException) or from + // the Athena platform (InternalServerException). For example, if a user-created + // Lambda function is missing permissions, the Lambda 4XX exception is returned + // in a MetadataException. + ErrCodeMetadataException = "MetadataException" + // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // @@ -38,6 +48,7 @@ const ( var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InternalServerException": newErrorInternalServerException, "InvalidRequestException": newErrorInvalidRequestException, + "MetadataException": newErrorMetadataException, "ResourceNotFoundException": newErrorResourceNotFoundException, "TooManyRequestsException": newErrorTooManyRequestsException, } diff --git a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go index d80c2f819d9..19d15193bbe 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go @@ -158,8 +158,9 @@ func (c *AutoScaling) AttachLoadBalancerTargetGroupsRequest(input *AttachLoadBal // // Attaches one or more target groups to the specified Auto Scaling group. // -// To describe the target groups for an Auto Scaling group, use DescribeLoadBalancerTargetGroups. -// To detach the target group from the Auto Scaling group, use DetachLoadBalancerTargetGroups. +// To describe the target groups for an Auto Scaling group, call the DescribeLoadBalancerTargetGroups +// API. To detach the target group from the Auto Scaling group, call the DetachLoadBalancerTargetGroups +// API. // // With Application Load Balancers and Network Load Balancers, instances are // registered as targets with a target group. With Classic Load Balancers, instances @@ -249,14 +250,17 @@ func (c *AutoScaling) AttachLoadBalancersRequest(input *AttachLoadBalancersInput // AttachLoadBalancers API operation for Auto Scaling. // -// Attaches one or more Classic Load Balancers to the specified Auto Scaling -// group. // -// To attach an Application Load Balancer or a Network Load Balancer instead, -// see AttachLoadBalancerTargetGroups. +// To attach an Application Load Balancer or a Network Load Balancer, use the +// AttachLoadBalancerTargetGroups API operation instead. +// +// Attaches one or more Classic Load Balancers to the specified Auto Scaling +// group. Amazon EC2 Auto Scaling registers the running instances with these +// Classic Load Balancers. // -// To describe the load balancers for an Auto Scaling group, use DescribeLoadBalancers. -// To detach the load balancer from the Auto Scaling group, use DetachLoadBalancers. +// To describe the load balancers for an Auto Scaling group, call the DescribeLoadBalancers +// API. To detach the load balancer from the Auto Scaling group, call the DetachLoadBalancers +// API. // // For more information, see Attaching a Load Balancer to Your Auto Scaling // Group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html) @@ -442,7 +446,8 @@ func (c *AutoScaling) BatchPutScheduledUpdateGroupActionRequest(input *BatchPutS // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -622,9 +627,15 @@ func (c *AutoScaling) CreateAutoScalingGroupRequest(input *CreateAutoScalingGrou // Creates an Auto Scaling group with the specified name and attributes. // // If you exceed your maximum limit of Auto Scaling groups, the call fails. -// For information about viewing this limit, see DescribeAccountLimits. For -// information about updating this limit, see Amazon EC2 Auto Scaling Service -// Quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) +// To query this limit, call the DescribeAccountLimits API. For information +// about updating this limit, see Amazon EC2 Auto Scaling Service Quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) +// in the Amazon EC2 Auto Scaling User Guide. +// +// For introductory exercises for creating an Auto Scaling group, see Getting +// Started with Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) +// and Tutorial: Set Up a Scaled and Load-Balanced Application (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-register-lbs-with-asg.html) +// in the Amazon EC2 Auto Scaling User Guide. For more information, see Auto +// Scaling Groups (https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html) // in the Amazon EC2 Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -642,7 +653,8 @@ func (c *AutoScaling) CreateAutoScalingGroupRequest(input *CreateAutoScalingGrou // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -721,9 +733,8 @@ func (c *AutoScaling) CreateLaunchConfigurationRequest(input *CreateLaunchConfig // Creates a launch configuration. // // If you exceed your maximum limit of launch configurations, the call fails. -// For information about viewing this limit, see DescribeAccountLimits. For -// information about updating this limit, see Amazon EC2 Auto Scaling Service -// Quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) +// To query this limit, call the DescribeAccountLimits API. For information +// about updating this limit, see Amazon EC2 Auto Scaling Service Quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) // in the Amazon EC2 Auto Scaling User Guide. // // For more information, see Launch Configurations (https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchConfiguration.html) @@ -744,7 +755,8 @@ func (c *AutoScaling) CreateLaunchConfigurationRequest(input *CreateLaunchConfig // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -836,7 +848,8 @@ func (c *AutoScaling) CreateOrUpdateTagsRequest(input *CreateOrUpdateTagsInput) // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeAlreadyExistsFault "AlreadyExists" // You already have an Auto Scaling group or launch configuration with this @@ -925,13 +938,13 @@ func (c *AutoScaling) DeleteAutoScalingGroupRequest(input *DeleteAutoScalingGrou // alarm actions, and any alarm that no longer has an associated action. // // To remove instances from the Auto Scaling group before deleting it, call -// DetachInstances with the list of instances and the option to decrement the -// desired capacity. This ensures that Amazon EC2 Auto Scaling does not launch -// replacement instances. +// the DetachInstances API with the list of instances and the option to decrement +// the desired capacity. This ensures that Amazon EC2 Auto Scaling does not +// launch replacement instances. // -// To terminate all instances before deleting the Auto Scaling group, call UpdateAutoScalingGroup -// and set the minimum size and desired capacity of the Auto Scaling group to -// zero. +// To terminate all instances before deleting the Auto Scaling group, call the +// UpdateAutoScalingGroup API and set the minimum size and desired capacity +// of the Auto Scaling group to zero. // // 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 @@ -1612,7 +1625,17 @@ func (c *AutoScaling) DescribeAdjustmentTypesRequest(input *DescribeAdjustmentTy // DescribeAdjustmentTypes API operation for Auto Scaling. // -// Describes the policy adjustment types for use with PutScalingPolicy. +// Describes the available adjustment types for Amazon EC2 Auto Scaling scaling +// policies. These settings apply to step scaling policies and simple scaling +// policies; they do not apply to target tracking scaling policies. +// +// The following adjustment types are supported: +// +// * ChangeInCapacity +// +// * ExactCapacity +// +// * PercentChangeInCapacity // // 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 @@ -2444,8 +2467,8 @@ func (c *AutoScaling) DescribeLoadBalancersRequest(input *DescribeLoadBalancersI // Describes the load balancers for the specified Auto Scaling group. // // This operation describes only Classic Load Balancers. If you have Application -// Load Balancers or Network Load Balancers, use DescribeLoadBalancerTargetGroups -// instead. +// Load Balancers or Network Load Balancers, use the DescribeLoadBalancerTargetGroups +// API instead. // // 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 @@ -2528,7 +2551,7 @@ func (c *AutoScaling) DescribeMetricCollectionTypesRequest(input *DescribeMetric // Describes the available CloudWatch metrics for Amazon EC2 Auto Scaling. // // The GroupStandbyInstances metric is not returned by default. You must explicitly -// request this metric when calling EnableMetricsCollection. +// request this metric when calling the EnableMetricsCollection API. // // 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 @@ -3035,7 +3058,8 @@ func (c *AutoScaling) DescribeScalingProcessTypesRequest(input *DescribeScalingP // DescribeScalingProcessTypes API operation for Auto Scaling. // -// Describes the scaling process types for use with ResumeProcesses and SuspendProcesses. +// Describes the scaling process types for use with the ResumeProcesses and +// SuspendProcesses APIs. // // 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 @@ -3123,7 +3147,7 @@ func (c *AutoScaling) DescribeScheduledActionsRequest(input *DescribeScheduledAc // // Describes the actions scheduled for your Auto Scaling group that haven't // run or that have not reached their end time. To describe the actions that -// have already run, use DescribeScalingActivities. +// have already run, call the DescribeScalingActivities API. // // 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 @@ -3275,6 +3299,9 @@ func (c *AutoScaling) DescribeTagsRequest(input *DescribeTagsInput) (req *reques // a particular tag only if it matches all the filters. If there's no match, // no special message is returned. // +// For more information, see Tagging Auto Scaling Groups and Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) +// in the Amazon EC2 Auto Scaling User 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. @@ -3673,13 +3700,13 @@ func (c *AutoScaling) DetachLoadBalancersRequest(input *DetachLoadBalancersInput // group. // // This operation detaches only Classic Load Balancers. If you have Application -// Load Balancers or Network Load Balancers, use DetachLoadBalancerTargetGroups -// instead. +// Load Balancers or Network Load Balancers, use the DetachLoadBalancerTargetGroups +// API instead. // // When you detach a load balancer, it enters the Removing state while deregistering // the instances in the group. When all instances are deregistered, then you -// can no longer describe the load balancer using DescribeLoadBalancers. The -// instances remain running. +// can no longer describe the load balancer using the DescribeLoadBalancers +// API call. The instances remain running. // // 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 @@ -4209,10 +4236,11 @@ func (c *AutoScaling) PutLifecycleHookRequest(input *PutLifecycleHookInput) (req // launch or terminate. // // If you need more time, record the lifecycle action heartbeat to keep the -// instance in a pending state using RecordLifecycleActionHeartbeat. +// instance in a pending state using the RecordLifecycleActionHeartbeat API +// call. // // If you finish before the timeout period ends, complete the lifecycle action -// using CompleteLifecycleAction. +// using the CompleteLifecycleAction API call. // // For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) // in the Amazon EC2 Auto Scaling User Guide. @@ -4220,8 +4248,9 @@ func (c *AutoScaling) PutLifecycleHookRequest(input *PutLifecycleHookInput) (req // If you exceed your maximum limit of lifecycle hooks, which by default is // 50 per Auto Scaling group, the call fails. // -// You can view the lifecycle hooks for an Auto Scaling group using DescribeLifecycleHooks. -// If you are no longer using a lifecycle hook, you can delete it using DeleteLifecycleHook. +// You can view the lifecycle hooks for an Auto Scaling group using the DescribeLifecycleHooks +// API call. If you are no longer using a lifecycle hook, you can delete it +// by calling the DeleteLifecycleHook API. // // 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 @@ -4234,7 +4263,8 @@ func (c *AutoScaling) PutLifecycleHookRequest(input *PutLifecycleHookInput) (req // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -4328,7 +4358,8 @@ func (c *AutoScaling) PutNotificationConfigurationRequest(input *PutNotification // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -4406,7 +4437,8 @@ func (c *AutoScaling) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req // Creates or updates a scaling policy for an Auto Scaling group. // // For more information about using scaling policies to scale your Auto Scaling -// group automatically, see Dynamic Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) +// group, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) +// and Step and Simple Scaling Policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html) // in the Amazon EC2 Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4420,7 +4452,8 @@ func (c *AutoScaling) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -4518,7 +4551,8 @@ func (c *AutoScaling) PutScheduledUpdateGroupActionRequest(input *PutScheduledUp // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -4593,7 +4627,7 @@ func (c *AutoScaling) RecordLifecycleActionHeartbeatRequest(input *RecordLifecyc // // Records a heartbeat for the lifecycle action associated with the specified // token or instance. This extends the timeout by the length of time defined -// using PutLifecycleHook. +// using the PutLifecycleHook API call. // // This step is a part of the procedure for adding a lifecycle hook to an Auto // Scaling group: @@ -4786,8 +4820,11 @@ func (c *AutoScaling) SetDesiredCapacityRequest(input *SetDesiredCapacityInput) // // Sets the size of the specified Auto Scaling group. // -// For more information about desired capacity, see What Is Amazon EC2 Auto -// Scaling? (https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) +// If a scale-in activity occurs as a result of a new DesiredCapacity value +// that is lower than the current size of the group, the Auto Scaling group +// uses its termination policy to determine which instances to terminate. +// +// For more information, see Manual Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html) // in the Amazon EC2 Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4974,7 +5011,8 @@ func (c *AutoScaling) SetInstanceProtectionRequest(input *SetInstanceProtectionI // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -5051,13 +5089,12 @@ func (c *AutoScaling) SuspendProcessesRequest(input *ScalingProcessQuery) (req * // the specified Auto Scaling group. // // If you suspend either the Launch or Terminate process types, it can prevent -// other process types from functioning properly. -// -// To resume processes that have been suspended, use ResumeProcesses. -// -// For more information, see Suspending and Resuming Scaling Processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html) +// other process types from functioning properly. For more information, see +// Suspending and Resuming Scaling Processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html) // in the Amazon EC2 Auto Scaling User Guide. // +// To resume processes that have been suspended, call the ResumeProcesses API. +// // 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. @@ -5140,7 +5177,9 @@ func (c *AutoScaling) TerminateInstanceInAutoScalingGroupRequest(input *Terminat // TerminateInstanceInAutoScalingGroup API operation for Auto Scaling. // // Terminates the specified instance and optionally adjusts the desired group -// size. This call simply makes a termination request. The instance is not terminated +// size. +// +// This call simply makes a termination request. The instance is not terminated // immediately. When an instance is terminated, the instance status changes // to terminated. You can't connect to or start an instance after you've terminated // it. @@ -5260,7 +5299,7 @@ func (c *AutoScaling) UpdateAutoScalingGroupRequest(input *UpdateAutoScalingGrou // // Note the following about changing DesiredCapacity, MaxSize, or MinSize: // -// * If a scale-in event occurs as a result of a new DesiredCapacity value +// * If a scale-in activity occurs as a result of a new DesiredCapacity value // that is lower than the current size of the group, the Auto Scaling group // uses its termination policy to determine which instances to terminate. // @@ -5273,9 +5312,10 @@ func (c *AutoScaling) UpdateAutoScalingGroupRequest(input *UpdateAutoScalingGrou // of the group, this sets the group's DesiredCapacity to the new MaxSize // value. // -// To see which parameters have been set, use DescribeAutoScalingGroups. You -// can also view the scaling policies for an Auto Scaling group using DescribePolicies. -// If the group has scaling policies, you can update them using PutScalingPolicy. +// To see which parameters have been set, call the DescribeAutoScalingGroups +// API. To view the scaling policies for an Auto Scaling group, call the DescribePolicies +// API. If the group has scaling policies, you can update them by calling the +// PutScalingPolicy API. // // 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 @@ -5876,17 +5916,23 @@ type BlockDeviceMapping struct { // DeviceName is a required field DeviceName *string `min:"1" type:"string" required:"true"` - // The information about the Amazon EBS volume. + // Parameters used to automatically set up EBS volumes when an instance is launched. + // + // You can specify either VirtualName or Ebs, but not both. Ebs *Ebs `type:"structure"` - // Suppresses a device mapping. + // Setting this value to true suppresses the specified device included in the + // block device mapping of the AMI. + // + // If NoDevice is true for the root device, instances might fail the EC2 health + // check. In that case, Amazon EC2 Auto Scaling launches replacement instances. // - // If this parameter is true for the root device, the instance might fail the - // EC2 health check. In that case, Amazon EC2 Auto Scaling launches a replacement - // instance. + // If you specify NoDevice, you cannot specify Ebs. NoDevice *bool `type:"boolean"` // The name of the virtual device (for example, ephemeral0). + // + // You can specify either VirtualName or Ebs, but not both. VirtualName *string `min:"1" type:"string"` } @@ -6084,11 +6130,13 @@ type CreateAutoScalingGroupInput struct { // in the Amazon EC2 Auto Scaling User Guide. DefaultCooldown *int64 `type:"integer"` - // The number of Amazon EC2 instances that the Auto Scaling group attempts to - // maintain. This number must be greater than or equal to the minimum size of - // the group and less than or equal to the maximum size of the group. If you - // do not specify a desired capacity, the default is the minimum size of the - // group. + // The desired capacity is the initial capacity of the Auto Scaling group at + // the time of its creation and the capacity it attempts to maintain. It can + // scale beyond this capacity if you configure automatic scaling. + // + // This number must be greater than or equal to the minimum size of the group + // and less than or equal to the maximum size of the group. If you do not specify + // a desired capacity, the default is the minimum size of the group. DesiredCapacity *int64 `type:"integer"` // The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before @@ -6112,33 +6160,38 @@ type CreateAutoScalingGroupInput struct { HealthCheckType *string `min:"1" type:"string"` // The ID of the instance used to create a launch configuration for the group. + // To get the instance ID, use the Amazon EC2 DescribeInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html) + // API operation. // // When you specify an ID of an instance, Amazon EC2 Auto Scaling creates a // new launch configuration and associates it with the group. This launch configuration // derives its attributes from the specified instance, except for the block // device mapping. // - // For more information, see Create an Auto Scaling Group Using an EC2 Instance - // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-from-instance.html) - // in the Amazon EC2 Auto Scaling User Guide. - // // You must specify one of the following parameters in your request: LaunchConfigurationName, // LaunchTemplate, InstanceId, or MixedInstancesPolicy. InstanceId *string `min:"1" type:"string"` - // The name of the launch configuration. + // The name of the launch configuration to use when an instance is launched. + // To get the launch configuration name, use the DescribeLaunchConfigurations + // API operation. New launch configurations can be created with the CreateLaunchConfiguration + // API. // - // If you do not specify LaunchConfigurationName, you must specify one of the - // following parameters: InstanceId, LaunchTemplate, or MixedInstancesPolicy. + // You must specify one of the following parameters in your request: LaunchConfigurationName, + // LaunchTemplate, InstanceId, or MixedInstancesPolicy. LaunchConfigurationName *string `min:"1" type:"string"` - // The launch template to use to launch instances. + // Parameters used to specify the launch template and version to use when an + // instance is launched. // // For more information, see LaunchTemplateSpecification (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_LaunchTemplateSpecification.html) // in the Amazon EC2 Auto Scaling API Reference. // - // If you do not specify LaunchTemplate, you must specify one of the following - // parameters: InstanceId, LaunchConfigurationName, or MixedInstancesPolicy. + // You can alternatively associate a launch template to the Auto Scaling group + // by using the MixedInstancesPolicy parameter. + // + // You must specify one of the following parameters in your request: LaunchConfigurationName, + // LaunchTemplate, InstanceId, or MixedInstancesPolicy. LaunchTemplate *LaunchTemplateSpecification `type:"structure"` // One or more lifecycle hooks. @@ -6154,16 +6207,27 @@ type CreateAutoScalingGroupInput struct { LoadBalancerNames []*string `type:"list"` // The maximum amount of time, in seconds, that an instance can be in service. + // The default is null. + // + // This parameter is optional, but if you specify a value for it, you must specify + // a value of at least 604,800 seconds (7 days). To clear a previously set value, + // specify a new value of 0. // // For more information, see Replacing Auto Scaling Instances Based on Maximum // Instance Lifetime (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html) // in the Amazon EC2 Auto Scaling User Guide. // - // Valid Range: Minimum value of 604800. + // Valid Range: Minimum value of 0. MaxInstanceLifetime *int64 `type:"integer"` // The maximum size of the group. // + // With a mixed instances policy that uses instance weighting, Amazon EC2 Auto + // Scaling may need to go above MaxSize to meet your capacity requirements. + // In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more + // than your maximum instance weight (weights that define how many capacity + // units each instance contributes to the capacity of the group). + // // MaxSize is a required field MaxSize *int64 `type:"integer" required:"true"` @@ -6214,7 +6278,14 @@ type CreateAutoScalingGroupInput struct { // in the Amazon EC2 Auto Scaling User Guide. ServiceLinkedRoleARN *string `min:"1" type:"string"` - // One or more tags. + // One or more tags. You can tag your Auto Scaling group and propagate the tags + // to the Amazon EC2 instances it launches. + // + // Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS + // volumes, specify the tags in a launch template but use caution. If the launch + // template specifies an instance tag with a key that is also specified for + // the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that + // instance tag with the value specified by the Auto Scaling group. // // For more information, see Tagging Auto Scaling Groups and Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) // in the Amazon EC2 Auto Scaling User Guide. @@ -9022,8 +9093,7 @@ type DisableMetricsCollectionInput struct { // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` - // One or more of the following metrics. If you omit this parameter, all metrics - // are disabled. + // Specifies one or more of the following metrics: // // * GroupMinSize // @@ -9040,6 +9110,18 @@ type DisableMetricsCollectionInput struct { // * GroupTerminatingInstances // // * GroupTotalInstances + // + // * GroupInServiceCapacity + // + // * GroupPendingCapacity + // + // * GroupStandbyCapacity + // + // * GroupTerminatingCapacity + // + // * GroupTotalCapacity + // + // If you omit this parameter, all metrics are disabled. Metrics []*string `type:"list"` } @@ -9095,7 +9177,8 @@ func (s DisableMetricsCollectionOutput) GoString() string { return s.String() } -// Describes an Amazon EBS volume. Used in combination with BlockDeviceMapping. +// Describes information used to set up an Amazon EBS volume specified in a +// block device mapping. type Ebs struct { _ struct{} `type:"structure"` @@ -9247,8 +9330,8 @@ type EnableMetricsCollectionInput struct { // Granularity is a required field Granularity *string `min:"1" type:"string" required:"true"` - // One or more of the following metrics. If you omit this parameter, all metrics - // are enabled. + // Specifies which group-level metrics to start collecting. You can specify + // one or more of the following metrics: // // * GroupMinSize // @@ -9265,6 +9348,20 @@ type EnableMetricsCollectionInput struct { // * GroupTerminatingInstances // // * GroupTotalInstances + // + // The instance weighting feature supports the following additional metrics: + // + // * GroupInServiceCapacity + // + // * GroupPendingCapacity + // + // * GroupStandbyCapacity + // + // * GroupTerminatingCapacity + // + // * GroupTotalCapacity + // + // If you omit this parameter, all metrics are enabled. Metrics []*string `type:"list"` } @@ -9356,6 +9453,16 @@ type EnabledMetric struct { // * GroupTerminatingInstances // // * GroupTotalInstances + // + // * GroupInServiceCapacity + // + // * GroupPendingCapacity + // + // * GroupStandbyCapacity + // + // * GroupTerminatingCapacity + // + // * GroupTotalCapacity Metric *string `min:"1" type:"string"` } @@ -9699,15 +9806,19 @@ func (s *FailedScheduledUpdateGroupActionRequest) SetScheduledActionName(v strin return s } -// Describes a filter. +// Describes a filter that is used to return a more specific list of results +// when describing tags. +// +// For more information, see Tagging Auto Scaling Groups and Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) +// in the Amazon EC2 Auto Scaling User Guide. type Filter struct { _ struct{} `type:"structure"` - // The name of the filter. The valid values are: "auto-scaling-group", "key", - // "value", and "propagate-at-launch". + // The name of the filter. The valid values are: auto-scaling-group, key, value, + // and propagate-at-launch. Name *string `type:"string"` - // The value of the filter. + // One or more filter values. Filter values are case-sensitive. Values []*string `type:"list"` } @@ -9795,7 +9906,7 @@ type Group struct { // The maximum amount of time, in seconds, that an instance can be in service. // - // Valid Range: Minimum value of 604800. + // Valid Range: Minimum value of 0. MaxInstanceLifetime *int64 `type:"integer"` // The maximum size of the group. @@ -9822,7 +9933,8 @@ type Group struct { // group uses to call other AWS services on your behalf. ServiceLinkedRoleARN *string `min:"1" type:"string"` - // The current state of the group when DeleteAutoScalingGroup is in progress. + // The current state of the group when the DeleteAutoScalingGroup operation + // is in progress. Status *string `min:"1" type:"string"` // The suspended processes associated with the group. @@ -10676,9 +10788,12 @@ type LaunchTemplate struct { // or launch template name in the request. LaunchTemplateSpecification *LaunchTemplateSpecification `type:"structure"` - // An optional setting. Any parameters that you specify override the same parameters - // in the launch template. Currently, the only supported override is instance - // type. You can specify between 1 and 20 instance types. + // Any parameters that you specify override the same parameters in the launch + // template. Currently, the only supported override is instance type. You can + // specify between 1 and 20 instance types. + // + // If not provided, Amazon EC2 Auto Scaling will use the instance type specified + // in the launch template to launch instances. Overrides []*LaunchTemplateOverrides `type:"list"` } @@ -10729,11 +10844,16 @@ func (s *LaunchTemplate) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTempl return s } -// Describes an override for a launch template. +// Describes an override for a launch template. Currently, the only supported +// override is instance type. +// +// The maximum number of instance type overrides that can be associated with +// an Auto Scaling group is 20. type LaunchTemplateOverrides struct { _ struct{} `type:"structure"` - // The instance type. + // The instance type. You must use an instance type that is supported in your + // requested Region and Availability Zones. // // For information about available instance types, see Available Instance Types // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes) @@ -10792,7 +10912,8 @@ func (s *LaunchTemplateOverrides) SetWeightedCapacity(v string) *LaunchTemplateO return s } -// Describes a launch template and the launch template version. +// Describes the Amazon EC2 launch template and the launch template version +// that can be used by an Auto Scaling group to configure Amazon EC2 instances. // // The launch template that is specified must be configured for use with an // Auto Scaling group. For more information, see Creating a Launch Template @@ -10801,19 +10922,34 @@ func (s *LaunchTemplateOverrides) SetWeightedCapacity(v string) *LaunchTemplateO type LaunchTemplateSpecification struct { _ struct{} `type:"structure"` - // The ID of the launch template. You must specify either a template ID or a - // template name. + // The ID of the launch template. To get the template ID, use the Amazon EC2 + // DescribeLaunchTemplates (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html) + // API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) + // API. + // + // You must specify either a template ID or a template name. LaunchTemplateId *string `min:"1" type:"string"` - // The name of the launch template. You must specify either a template name - // or a template ID. + // The name of the launch template. To get the template name, use the Amazon + // EC2 DescribeLaunchTemplates (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html) + // API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) + // API. + // + // You must specify either a template ID or a template name. LaunchTemplateName *string `min:"3" type:"string"` - // The version number, $Latest, or $Default. If the value is $Latest, Amazon - // EC2 Auto Scaling selects the latest version of the launch template when launching - // instances. If the value is $Default, Amazon EC2 Auto Scaling selects the - // default version of the launch template when launching instances. The default - // value is $Default. + // The version number, $Latest, or $Default. To get the version number, use + // the Amazon EC2 DescribeLaunchTemplateVersions (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplateVersions.html) + // API operation. New launch template versions can be created using the Amazon + // EC2 CreateLaunchTemplateVersion (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplateVersion.html) + // API. + // + // If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version + // of the launch template when launching instances. If the value is $Default, + // Amazon EC2 Auto Scaling selects the default version of the launch template + // when launching instances. The default value is $Default. Version *string `min:"1" type:"string"` } @@ -10866,7 +11002,6 @@ func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecif // Describes a lifecycle hook, which tells Amazon EC2 Auto Scaling that you // want to perform an action whenever it launches instances or terminates instances. -// Used in response to DescribeLifecycleHooks. type LifecycleHook struct { _ struct{} `type:"structure"` @@ -10977,7 +11112,8 @@ func (s *LifecycleHook) SetRoleARN(v string) *LifecycleHook { return s } -// Describes a lifecycle hook. Used in combination with CreateAutoScalingGroup. +// Describes information used to specify a lifecycle hook for an Auto Scaling +// group. // // A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on an // instance when the instance launches (before it is put into service) or as @@ -10998,18 +11134,12 @@ func (s *LifecycleHook) SetRoleARN(v string) *LifecycleHook { // launch or terminate. // // If you need more time, record the lifecycle action heartbeat to keep the -// instance in a pending state using RecordLifecycleActionHeartbeat. +// instance in a pending state. // -// If you finish before the timeout period ends, complete the lifecycle action -// using CompleteLifecycleAction. +// If you finish before the timeout period ends, complete the lifecycle action. // // For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) // in the Amazon EC2 Auto Scaling User Guide. -// -// You can view the lifecycle hooks for an Auto Scaling group using DescribeLifecycleHooks. -// You can modify an existing lifecycle hook or create new lifecycle hooks using -// PutLifecycleHook. If you are no longer using a lifecycle hook, you can delete -// it using DeleteLifecycleHook. type LifecycleHookSpecification struct { _ struct{} `type:"structure"` @@ -11619,7 +11749,7 @@ type PutLifecycleHookInput struct { // // If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action // that you specified in the DefaultResult parameter. You can prevent the lifecycle - // hook from timing out by calling RecordLifecycleActionHeartbeat. + // hook from timing out by calling the RecordLifecycleActionHeartbeat API. HeartbeatTimeout *int64 `type:"integer"` // The name of the lifecycle hook. @@ -11774,8 +11904,9 @@ type PutNotificationConfigurationInput struct { // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` - // The type of event that causes the notification to be sent. For more information - // about notification types supported by Amazon EC2 Auto Scaling, see DescribeAutoScalingNotificationTypes. + // The type of event that causes the notification to be sent. To query the notification + // types supported by Amazon EC2 Auto Scaling, call the DescribeAutoScalingNotificationTypes + // API. // // NotificationTypes is a required field NotificationTypes []*string `type:"list" required:"true"` @@ -11900,19 +12031,17 @@ type PutScalingPolicyInput struct { // Valid only if the policy type is StepScaling. MetricAggregationType *string `min:"1" type:"string"` - // The minimum number of instances to scale. If the value of AdjustmentType - // is PercentChangeInCapacity, the scaling policy changes the DesiredCapacity - // of the Auto Scaling group by at least this many instances. Otherwise, the - // error is ValidationError. - // - // This property replaces the MinAdjustmentStep property. For example, suppose + // The minimum value to scale by when scaling by percentages. For example, suppose // that you create a step scaling policy to scale out an Auto Scaling group // by 25 percent and you specify a MinAdjustmentMagnitude of 2. If the group // has 4 instances and the scaling policy is performed, 25 percent of 4 is 1. // However, because you specified a MinAdjustmentMagnitude of 2, Amazon EC2 // Auto Scaling scales out the group by 2 instances. // - // Valid only if the policy type is SimpleScaling or StepScaling. + // Valid only if the policy type is StepScaling or SimpleScaling and the adjustment + // type is PercentChangeInCapacity. For more information, see Scaling Adjustment + // Types (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment) + // in the Amazon EC2 Auto Scaling User Guide. MinAdjustmentMagnitude *int64 `type:"integer"` // Available for backward compatibility. Use MinAdjustmentMagnitude instead. @@ -12131,17 +12260,19 @@ type PutScheduledUpdateGroupActionInput struct { // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` - // The number of EC2 instances that should be running in the Auto Scaling group. + // The desired capacity is the initial capacity of the Auto Scaling group after + // the scheduled action runs and the capacity it attempts to maintain. It can + // scale beyond this capacity if you add more scaling conditions. DesiredCapacity *int64 `type:"integer"` // The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling // does not perform the action after this time. EndTime *time.Time `type:"timestamp"` - // The maximum number of instances in the Auto Scaling group. + // The maximum size of the Auto Scaling group. MaxSize *int64 `type:"integer"` - // The minimum number of instances in the Auto Scaling group. + // The minimum size of the Auto Scaling group. MinSize *int64 `type:"integer"` // The recurring schedule for this action, in Unix cron syntax format. This @@ -12616,24 +12747,25 @@ func (s *ScalingProcessQuery) SetScalingProcesses(v []*string) *ScalingProcessQu return s } -// Describes a scheduled scaling action. Used in response to DescribeScheduledActions. +// Describes a scheduled scaling action. type ScheduledUpdateGroupAction struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group. AutoScalingGroupName *string `min:"1" type:"string"` - // The number of instances you prefer to maintain in the group. + // The desired capacity is the initial capacity of the Auto Scaling group after + // the scheduled action runs and the capacity it attempts to maintain. DesiredCapacity *int64 `type:"integer"` // The date and time in UTC for the recurring schedule to end. For example, // "2019-06-01T00:00:00Z". EndTime *time.Time `type:"timestamp"` - // The maximum number of instances in the Auto Scaling group. + // The maximum size of the Auto Scaling group. MaxSize *int64 `type:"integer"` - // The minimum number of instances in the Auto Scaling group. + // The minimum size of the Auto Scaling group. MinSize *int64 `type:"integer"` // The recurring schedule for the action, in Unix cron syntax format. @@ -12725,25 +12857,26 @@ func (s *ScheduledUpdateGroupAction) SetTime(v time.Time) *ScheduledUpdateGroupA return s } -// Describes one or more scheduled scaling action updates for a specified Auto -// Scaling group. Used in combination with BatchPutScheduledUpdateGroupAction. +// Describes information used for one or more scheduled scaling action updates +// in a BatchPutScheduledUpdateGroupAction operation. // // When updating a scheduled scaling action, all optional parameters are left // unchanged if not specified. type ScheduledUpdateGroupActionRequest struct { _ struct{} `type:"structure"` - // The number of EC2 instances that should be running in the group. + // The desired capacity is the initial capacity of the Auto Scaling group after + // the scheduled action runs and the capacity it attempts to maintain. DesiredCapacity *int64 `type:"integer"` // The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling // does not perform the action after this time. EndTime *time.Time `type:"timestamp"` - // The maximum number of instances in the Auto Scaling group. + // The maximum size of the Auto Scaling group. MaxSize *int64 `type:"integer"` - // The minimum number of instances in the Auto Scaling group. + // The minimum size of the Auto Scaling group. MinSize *int64 `type:"integer"` // The recurring schedule for the action, in Unix cron syntax format. This format @@ -12851,7 +12984,8 @@ type SetDesiredCapacityInput struct { // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` - // The number of EC2 instances that should be running in the Auto Scaling group. + // The desired capacity is the initial capacity of the Auto Scaling group after + // this operation completes and the capacity it attempts to maintain. // // DesiredCapacity is a required field DesiredCapacity *int64 `type:"integer" required:"true"` @@ -12944,7 +13078,9 @@ type SetInstanceHealthInput struct { // Set this to False, to have the call not respect the grace period associated // with the group. // - // For more information about the health check grace period, see CreateAutoScalingGroup. + // For more information about the health check grace period, see CreateAutoScalingGroup + // (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CreateAutoScalingGroup.html) + // in the Amazon EC2 Auto Scaling API Reference. ShouldRespectGracePeriod *bool `type:"boolean"` } @@ -13096,9 +13232,8 @@ func (s SetInstanceProtectionOutput) GoString() string { return s.String() } -// Describes an adjustment based on the difference between the value of the -// aggregated CloudWatch metric and the breach threshold that you've defined -// for the alarm. Used in combination with PutScalingPolicy. +// Describes information used to create a step adjustment for a step scaling +// policy. // // For the following examples, suppose that you have an alarm with a breach // threshold of 50: @@ -13124,6 +13259,9 @@ func (s SetInstanceProtectionOutput) GoString() string { // with a null upper bound. // // * The upper and lower bound can't be null in the same step adjustment. +// +// For more information, see Step Adjustments (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-steps) +// in the Amazon EC2 Auto Scaling User Guide. type StepAdjustment struct { _ struct{} `type:"structure"` @@ -13207,8 +13345,10 @@ func (s SuspendProcessesOutput) GoString() string { return s.String() } -// Describes an automatic scaling process that has been suspended. For more -// information, see ProcessType. +// Describes an automatic scaling process that has been suspended. +// +// For more information, see Scaling Processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html#process-types) +// in the Amazon EC2 Auto Scaling User Guide. type SuspendedProcess struct { _ struct{} `type:"structure"` @@ -13563,7 +13703,9 @@ type UpdateAutoScalingGroupInput struct { // in the Amazon EC2 Auto Scaling User Guide. DefaultCooldown *int64 `type:"integer"` - // The number of EC2 instances that should be running in the Auto Scaling group. + // The desired capacity is the initial capacity of the Auto Scaling group after + // this operation completes and the capacity it attempts to maintain. + // // This number must be greater than or equal to the minimum size of the group // and less than or equal to the maximum size of the group. DesiredCapacity *int64 `type:"integer"` @@ -13597,15 +13739,26 @@ type UpdateAutoScalingGroupInput struct { LaunchTemplate *LaunchTemplateSpecification `type:"structure"` // The maximum amount of time, in seconds, that an instance can be in service. + // The default is null. + // + // This parameter is optional, but if you specify a value for it, you must specify + // a value of at least 604,800 seconds (7 days). To clear a previously set value, + // specify a new value of 0. // // For more information, see Replacing Auto Scaling Instances Based on Maximum // Instance Lifetime (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html) // in the Amazon EC2 Auto Scaling User Guide. // - // Valid Range: Minimum value of 604800. + // Valid Range: Minimum value of 0. MaxInstanceLifetime *int64 `type:"integer"` // The maximum size of the Auto Scaling group. + // + // With a mixed instances policy that uses instance weighting, Amazon EC2 Auto + // Scaling may need to go above MaxSize to meet your capacity requirements. + // In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more + // than your maximum instance weight (weights that define how many capacity + // units each instance contributes to the capacity of the group). MaxSize *int64 `type:"integer"` // The minimum size of the Auto Scaling group. diff --git a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/errors.go b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/errors.go index 2e65ee3d93f..a760eaf047a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/errors.go @@ -22,7 +22,8 @@ const ( // // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). - // For more information, see DescribeAccountLimits. + // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) + // in the Amazon EC2 Auto Scaling API Reference. ErrCodeLimitExceededFault = "LimitExceeded" // ErrCodeResourceContentionFault for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go index 316965c88ba..4ee55692c81 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go @@ -87,7 +87,7 @@ func (c *CloudFront) CreateCloudFrontOriginAccessIdentityRequest(input *CreateCl // access identities allowed. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. @@ -234,7 +234,7 @@ func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) ( // A response code is not valid. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidRequiredProtocol "InvalidRequiredProtocol" // This operation requires the HTTPS protocol. Ensure that you specify the HTTPS @@ -462,7 +462,7 @@ func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistribution // A response code is not valid. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidRequiredProtocol "InvalidRequiredProtocol" // This operation requires the HTTPS protocol. Ensure that you specify the HTTPS @@ -643,7 +643,7 @@ func (c *CloudFront) CreateFieldLevelEncryptionConfigRequest(input *CreateFieldL // The value of Quantity and the size of Items don't match. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" // The specified profile for field-level encryption doesn't exist. @@ -746,7 +746,7 @@ func (c *CloudFront) CreateFieldLevelEncryptionProfileRequest(input *CreateField // The value of Quantity and the size of Items don't match. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeNoSuchPublicKey "NoSuchPublicKey" // The specified public key doesn't exist. @@ -852,7 +852,7 @@ func (c *CloudFront) CreateInvalidationRequest(input *CreateInvalidationInput) ( // header is set. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeNoSuchDistribution "NoSuchDistribution" // The specified distribution does not exist. @@ -948,7 +948,7 @@ func (c *CloudFront) CreatePublicKeyRequest(input *CreatePublicKeyInput) (req *r // The specified public key already exists. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeTooManyPublicKeys "TooManyPublicKeys" // The maximum number of public keys for field-level encryption have been created. @@ -1092,7 +1092,7 @@ func (c *CloudFront) CreateStreamingDistributionRequest(input *CreateStreamingDi // distributions allowed. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. @@ -1208,7 +1208,7 @@ func (c *CloudFront) CreateStreamingDistributionWithTagsRequest(input *CreateStr // distributions allowed. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. @@ -1303,7 +1303,7 @@ func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityRequest(input *DeleteCl // The specified origin access identity does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeOriginAccessIdentityInUse "CloudFrontOriginAccessIdentityInUse" @@ -1400,7 +1400,7 @@ func (c *CloudFront) DeleteDistributionRequest(input *DeleteDistributionInput) ( // The specified distribution does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteDistribution @@ -1490,7 +1490,7 @@ func (c *CloudFront) DeleteFieldLevelEncryptionConfigRequest(input *DeleteFieldL // The specified configuration for field-level encryption doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeFieldLevelEncryptionConfigInUse "FieldLevelEncryptionConfigInUse" @@ -1583,7 +1583,7 @@ func (c *CloudFront) DeleteFieldLevelEncryptionProfileRequest(input *DeleteField // The specified profile for field-level encryption doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeFieldLevelEncryptionProfileInUse "FieldLevelEncryptionProfileInUse" @@ -1679,7 +1679,7 @@ func (c *CloudFront) DeletePublicKeyRequest(input *DeletePublicKeyInput) (req *r // The specified public key doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeletePublicKey @@ -1808,7 +1808,7 @@ func (c *CloudFront) DeleteStreamingDistributionRequest(input *DeleteStreamingDi // The specified streaming distribution does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteStreamingDistribution @@ -2964,7 +2964,7 @@ func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesRequest(input *ListClou // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListCloudFrontOriginAccessIdentities func (c *CloudFront) ListCloudFrontOriginAccessIdentities(input *ListCloudFrontOriginAccessIdentitiesInput) (*ListCloudFrontOriginAccessIdentitiesOutput, error) { @@ -3101,7 +3101,7 @@ func (c *CloudFront) ListDistributionsRequest(input *ListDistributionsInput) (re // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListDistributions func (c *CloudFront) ListDistributions(input *ListDistributionsInput) (*ListDistributionsOutput, error) { @@ -3232,7 +3232,7 @@ func (c *CloudFront) ListDistributionsByWebACLIdRequest(input *ListDistributions // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidWebACLId "InvalidWebACLId" // A web ACL ID specified is not valid. To specify a web ACL created using the @@ -3318,7 +3318,7 @@ func (c *CloudFront) ListFieldLevelEncryptionConfigsRequest(input *ListFieldLeve // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionConfigs func (c *CloudFront) ListFieldLevelEncryptionConfigs(input *ListFieldLevelEncryptionConfigsInput) (*ListFieldLevelEncryptionConfigsOutput, error) { @@ -3398,7 +3398,7 @@ func (c *CloudFront) ListFieldLevelEncryptionProfilesRequest(input *ListFieldLev // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionProfiles func (c *CloudFront) ListFieldLevelEncryptionProfiles(input *ListFieldLevelEncryptionProfilesInput) (*ListFieldLevelEncryptionProfilesOutput, error) { @@ -3483,7 +3483,7 @@ func (c *CloudFront) ListInvalidationsRequest(input *ListInvalidationsInput) (re // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeNoSuchDistribution "NoSuchDistribution" // The specified distribution does not exist. @@ -3620,7 +3620,7 @@ func (c *CloudFront) ListPublicKeysRequest(input *ListPublicKeysInput) (req *req // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListPublicKeys func (c *CloudFront) ListPublicKeys(input *ListPublicKeysInput) (*ListPublicKeysOutput, error) { @@ -3705,7 +3705,7 @@ func (c *CloudFront) ListStreamingDistributionsRequest(input *ListStreamingDistr // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListStreamingDistributions func (c *CloudFront) ListStreamingDistributions(input *ListStreamingDistributionsInput) (*ListStreamingDistributionsOutput, error) { @@ -3839,7 +3839,7 @@ func (c *CloudFront) ListTagsForResourceRequest(input *ListTagsForResourceInput) // Access denied. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidTagging "InvalidTagging" // The tagging specified is not valid. @@ -3928,7 +3928,7 @@ func (c *CloudFront) TagResourceRequest(input *TagResourceInput) (req *request.R // Access denied. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidTagging "InvalidTagging" // The tagging specified is not valid. @@ -4017,7 +4017,7 @@ func (c *CloudFront) UntagResourceRequest(input *UntagResourceInput) (req *reque // Access denied. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidTagging "InvalidTagging" // The tagging specified is not valid. @@ -4118,11 +4118,11 @@ func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityRequest(input *UpdateCl // The specified origin access identity does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. @@ -4286,7 +4286,7 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( // The specified distribution does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeTooManyDistributionCNAMEs "TooManyDistributionCNAMEs" @@ -4306,7 +4306,7 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( // A response code is not valid. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" // The origin access identity is not valid or doesn't exist. @@ -4501,7 +4501,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionConfigRequest(input *UpdateFieldL // The value of Quantity and the size of Items don't match. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" // The If-Match version is missing or not valid for the distribution. @@ -4513,7 +4513,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionConfigRequest(input *UpdateFieldL // The specified configuration for field-level encryption doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeTooManyFieldLevelEncryptionQueryArgProfiles "TooManyFieldLevelEncryptionQueryArgProfiles" @@ -4616,7 +4616,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionProfileRequest(input *UpdateField // The value of Quantity and the size of Items don't match. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" // The If-Match version is missing or not valid for the distribution. @@ -4628,7 +4628,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionProfileRequest(input *UpdateField // The specified profile for field-level encryption doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeFieldLevelEncryptionProfileSizeExceeded "FieldLevelEncryptionProfileSizeExceeded" @@ -4726,7 +4726,7 @@ func (c *CloudFront) UpdatePublicKeyRequest(input *UpdatePublicKeyInput) (req *r // You can't change the value of a public key. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" // The If-Match version is missing or not valid for the distribution. @@ -4738,7 +4738,7 @@ func (c *CloudFront) UpdatePublicKeyRequest(input *UpdatePublicKeyInput) (req *r // The specified public key doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdatePublicKey @@ -4837,14 +4837,14 @@ func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDi // The specified streaming distribution does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeTooManyStreamingDistributionCNAMEs "TooManyStreamingDistributionCNAMEs" // Your request contains more CNAMEs than are allowed per distribution. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" // The origin access identity is not valid or doesn't exist. @@ -5147,19 +5147,19 @@ func (s *AllowedMethods) SetQuantity(v int64) *AllowedMethods { // A complex type that describes how CloudFront processes requests. // // You must create at least as many cache behaviors (including the default cache -// behavior) as you have origins if you want CloudFront to distribute objects -// from all of the origins. Each cache behavior specifies the one origin from -// which you want CloudFront to get objects. If you have two origins and only -// the default cache behavior, the default cache behavior will cause CloudFront +// behavior) as you have origins if you want CloudFront to serve objects from +// all of the origins. Each cache behavior specifies the one origin from which +// you want CloudFront to get objects. If you have two origins and only the +// default cache behavior, the default cache behavior will cause CloudFront // to get objects from one of the origins, but the other origin is never used. // -// For the current limit on the number of cache behaviors that you can add to -// a distribution, see Amazon CloudFront Limits (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_cloudfront) -// in the AWS General Reference. +// For the current quota (formerly known as limit) on the number of cache behaviors +// that you can add to a distribution, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// in the Amazon CloudFront Developer Guide. // -// If you don't want to specify any cache behaviors, include only an empty CacheBehaviors -// element. Don't include an empty CacheBehavior element, or CloudFront returns -// a MalformedXML error. +// If you don’t want to specify any cache behaviors, include only an empty +// CacheBehaviors element. Don’t include an empty CacheBehavior element because +// this is invalid. // // To delete all cache behaviors in an existing distribution, update the distribution // configuration and include only an empty CacheBehaviors element. @@ -5168,7 +5168,7 @@ func (s *AllowedMethods) SetQuantity(v int64) *AllowedMethods { // configuration and specify all of the cache behaviors that you want to include // in the updated distribution. // -// For more information about cache behaviors, see Cache Behaviors (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) +// For more information about cache behaviors, see Cache Behavior Settings (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) // in the Amazon CloudFront Developer Guide. type CacheBehavior struct { _ struct{} `type:"structure"` @@ -5206,8 +5206,7 @@ type CacheBehavior struct { DefaultTTL *int64 `type:"long"` // The value of ID for the field-level encryption configuration that you want - // CloudFront to use for encrypting specific fields of data for a cache behavior - // or for the default cache behavior in your distribution. + // CloudFront to use for encrypting specific fields of data for this cache behavior. FieldLevelEncryptionId *string `type:"string"` // A complex type that specifies how CloudFront handles query strings, cookies, @@ -5269,8 +5268,7 @@ type CacheBehavior struct { SmoothStreaming *bool `type:"boolean"` // The value of ID for the origin that you want CloudFront to route requests - // to when a request matches the path pattern either for a cache behavior or - // for the default cache behavior in your distribution. + // to when they match this cache behavior. // // TargetOriginId is a required field TargetOriginId *string `type:"string" required:"true"` @@ -5281,14 +5279,15 @@ type CacheBehavior struct { // If you want to require signed URLs in requests for objects in the target // origin that match the PathPattern for this cache behavior, specify true for // Enabled, and specify the applicable values for Quantity and Items. For more - // information, see Serving Private Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) + // information, see Serving Private Content with Signed URLs and Signed Cookies + // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) // in the Amazon CloudFront Developer Guide. // - // If you don't want to require signed URLs in requests for objects that match + // If you don’t want to require signed URLs in requests for objects that match // PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. // // To add, change, or remove one or more trusted signers, change Enabled to - // true (if it's currently false), change Quantity as applicable, and specify + // true (if it’s currently false), change Quantity as applicable, and specify // all of the trusted signers that you want to include in the updated distribution. // // TrustedSigners is a required field @@ -5307,18 +5306,17 @@ type CacheBehavior struct { // * https-only: If a viewer sends an HTTP request, CloudFront returns an // HTTP status code of 403 (Forbidden). // - // For more information about requiring the HTTPS protocol, see Using an HTTPS - // Connection to Access Your Objects (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html) + // For more information about requiring the HTTPS protocol, see Requiring HTTPS + // Between Viewers and CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) // in the Amazon CloudFront Developer Guide. // // The only way to guarantee that viewers retrieve an object that was fetched // from the origin using HTTPS is never to use any other protocol to fetch the // object. If you have recently changed from HTTP to HTTPS, we recommend that - // you clear your objects' cache because cached objects are protocol agnostic. + // you clear your objects’ cache because cached objects are protocol agnostic. // That means that an edge location will return an object from the cache regardless // of whether the current request protocol matches the protocol used previously. - // For more information, see Managing How Long Content Stays in an Edge Cache - // (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // For more information, see Managing Cache Expiration (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) // in the Amazon CloudFront Developer Guide. // // ViewerProtocolPolicy is a required field @@ -6938,45 +6936,61 @@ func (s *CustomHeaders) SetQuantity(v int64) *CustomHeaders { return s } -// A custom origin or an Amazon S3 bucket configured as a website endpoint. +// A custom origin. A custom origin is any origin that is not an Amazon S3 bucket, +// with one exception. An Amazon S3 bucket that is configured with static website +// hosting (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) +// is a custom origin. type CustomOriginConfig struct { _ struct{} `type:"structure"` - // The HTTP port the custom origin listens on. + // The HTTP port that CloudFront uses to connect to the origin. Specify the + // HTTP port that the origin listens on. // // HTTPPort is a required field HTTPPort *int64 `type:"integer" required:"true"` - // The HTTPS port the custom origin listens on. + // The HTTPS port that CloudFront uses to connect to the origin. Specify the + // HTTPS port that the origin listens on. // // HTTPSPort is a required field HTTPSPort *int64 `type:"integer" required:"true"` - // You can create a custom keep-alive timeout. All timeout units are in seconds. - // The default keep-alive timeout is 5 seconds, but you can configure custom - // timeout lengths using the CloudFront API. The minimum timeout length is 1 - // second; the maximum is 60 seconds. + // Specifies how long, in seconds, CloudFront persists its connection to the + // origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the + // default (if you don’t specify otherwise) is 5 seconds. // - // If you need to increase the maximum time limit, contact the AWS Support Center - // (https://console.aws.amazon.com/support/home#/). + // For more information, see Origin Keep-alive Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) + // in the Amazon CloudFront Developer Guide. OriginKeepaliveTimeout *int64 `type:"integer"` - // The origin protocol policy to apply to your origin. + // Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to + // the origin. Valid values are: + // + // * http-only – CloudFront always uses HTTP to connect to the origin. + // + // * match-viewer – CloudFront connects to the origin using the same protocol + // that the viewer used to connect to CloudFront. + // + // * https-only – CloudFront always uses HTTPS to connect to the origin. // // OriginProtocolPolicy is a required field OriginProtocolPolicy *string `type:"string" required:"true" enum:"OriginProtocolPolicy"` - // You can create a custom origin read timeout. All timeout units are in seconds. - // The default origin read timeout is 30 seconds, but you can configure custom - // timeout lengths using the CloudFront API. The minimum timeout length is 4 - // seconds; the maximum is 60 seconds. + // Specifies how long, in seconds, CloudFront waits for a response from the + // origin. This is also known as the origin response timeout. The minimum timeout + // is 1 second, the maximum is 60 seconds, and the default (if you don’t specify + // otherwise) is 30 seconds. // - // If you need to increase the maximum time limit, contact the AWS Support Center - // (https://console.aws.amazon.com/support/home#/). + // For more information, see Origin Response Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) + // in the Amazon CloudFront Developer Guide. OriginReadTimeout *int64 `type:"integer"` - // The SSL/TLS protocols that you want CloudFront to use when communicating - // with your origin over HTTPS. + // Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting + // to your origin over HTTPS. Valid values include SSLv3, TLSv1, TLSv1.1, and + // TLSv1.2. + // + // For more information, see Minimum Origin SSL Protocol (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) + // in the Amazon CloudFront Developer Guide. OriginSslProtocols *OriginSslProtocols `type:"structure"` } @@ -7050,9 +7064,10 @@ func (s *CustomOriginConfig) SetOriginSslProtocols(v *OriginSslProtocols) *Custo return s } -// A complex type that describes the default cache behavior if you don't specify -// a CacheBehavior element or if files don't match any of the values of PathPattern -// in CacheBehavior elements. You must create exactly one default cache behavior. +// A complex type that describes the default cache behavior if you don’t specify +// a CacheBehavior element or if request URLs don’t match any of the values +// of PathPattern in CacheBehavior elements. You must create exactly one default +// cache behavior. type DefaultCacheBehavior struct { _ struct{} `type:"structure"` @@ -7089,8 +7104,8 @@ type DefaultCacheBehavior struct { DefaultTTL *int64 `type:"long"` // The value of ID for the field-level encryption configuration that you want - // CloudFront to use for encrypting specific fields of data for a cache behavior - // or for the default cache behavior in your distribution. + // CloudFront to use for encrypting specific fields of data for the default + // cache behavior. FieldLevelEncryptionId *string `type:"string"` // A complex type that specifies how CloudFront handles query strings, cookies, @@ -7133,8 +7148,7 @@ type DefaultCacheBehavior struct { SmoothStreaming *bool `type:"boolean"` // The value of ID for the origin that you want CloudFront to route requests - // to when a request matches the path pattern either for a cache behavior or - // for the default cache behavior in your distribution. + // to when they use the default cache behavior. // // TargetOriginId is a required field TargetOriginId *string `type:"string" required:"true"` @@ -7145,14 +7159,15 @@ type DefaultCacheBehavior struct { // If you want to require signed URLs in requests for objects in the target // origin that match the PathPattern for this cache behavior, specify true for // Enabled, and specify the applicable values for Quantity and Items. For more - // information, see Serving Private Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) + // information, see Serving Private Content with Signed URLs and Signed Cookies + // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) // in the Amazon CloudFront Developer Guide. // - // If you don't want to require signed URLs in requests for objects that match + // If you don’t want to require signed URLs in requests for objects that match // PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. // // To add, change, or remove one or more trusted signers, change Enabled to - // true (if it's currently false), change Quantity as applicable, and specify + // true (if it’s currently false), change Quantity as applicable, and specify // all of the trusted signers that you want to include in the updated distribution. // // TrustedSigners is a required field @@ -7171,18 +7186,17 @@ type DefaultCacheBehavior struct { // * https-only: If a viewer sends an HTTP request, CloudFront returns an // HTTP status code of 403 (Forbidden). // - // For more information about requiring the HTTPS protocol, see Using an HTTPS - // Connection to Access Your Objects (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html) + // For more information about requiring the HTTPS protocol, see Requiring HTTPS + // Between Viewers and CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) // in the Amazon CloudFront Developer Guide. // // The only way to guarantee that viewers retrieve an object that was fetched // from the origin using HTTPS is never to use any other protocol to fetch the // object. If you have recently changed from HTTP to HTTPS, we recommend that - // you clear your objects' cache because cached objects are protocol agnostic. + // you clear your objects’ cache because cached objects are protocol agnostic. // That means that an edge location will return an object from the cache regardless // of whether the current request protocol matches the protocol used previously. - // For more information, see Managing How Long Content Stays in an Edge Cache - // (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // For more information, see Managing Cache Expiration (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) // in the Amazon CloudFront Developer Guide. // // ViewerProtocolPolicy is a required field @@ -11780,96 +11794,84 @@ func (s *LoggingConfig) SetPrefix(v string) *LoggingConfig { return s } -// A complex type that describes the Amazon S3 bucket, HTTP server (for example, -// a web server), Amazon MediaStore, or other server from which CloudFront gets -// your files. This can also be an origin group, if you've created an origin -// group. You must specify at least one origin or origin group. +// An origin. +// +// An origin is the location where content is stored, and from which CloudFront +// gets content to serve to viewers. To specify an origin: +// +// * Use the S3OriginConfig type to specify an Amazon S3 bucket that is not +// configured with static website hosting. +// +// * Use the CustomOriginConfig type to specify various other kinds of content +// containers or HTTP servers, including: An Amazon S3 bucket that is configured +// with static website hosting An Elastic Load Balancing load balancer An +// AWS Elemental MediaPackage origin An AWS Elemental MediaStore container +// Any other HTTP server, running on an Amazon EC2 instance or any other +// kind of host // -// For the current limit on the number of origins or origin groups that you -// can specify for a distribution, see Amazon CloudFront Limits (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_cloudfront) -// in the AWS General Reference. +// For the current maximum number of origins that you can specify per distribution, +// see General Quotas on Web Distributions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions) +// in the Amazon CloudFront Developer Guide (quotas were formerly referred to +// as limits). type Origin struct { _ struct{} `type:"structure"` - // A complex type that contains names and values for the custom headers that - // you want. + // The number of times that CloudFront attempts to connect to the origin. The + // minimum number is 1, the maximum is 3, and the default (if you don’t specify + // otherwise) is 3. + // + // For more information, see Origin Connection Attempts (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-attempts) + // in the Amazon CloudFront Developer Guide. + ConnectionAttempts *int64 `type:"integer"` + + // The number of seconds that CloudFront waits when trying to establish a connection + // to the origin. The minimum timeout is 1 second, the maximum is 10 seconds, + // and the default (if you don’t specify otherwise) is 10 seconds. + // + // For more information, see Origin Connection Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-timeout) + // in the Amazon CloudFront Developer Guide. + ConnectionTimeout *int64 `type:"integer"` + + // A list of HTTP header names and values that CloudFront adds to requests it + // sends to the origin. + // + // For more information, see Adding Custom Headers to Origin Requests (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html) + // in the Amazon CloudFront Developer Guide. CustomHeaders *CustomHeaders `type:"structure"` - // A complex type that contains information about a custom origin. If the origin - // is an Amazon S3 bucket, use the S3OriginConfig element instead. + // Use this type to specify an origin that is a content container or HTTP server, + // including an Amazon S3 bucket that is configured with static website hosting. + // To specify an Amazon S3 bucket that is not configured with static website + // hosting, use the S3OriginConfig type instead. CustomOriginConfig *CustomOriginConfig `type:"structure"` - // Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want - // CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. - // If you set up your bucket to be configured as a website endpoint, enter the - // Amazon S3 static website hosting endpoint for the bucket. + // The domain name for the origin. // - // For more information about specifying this value for different types of origins, - // see Origin Domain Name (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName) + // For more information, see Origin Domain Name (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName) // in the Amazon CloudFront Developer Guide. // - // Constraints for Amazon S3 origins: - // - // * If you configured Amazon S3 Transfer Acceleration for your bucket, don't - // specify the s3-accelerate endpoint for DomainName. - // - // * The bucket name must be between 3 and 63 characters long (inclusive). - // - // * The bucket name must contain only lowercase characters, numbers, periods, - // underscores, and dashes. - // - // * The bucket name must not contain adjacent periods. - // - // Custom Origins: The DNS domain name for the HTTP server from which you want - // CloudFront to get objects for this origin, for example, www.example.com. - // - // Constraints for custom origins: - // - // * DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, - // dot (.), hyphen (-), or underscore (_) characters. - // - // * The name cannot exceed 128 characters. - // // DomainName is a required field DomainName *string `type:"string" required:"true"` - // A unique identifier for the origin or origin group. The value of Id must - // be unique within the distribution. + // A unique identifier for the origin. This value must be unique within the + // distribution. // - // When you specify the value of TargetOriginId for the default cache behavior - // or for another cache behavior, you indicate the origin to which you want - // the cache behavior to route requests by specifying the value of the Id element - // for that origin. When a request matches the path pattern for that cache behavior, - // CloudFront routes the request to the specified origin. For more information, - // see Cache Behavior Settings (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) - // in the Amazon CloudFront Developer Guide. + // Use this value to specify the TargetOriginId in a CacheBehavior or DefaultCacheBehavior. // // Id is a required field Id *string `type:"string" required:"true"` - // An optional element that causes CloudFront to request your content from a - // directory in your Amazon S3 bucket or your custom origin. When you include - // the OriginPath element, specify the directory name, beginning with a /. CloudFront - // appends the directory name to the value of DomainName, for example, example.com/production. - // Do not include a / at the end of the directory name. - // - // For example, suppose you've specified the following values for your distribution: - // - // * DomainName: An Amazon S3 bucket named myawsbucket. + // An optional path that CloudFront appends to the origin domain name when CloudFront + // requests content from the origin. // - // * OriginPath: /production - // - // * CNAME: example.com - // - // When a user enters example.com/index.html in a browser, CloudFront sends - // a request to Amazon S3 for myawsbucket/production/index.html. - // - // When a user enters example.com/acme/index.html in a browser, CloudFront sends - // a request to Amazon S3 for myawsbucket/production/acme/index.html. + // For more information, see Origin Path (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginPath) + // in the Amazon CloudFront Developer Guide. OriginPath *string `type:"string"` - // A complex type that contains information about the Amazon S3 origin. If the - // origin is a custom origin, use the CustomOriginConfig element instead. + // Use this type to specify an origin that is an Amazon S3 bucket that is not + // configured with static website hosting. To specify any other type of origin, + // including an Amazon S3 bucket that is configured with static website hosting, + // use the CustomOriginConfig type instead. S3OriginConfig *S3OriginConfig `type:"structure"` } @@ -11914,6 +11916,18 @@ func (s *Origin) Validate() error { return nil } +// SetConnectionAttempts sets the ConnectionAttempts field's value. +func (s *Origin) SetConnectionAttempts(v int64) *Origin { + s.ConnectionAttempts = &v + return s +} + +// SetConnectionTimeout sets the ConnectionTimeout field's value. +func (s *Origin) SetConnectionTimeout(v int64) *Origin { + s.ConnectionTimeout = &v + return s +} + // SetCustomHeaders sets the CustomHeaders field's value. func (s *Origin) SetCustomHeaders(v *CustomHeaders) *Origin { s.CustomHeaders = v @@ -13326,7 +13340,8 @@ func (s *S3Origin) SetOriginAccessIdentity(v string) *S3Origin { } // A complex type that contains information about the Amazon S3 origin. If the -// origin is a custom origin, use the CustomOriginConfig element instead. +// origin is a custom origin or an S3 bucket that is configured as a website +// endpoint, use the CustomOriginConfig element instead. type S3OriginConfig struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/errors.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/errors.go index 827ff5f7eba..43bad3e7566 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/errors.go @@ -94,7 +94,7 @@ const ( // ErrCodeInvalidArgument for service response error code // "InvalidArgument". // - // The argument is invalid. + // An argument is invalid. ErrCodeInvalidArgument = "InvalidArgument" // ErrCodeInvalidDefaultRootObject for service response error code @@ -319,7 +319,7 @@ const ( // ErrCodePreconditionFailed for service response error code // "PreconditionFailed". // - // The precondition given in one or more of the request-header fields evaluated + // The precondition given in one or more of the request header fields evaluated // to false. ErrCodePreconditionFailed = "PreconditionFailed" diff --git a/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go b/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go index 0da13a3c1b1..add39aea141 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go @@ -4487,7 +4487,7 @@ type CreateProjectInput struct { // in the AWS CodeBuild User Guide. SourceVersion *string `locationName:"sourceVersion" type:"string"` - // A set of tags for this build project. + // A list of tag key and value pairs associated with this build project. // // These tags are available for use by AWS services that support AWS CodeBuild // build project tags. @@ -4773,6 +4773,12 @@ type CreateReportGroupInput struct { // Name is a required field Name *string `locationName:"name" min:"2" type:"string" required:"true"` + // A list of tag key and value pairs associated with this report group. + // + // These tags are available for use by AWS services that support AWS CodeBuild + // report group tags. + Tags []*Tag `locationName:"tags" type:"list"` + // The type of report group. // // Type is a required field @@ -4809,6 +4815,16 @@ func (s *CreateReportGroupInput) Validate() error { invalidParams.AddNested("ExportConfig", err.(request.ErrInvalidParams)) } } + 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 @@ -4828,6 +4844,12 @@ func (s *CreateReportGroupInput) SetName(v string) *CreateReportGroupInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateReportGroupInput) SetTags(v []*Tag) *CreateReportGroupInput { + s.Tags = v + return s +} + // SetType sets the Type field's value. func (s *CreateReportGroupInput) SetType(v string) *CreateReportGroupInput { s.Type = &v @@ -7302,7 +7324,7 @@ type Project struct { // in the AWS CodeBuild User Guide. SourceVersion *string `locationName:"sourceVersion" type:"string"` - // The tags for this build project. + // A list of tag key and value pairs associated with this build project. // // These tags are available for use by AWS services that support AWS CodeBuild // build project tags. @@ -8738,6 +8760,12 @@ type ReportGroup struct { // The name of a ReportGroup. Name *string `locationName:"name" min:"2" type:"string"` + // A list of tag key and value pairs associated with this report group. + // + // These tags are available for use by AWS services that support AWS CodeBuild + // report group tags. + Tags []*Tag `locationName:"tags" type:"list"` + // The type of the ReportGroup. The one valid value is TEST. Type *string `locationName:"type" type:"string" enum:"ReportType"` } @@ -8782,6 +8810,12 @@ func (s *ReportGroup) SetName(v string) *ReportGroup { return s } +// SetTags sets the Tags field's value. +func (s *ReportGroup) SetTags(v []*Tag) *ReportGroup { + s.Tags = v + return s +} + // SetType sets the Type field's value. func (s *ReportGroup) SetType(v string) *ReportGroup { s.Type = &v @@ -9209,7 +9243,7 @@ type StartBuildInput struct { // A unique, case sensitive identifier you provide to ensure the idempotency // of the StartBuild request. The token is included in the StartBuild request - // and is valid for 5 minutes. If you repeat the StartBuild request with the + // and is valid for 12 hours. If you repeat the StartBuild request with the // same token, but change a parameter, AWS CodeBuild returns a parameter mismatch // error. IdempotencyToken *string `locationName:"idempotencyToken" type:"string"` @@ -9706,7 +9740,7 @@ type Tag struct { Key *string `locationName:"key" min:"1" type:"string"` // The tag's value. - Value *string `locationName:"value" min:"1" type:"string"` + Value *string `locationName:"value" type:"string"` } // String returns the string representation @@ -9725,9 +9759,6 @@ func (s *Tag) Validate() error { if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } - if s.Value != nil && len(*s.Value) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Value", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -10011,7 +10042,7 @@ type UpdateProjectInput struct { // in the AWS CodeBuild User Guide. SourceVersion *string `locationName:"sourceVersion" type:"string"` - // The replacement set of tags for this build project. + // An updated list of tag key and value pairs associated with this build project. // // These tags are available for use by AWS services that support AWS CodeBuild // build project tags. @@ -10284,6 +10315,12 @@ type UpdateReportGroupInput struct { // // * NO_EXPORT: The report results are not exported. ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` + + // An updated list of tag key and value pairs associated with this report group. + // + // These tags are available for use by AWS services that support AWS CodeBuild + // report group tags. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation @@ -10310,6 +10347,16 @@ func (s *UpdateReportGroupInput) Validate() error { invalidParams.AddNested("ExportConfig", err.(request.ErrInvalidParams)) } } + 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 @@ -10329,6 +10376,12 @@ func (s *UpdateReportGroupInput) SetExportConfig(v *ReportExportConfig) *UpdateR return s } +// SetTags sets the Tags field's value. +func (s *UpdateReportGroupInput) SetTags(v []*Tag) *UpdateReportGroupInput { + s.Tags = v + return s +} + type UpdateReportGroupOutput struct { _ struct{} `type:"structure"` @@ -10614,8 +10667,8 @@ type WebhookFilter struct { // Pattern is a required field Pattern *string `locationName:"pattern" type:"string" required:"true"` - // The type of webhook filter. There are six webhook filter types: EVENT, ACTOR_ACCOUNT_ID, - // HEAD_REF, BASE_REF, FILE_PATH, and COMMIT_MESSAGE. + // The type of webhook filter. There are five webhook filter types: EVENT, ACTOR_ACCOUNT_ID, + // HEAD_REF, BASE_REF, and FILE_PATH. // // EVENT // @@ -10652,18 +10705,7 @@ type WebhookFilter struct { // A webhook triggers a build when the path of a changed file matches the regular // expression pattern. // - // Works with GitHub and Bitbucket events push and pull requests events. Also - // works with GitHub Enterprise push events, but does not work with GitHub Enterprise - // pull request events. - // - // COMMIT_MESSAGE - // - // A webhook triggers a build when the head commit message matches the regular - // expression pattern. - // - // Works with GitHub and Bitbucket events push and pull requests events. Also - // works with GitHub Enterprise push events, but does not work with GitHub Enterprise - // pull request events. + // Works with GitHub and GitHub Enterprise push events only. // // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"WebhookFilterType"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go b/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go index fe73bb92626..a611388eb9e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go @@ -1935,6 +1935,13 @@ func (c *DirectConnect) CreatePrivateVirtualInterfaceRequest(input *CreatePrivat // different AWS Regions. Connecting the private virtual interface to a VGW // only provides access to a single VPC within the same Region. // +// Setting the MTU of a virtual interface to 9001 (jumbo frames) can cause an +// update to the underlying physical connection if it wasn't updated to support +// jumbo frames. Updating the connection disrupts network connectivity for all +// virtual interfaces associated with the connection for up to 30 seconds. To +// check whether your connection supports jumbo frames, call DescribeConnections. +// To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces. +// // 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. @@ -2126,6 +2133,13 @@ func (c *DirectConnect) CreateTransitVirtualInterfaceRequest(input *CreateTransi // 64512 for both your the transit gateway and Direct Connect gateway, the association // request fails. // +// Setting the MTU of a virtual interface to 8500 (jumbo frames) can cause an +// update to the underlying physical connection if it wasn't updated to support +// jumbo frames. Updating the connection disrupts network connectivity for all +// virtual interfaces associated with the connection for up to 30 seconds. To +// check whether your connection supports jumbo frames, call DescribeConnections. +// To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces. +// // 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. @@ -4331,6 +4345,262 @@ func (c *DirectConnect) DisassociateConnectionFromLagWithContext(ctx aws.Context return out, req.Send() } +const opListVirtualInterfaceTestHistory = "ListVirtualInterfaceTestHistory" + +// ListVirtualInterfaceTestHistoryRequest generates a "aws/request.Request" representing the +// client's request for the ListVirtualInterfaceTestHistory 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 ListVirtualInterfaceTestHistory for more information on using the ListVirtualInterfaceTestHistory +// 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 ListVirtualInterfaceTestHistoryRequest method. +// req, resp := client.ListVirtualInterfaceTestHistoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ListVirtualInterfaceTestHistory +func (c *DirectConnect) ListVirtualInterfaceTestHistoryRequest(input *ListVirtualInterfaceTestHistoryInput) (req *request.Request, output *ListVirtualInterfaceTestHistoryOutput) { + op := &request.Operation{ + Name: opListVirtualInterfaceTestHistory, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListVirtualInterfaceTestHistoryInput{} + } + + output = &ListVirtualInterfaceTestHistoryOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListVirtualInterfaceTestHistory API operation for AWS Direct Connect. +// +// Lists the virtual interface failover test history. +// +// 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 Direct Connect's +// API operation ListVirtualInterfaceTestHistory for usage and error information. +// +// Returned Error Types: +// * ServerException +// A server-side error occurred. +// +// * ClientException +// One or more parameters are not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ListVirtualInterfaceTestHistory +func (c *DirectConnect) ListVirtualInterfaceTestHistory(input *ListVirtualInterfaceTestHistoryInput) (*ListVirtualInterfaceTestHistoryOutput, error) { + req, out := c.ListVirtualInterfaceTestHistoryRequest(input) + return out, req.Send() +} + +// ListVirtualInterfaceTestHistoryWithContext is the same as ListVirtualInterfaceTestHistory with the addition of +// the ability to pass a context and additional request options. +// +// See ListVirtualInterfaceTestHistory 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 *DirectConnect) ListVirtualInterfaceTestHistoryWithContext(ctx aws.Context, input *ListVirtualInterfaceTestHistoryInput, opts ...request.Option) (*ListVirtualInterfaceTestHistoryOutput, error) { + req, out := c.ListVirtualInterfaceTestHistoryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartBgpFailoverTest = "StartBgpFailoverTest" + +// StartBgpFailoverTestRequest generates a "aws/request.Request" representing the +// client's request for the StartBgpFailoverTest 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 StartBgpFailoverTest for more information on using the StartBgpFailoverTest +// 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 StartBgpFailoverTestRequest method. +// req, resp := client.StartBgpFailoverTestRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/StartBgpFailoverTest +func (c *DirectConnect) StartBgpFailoverTestRequest(input *StartBgpFailoverTestInput) (req *request.Request, output *StartBgpFailoverTestOutput) { + op := &request.Operation{ + Name: opStartBgpFailoverTest, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartBgpFailoverTestInput{} + } + + output = &StartBgpFailoverTestOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartBgpFailoverTest API operation for AWS Direct Connect. +// +// Starts the virtual interface failover test that verifies your configuration +// meets your resiliency requirements by placing the BGP peering session in +// the DOWN state. You can then send traffic to verify that there are no outages. +// +// You can run the test on public, private, transit, and hosted virtual interfaces. +// +// You can use ListVirtualInterfaceTestHistory (https://docs.aws.amazon.com/directconnect/latest/APIReference/API_ListVirtualInterfaceTestHistory.html) +// to view the virtual interface test history. +// +// If you need to stop the test before the test interval completes, use StopBgpFailoverTest +// (https://docs.aws.amazon.com/directconnect/latest/APIReference/API_StopBgpFailoverTest.html). +// +// 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 Direct Connect's +// API operation StartBgpFailoverTest for usage and error information. +// +// Returned Error Types: +// * ServerException +// A server-side error occurred. +// +// * ClientException +// One or more parameters are not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/StartBgpFailoverTest +func (c *DirectConnect) StartBgpFailoverTest(input *StartBgpFailoverTestInput) (*StartBgpFailoverTestOutput, error) { + req, out := c.StartBgpFailoverTestRequest(input) + return out, req.Send() +} + +// StartBgpFailoverTestWithContext is the same as StartBgpFailoverTest with the addition of +// the ability to pass a context and additional request options. +// +// See StartBgpFailoverTest 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 *DirectConnect) StartBgpFailoverTestWithContext(ctx aws.Context, input *StartBgpFailoverTestInput, opts ...request.Option) (*StartBgpFailoverTestOutput, error) { + req, out := c.StartBgpFailoverTestRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopBgpFailoverTest = "StopBgpFailoverTest" + +// StopBgpFailoverTestRequest generates a "aws/request.Request" representing the +// client's request for the StopBgpFailoverTest 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 StopBgpFailoverTest for more information on using the StopBgpFailoverTest +// 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 StopBgpFailoverTestRequest method. +// req, resp := client.StopBgpFailoverTestRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/StopBgpFailoverTest +func (c *DirectConnect) StopBgpFailoverTestRequest(input *StopBgpFailoverTestInput) (req *request.Request, output *StopBgpFailoverTestOutput) { + op := &request.Operation{ + Name: opStopBgpFailoverTest, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopBgpFailoverTestInput{} + } + + output = &StopBgpFailoverTestOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopBgpFailoverTest API operation for AWS Direct Connect. +// +// Stops the virtual interface failover test. +// +// 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 Direct Connect's +// API operation StopBgpFailoverTest for usage and error information. +// +// Returned Error Types: +// * ServerException +// A server-side error occurred. +// +// * ClientException +// One or more parameters are not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/StopBgpFailoverTest +func (c *DirectConnect) StopBgpFailoverTest(input *StopBgpFailoverTestInput) (*StopBgpFailoverTestOutput, error) { + req, out := c.StopBgpFailoverTestRequest(input) + return out, req.Send() +} + +// StopBgpFailoverTestWithContext is the same as StopBgpFailoverTest with the addition of +// the ability to pass a context and additional request options. +// +// See StopBgpFailoverTest 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 *DirectConnect) StopBgpFailoverTestWithContext(ctx aws.Context, input *StopBgpFailoverTestInput, opts ...request.Option) (*StopBgpFailoverTestOutput, error) { + req, out := c.StopBgpFailoverTestRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -4738,7 +5008,7 @@ func (c *DirectConnect) UpdateVirtualInterfaceAttributesRequest(input *UpdateVir // jumbo frames. Updating the connection disrupts network connectivity for all // virtual interfaces associated with the connection for up to 30 seconds. To // check whether your connection supports jumbo frames, call DescribeConnections. -// To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces. +// To check whether your virtual q interface supports jumbo frames, call DescribeVirtualInterfaces. // // 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 @@ -9489,6 +9759,111 @@ func (s *Lag) SetTags(v []*Tag) *Lag { return s } +type ListVirtualInterfaceTestHistoryInput struct { + _ struct{} `type:"structure"` + + // The BGP peers that were placed in the DOWN state during the virtual interface + // failover test. + BgpPeers []*string `locationName:"bgpPeers" type:"list"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + // + // If MaxResults is given a value larger than 100, only 100 results are returned. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The status of the virtual interface failover test. + Status *string `locationName:"status" type:"string"` + + // The ID of the virtual interface failover test. + TestId *string `locationName:"testId" type:"string"` + + // The ID of the virtual interface that was tested. + VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"` +} + +// String returns the string representation +func (s ListVirtualInterfaceTestHistoryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListVirtualInterfaceTestHistoryInput) GoString() string { + return s.String() +} + +// SetBgpPeers sets the BgpPeers field's value. +func (s *ListVirtualInterfaceTestHistoryInput) SetBgpPeers(v []*string) *ListVirtualInterfaceTestHistoryInput { + s.BgpPeers = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListVirtualInterfaceTestHistoryInput) SetMaxResults(v int64) *ListVirtualInterfaceTestHistoryInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualInterfaceTestHistoryInput) SetNextToken(v string) *ListVirtualInterfaceTestHistoryInput { + s.NextToken = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListVirtualInterfaceTestHistoryInput) SetStatus(v string) *ListVirtualInterfaceTestHistoryInput { + s.Status = &v + return s +} + +// SetTestId sets the TestId field's value. +func (s *ListVirtualInterfaceTestHistoryInput) SetTestId(v string) *ListVirtualInterfaceTestHistoryInput { + s.TestId = &v + return s +} + +// SetVirtualInterfaceId sets the VirtualInterfaceId field's value. +func (s *ListVirtualInterfaceTestHistoryInput) SetVirtualInterfaceId(v string) *ListVirtualInterfaceTestHistoryInput { + s.VirtualInterfaceId = &v + return s +} + +type ListVirtualInterfaceTestHistoryOutput struct { + _ struct{} `type:"structure"` + + // 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 ID of the tested virtual interface. + VirtualInterfaceTestHistory []*VirtualInterfaceTestHistory `locationName:"virtualInterfaceTestHistory" type:"list"` +} + +// String returns the string representation +func (s ListVirtualInterfaceTestHistoryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListVirtualInterfaceTestHistoryOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualInterfaceTestHistoryOutput) SetNextToken(v string) *ListVirtualInterfaceTestHistoryOutput { + s.NextToken = &v + return s +} + +// SetVirtualInterfaceTestHistory sets the VirtualInterfaceTestHistory field's value. +func (s *ListVirtualInterfaceTestHistoryOutput) SetVirtualInterfaceTestHistory(v []*VirtualInterfaceTestHistory) *ListVirtualInterfaceTestHistoryOutput { + s.VirtualInterfaceTestHistory = v + return s +} + // Information about a Letter of Authorization - Connecting Facility Assignment // (LOA-CFA) for a connection. type Loa struct { @@ -9685,7 +10060,9 @@ type NewPrivateVirtualInterface struct { // The ID of the virtual private gateway. VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). // // VirtualInterfaceName is a required field VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"` @@ -9835,7 +10212,9 @@ type NewPrivateVirtualInterfaceAllocation struct { // The tags associated with the private virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). // // VirtualInterfaceName is a required field VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"` @@ -9973,7 +10352,9 @@ type NewPublicVirtualInterface struct { // The tags associated with the public virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). // // VirtualInterfaceName is a required field VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"` @@ -10111,7 +10492,9 @@ type NewPublicVirtualInterfaceAllocation struct { // The tags associated with the public virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). // // VirtualInterfaceName is a required field VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"` @@ -10250,7 +10633,9 @@ type NewTransitVirtualInterface struct { // The tags associated with the transitive virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"` // The ID of the VLAN. @@ -10379,7 +10764,9 @@ type NewTransitVirtualInterfaceAllocation struct { // The tags associated with the transitive virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"` // The ID of the VLAN. @@ -10588,6 +10975,150 @@ func (s *ServerException) RequestID() string { return s.RespMetadata.RequestID } +type StartBgpFailoverTestInput struct { + _ struct{} `type:"structure"` + + // The BGP peers to place in the DOWN state. + BgpPeers []*string `locationName:"bgpPeers" type:"list"` + + // The time in minutes that the virtual interface failover test will last. + // + // Maximum value: 180 minutes (3 hours). + // + // Default: 180 minutes (3 hours). + TestDurationInMinutes *int64 `locationName:"testDurationInMinutes" type:"integer"` + + // The ID of the virtual interface you want to test. + // + // VirtualInterfaceId is a required field + VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartBgpFailoverTestInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartBgpFailoverTestInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartBgpFailoverTestInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartBgpFailoverTestInput"} + if s.VirtualInterfaceId == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBgpPeers sets the BgpPeers field's value. +func (s *StartBgpFailoverTestInput) SetBgpPeers(v []*string) *StartBgpFailoverTestInput { + s.BgpPeers = v + return s +} + +// SetTestDurationInMinutes sets the TestDurationInMinutes field's value. +func (s *StartBgpFailoverTestInput) SetTestDurationInMinutes(v int64) *StartBgpFailoverTestInput { + s.TestDurationInMinutes = &v + return s +} + +// SetVirtualInterfaceId sets the VirtualInterfaceId field's value. +func (s *StartBgpFailoverTestInput) SetVirtualInterfaceId(v string) *StartBgpFailoverTestInput { + s.VirtualInterfaceId = &v + return s +} + +type StartBgpFailoverTestOutput struct { + _ struct{} `type:"structure"` + + // Information about the virtual interface failover test. + VirtualInterfaceTest *VirtualInterfaceTestHistory `locationName:"virtualInterfaceTest" type:"structure"` +} + +// String returns the string representation +func (s StartBgpFailoverTestOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartBgpFailoverTestOutput) GoString() string { + return s.String() +} + +// SetVirtualInterfaceTest sets the VirtualInterfaceTest field's value. +func (s *StartBgpFailoverTestOutput) SetVirtualInterfaceTest(v *VirtualInterfaceTestHistory) *StartBgpFailoverTestOutput { + s.VirtualInterfaceTest = v + return s +} + +type StopBgpFailoverTestInput struct { + _ struct{} `type:"structure"` + + // The ID of the virtual interface you no longer want to test. + // + // VirtualInterfaceId is a required field + VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopBgpFailoverTestInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopBgpFailoverTestInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopBgpFailoverTestInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopBgpFailoverTestInput"} + if s.VirtualInterfaceId == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetVirtualInterfaceId sets the VirtualInterfaceId field's value. +func (s *StopBgpFailoverTestInput) SetVirtualInterfaceId(v string) *StopBgpFailoverTestInput { + s.VirtualInterfaceId = &v + return s +} + +type StopBgpFailoverTestOutput struct { + _ struct{} `type:"structure"` + + // Information about the virtual interface failover test. + VirtualInterfaceTest *VirtualInterfaceTestHistory `locationName:"virtualInterfaceTest" type:"structure"` +} + +// String returns the string representation +func (s StopBgpFailoverTestOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopBgpFailoverTestOutput) GoString() string { + return s.String() +} + +// SetVirtualInterfaceTest sets the VirtualInterfaceTest field's value. +func (s *StopBgpFailoverTestOutput) SetVirtualInterfaceTest(v *VirtualInterfaceTestHistory) *StopBgpFailoverTestOutput { + s.VirtualInterfaceTest = v + return s +} + // Information about a tag. type Tag struct { _ struct{} `type:"structure"` @@ -11079,7 +11610,9 @@ type UpdateVirtualInterfaceAttributesOutput struct { // The ID of the virtual interface. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"` // The state of the virtual interface. The following are the possible values: @@ -11387,7 +11920,9 @@ type VirtualInterface struct { // The ID of the virtual interface. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"` // The state of the virtual interface. The following are the possible values: @@ -11583,6 +12118,94 @@ func (s *VirtualInterface) SetVlan(v int64) *VirtualInterface { return s } +// Information about the virtual interface failover test. +type VirtualInterfaceTestHistory struct { + _ struct{} `type:"structure"` + + // The BGP peers that were put in the DOWN state as part of the virtual interface + // failover test. + BgpPeers []*string `locationName:"bgpPeers" type:"list"` + + // The time that the virtual interface moves out of the DOWN state. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // The owner ID of the tested virtual interface. + OwnerAccount *string `locationName:"ownerAccount" type:"string"` + + // The time that the virtual interface moves to the DOWN state. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // The status of the virtual interface failover test. + Status *string `locationName:"status" type:"string"` + + // The time that the virtual interface failover test ran in minutes. + TestDurationInMinutes *int64 `locationName:"testDurationInMinutes" type:"integer"` + + // The ID of the virtual interface failover test. + TestId *string `locationName:"testId" type:"string"` + + // The ID of the tested virtual interface. + VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"` +} + +// String returns the string representation +func (s VirtualInterfaceTestHistory) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VirtualInterfaceTestHistory) GoString() string { + return s.String() +} + +// SetBgpPeers sets the BgpPeers field's value. +func (s *VirtualInterfaceTestHistory) SetBgpPeers(v []*string) *VirtualInterfaceTestHistory { + s.BgpPeers = v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *VirtualInterfaceTestHistory) SetEndTime(v time.Time) *VirtualInterfaceTestHistory { + s.EndTime = &v + return s +} + +// SetOwnerAccount sets the OwnerAccount field's value. +func (s *VirtualInterfaceTestHistory) SetOwnerAccount(v string) *VirtualInterfaceTestHistory { + s.OwnerAccount = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *VirtualInterfaceTestHistory) SetStartTime(v time.Time) *VirtualInterfaceTestHistory { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *VirtualInterfaceTestHistory) SetStatus(v string) *VirtualInterfaceTestHistory { + s.Status = &v + return s +} + +// SetTestDurationInMinutes sets the TestDurationInMinutes field's value. +func (s *VirtualInterfaceTestHistory) SetTestDurationInMinutes(v int64) *VirtualInterfaceTestHistory { + s.TestDurationInMinutes = &v + return s +} + +// SetTestId sets the TestId field's value. +func (s *VirtualInterfaceTestHistory) SetTestId(v string) *VirtualInterfaceTestHistory { + s.TestId = &v + return s +} + +// SetVirtualInterfaceId sets the VirtualInterfaceId field's value. +func (s *VirtualInterfaceTestHistory) SetVirtualInterfaceId(v string) *VirtualInterfaceTestHistory { + s.VirtualInterfaceId = &v + return s +} + const ( // AddressFamilyIpv4 is a AddressFamily enum value AddressFamilyIpv4 = "ipv4" diff --git a/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go b/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go index 4ad17a35eda..5dba373071e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go @@ -830,23 +830,29 @@ func (s *CreateLifecyclePolicyOutput) SetPolicyId(v string) *CreateLifecyclePoli } // Specifies when to create snapshots of EBS volumes. +// +// You must specify either a Cron expression or an interval, interval unit, +// and start time. You cannot specify both. type CreateRule struct { _ struct{} `type:"structure"` + // The schedule, as a Cron expression. The schedule interval must be between + // 1 hour and 1 year. For more information, see Cron expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch User Guide. + CronExpression *string `min:"17" type:"string"` + // The interval between snapshots. The supported values are 1, 2, 3, 4, 6, 8, // 12, and 24. - // - // Interval is a required field - Interval *int64 `min:"1" type:"integer" required:"true"` + Interval *int64 `min:"1" type:"integer"` // The interval unit. - // - // IntervalUnit is a required field - IntervalUnit *string `type:"string" required:"true" enum:"IntervalUnitValues"` + IntervalUnit *string `type:"string" enum:"IntervalUnitValues"` // The time, in UTC, to start the operation. The supported format is hh:mm. // // The operation occurs within a one-hour window following the specified time. + // If you do not specify a time, Amazon DLM selects a time within the next 24 + // hours. Times []*string `type:"list"` } @@ -863,15 +869,12 @@ func (s CreateRule) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateRule) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateRule"} - if s.Interval == nil { - invalidParams.Add(request.NewErrParamRequired("Interval")) + if s.CronExpression != nil && len(*s.CronExpression) < 17 { + invalidParams.Add(request.NewErrParamMinLen("CronExpression", 17)) } if s.Interval != nil && *s.Interval < 1 { invalidParams.Add(request.NewErrParamMinValue("Interval", 1)) } - if s.IntervalUnit == nil { - invalidParams.Add(request.NewErrParamRequired("IntervalUnit")) - } if invalidParams.Len() > 0 { return invalidParams @@ -879,6 +882,12 @@ func (s *CreateRule) Validate() error { return nil } +// SetCronExpression sets the CronExpression field's value. +func (s *CreateRule) SetCronExpression(v string) *CreateRule { + s.CronExpression = &v + return s +} + // SetInterval sets the Interval field's value. func (s *CreateRule) SetInterval(v int64) *CreateRule { s.Interval = &v @@ -1777,7 +1786,8 @@ type PolicyDetails struct { // is EBS_SNAPSHOT_MANAGEMENT. PolicyType *string `type:"string" enum:"PolicyTypeValues"` - // The resource type. + // The resource type. Use VOLUME to create snapshots of individual volumes or + // use INSTANCE to create multi-volume snapshots from the volumes for an instance. ResourceTypes []*string `min:"1" type:"list"` // The schedule of policy-defined actions. diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go index ea2ca2c3350..f6ca35dce25 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go @@ -61,9 +61,9 @@ func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.R output = &BatchGetItemOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -282,9 +282,9 @@ func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *reque output = &BatchWriteItemOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -476,9 +476,9 @@ func (c *DynamoDB) CreateBackupRequest(input *CreateBackupInput) (req *request.R output = &CreateBackupOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -636,9 +636,9 @@ func (c *DynamoDB) CreateGlobalTableRequest(input *CreateGlobalTableInput) (req output = &CreateGlobalTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -804,9 +804,9 @@ func (c *DynamoDB) CreateTableRequest(input *CreateTableInput) (req *request.Req output = &CreateTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -941,9 +941,9 @@ func (c *DynamoDB) DeleteBackupRequest(input *DeleteBackupInput) (req *request.R output = &DeleteBackupOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -1068,9 +1068,9 @@ func (c *DynamoDB) DeleteItemRequest(input *DeleteItemInput) (req *request.Reque output = &DeleteItemOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -1212,9 +1212,9 @@ func (c *DynamoDB) DeleteTableRequest(input *DeleteTableInput) (req *request.Req output = &DeleteTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -1356,9 +1356,9 @@ func (c *DynamoDB) DescribeBackupRequest(input *DescribeBackupInput) (req *reque output = &DescribeBackupOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -1465,9 +1465,9 @@ func (c *DynamoDB) DescribeContinuousBackupsRequest(input *DescribeContinuousBac output = &DescribeContinuousBackupsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -1815,9 +1815,9 @@ func (c *DynamoDB) DescribeGlobalTableRequest(input *DescribeGlobalTableInput) ( output = &DescribeGlobalTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -1927,9 +1927,9 @@ func (c *DynamoDB) DescribeGlobalTableSettingsRequest(input *DescribeGlobalTable output = &DescribeGlobalTableSettingsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -2037,9 +2037,9 @@ func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *reque output = &DescribeLimitsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -2198,9 +2198,9 @@ func (c *DynamoDB) DescribeTableRequest(input *DescribeTableInput) (req *request output = &DescribeTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -2400,9 +2400,9 @@ func (c *DynamoDB) DescribeTimeToLiveRequest(input *DescribeTimeToLiveInput) (re output = &DescribeTimeToLiveOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -2508,9 +2508,9 @@ func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, ou output = &GetItemOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -2636,9 +2636,9 @@ func (c *DynamoDB) ListBackupsRequest(input *ListBackupsInput) (req *request.Req output = &ListBackupsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -2890,9 +2890,9 @@ func (c *DynamoDB) ListGlobalTablesRequest(input *ListGlobalTablesInput) (req *r output = &ListGlobalTablesOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -3003,9 +3003,9 @@ func (c *DynamoDB) ListTablesRequest(input *ListTablesInput) (req *request.Reque output = &ListTablesOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -3161,9 +3161,9 @@ func (c *DynamoDB) ListTagsOfResourceRequest(input *ListTagsOfResourceInput) (re output = &ListTagsOfResourceOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -3273,9 +3273,9 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou output = &PutItemOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -3459,9 +3459,9 @@ func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output output = &QueryOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -3679,9 +3679,9 @@ func (c *DynamoDB) RestoreTableFromBackupRequest(input *RestoreTableFromBackupIn output = &RestoreTableFromBackupOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -3827,9 +3827,9 @@ func (c *DynamoDB) RestoreTableToPointInTimeRequest(input *RestoreTableToPointIn output = &RestoreTableToPointInTimeOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -4003,9 +4003,9 @@ func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output * output = &ScanOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -4204,9 +4204,9 @@ func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Req output = &TagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -4337,9 +4337,9 @@ func (c *DynamoDB) TransactGetItemsRequest(input *TransactGetItemsInput) (req *r output = &TransactGetItemsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -4564,9 +4564,9 @@ func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (re output = &TransactWriteItemsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -4833,9 +4833,9 @@ func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request output = &UntagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -4964,9 +4964,9 @@ func (c *DynamoDB) UpdateContinuousBackupsRequest(input *UpdateContinuousBackups output = &UpdateContinuousBackupsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -5168,9 +5168,9 @@ func (c *DynamoDB) UpdateGlobalTableRequest(input *UpdateGlobalTableInput) (req output = &UpdateGlobalTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -5304,9 +5304,9 @@ func (c *DynamoDB) UpdateGlobalTableSettingsRequest(input *UpdateGlobalTableSett output = &UpdateGlobalTableSettingsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -5436,9 +5436,9 @@ func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Reque output = &UpdateItemOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -5574,9 +5574,9 @@ func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Req output = &UpdateTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -5823,9 +5823,9 @@ func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *r output = &UpdateTimeToLiveOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, 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 12e7f421b12..fcfc8638202 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 @@ -6198,9 +6198,10 @@ func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, o // CreateTags API operation for Amazon Elastic Compute Cloud. // -// Adds or overwrites the specified tags for the specified Amazon EC2 resource -// or resources. Each resource can have a maximum of 50 tags. Each tag consists -// of a key and optional value. Tag keys must be unique per resource. +// Adds or overwrites only the specified tags for the specified Amazon EC2 resource +// or resources. When you specify an existing tag key, the value is overwritten +// with the new value. Each resource can have a maximum of 50 tags. Each tag +// consists of a key and optional value. Tag keys must be unique per resource. // // For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud User Guide. For more information about @@ -16689,7 +16690,7 @@ func (c *EC2) DescribeInstanceTypesRequest(input *DescribeInstanceTypesInput) (r // DescribeInstanceTypes API operation for Amazon Elastic Compute Cloud. // -// Returns a list of all instance types offered in your current AWS Region. +// Describes the details of the instance types that are offered in a location. // The results can be filtered by the attributes of the instance types. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -16822,13 +16823,17 @@ func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *requ // DescribeInstances API operation for Amazon Elastic Compute Cloud. // -// Describes the specified instances or all of AWS account's instances. +// Describes the specified instances or all instances. // -// If you specify one or more instance IDs, Amazon EC2 returns information for -// those instances. If you do not specify instance IDs, Amazon EC2 returns information -// for all relevant instances. If you specify an instance ID that is not valid, -// an error is returned. If you specify an instance that you do not own, it -// is not included in the returned results. +// If you specify instance IDs, the output includes information for only the +// specified instances. If you specify filters, the output includes information +// for only those instances that meet the filter criteria. If you do not specify +// instance IDs or filters, the output includes information for all instances, +// which can affect performance. We recommend that you use pagination to ensure +// that the operation returns quickly and successfully. +// +// If you specify an instance ID that is not valid, an error is returned. If +// you specify an instance that you do not own, it is not included in the output. // // Recently terminated instances might appear in the returned results. This // interval is usually less than one hour. @@ -60344,6 +60349,24 @@ type DescribeInstanceTypesInput struct { // * current-generation - Indicates whether this instance type is the latest // generation instance type of an instance family. (true | false) // + // * ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline + // bandwidth performance for an EBS-optimized instance type, in Mbps. + // + // * ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline + // throughput performance for an EBS-optimized instance type, in MBps. + // + // * ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output + // storage operations per second for an EBS-optimized instance type. + // + // * ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum + // bandwidth performance for an EBS-optimized instance type, in Mbps. + // + // * ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum + // throughput performance for an EBS-optimized instance type, in MBps. + // + // * ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output + // storage operations per second for an EBS-optimized instance type. + // // * ebs-info.ebs-optimized-support - Indicates whether the instance type // is EBS-optimized. (supported | unsupported | default) // @@ -60377,6 +60400,9 @@ type DescribeInstanceTypesInput struct { // * network-info.ena-support - Indicates whether Elastic Network Adapter // (ENA) is supported or required. (required | supported | unsupported) // + // * network-info.efa-supported - Indicates whether the instance type supports + // Elastic Fabric Adapter (EFA). (true | false) + // // * network-info.ipv4-addresses-per-interface - The maximum number of private // IPv4 addresses per network interface. // @@ -71617,6 +71643,9 @@ func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice { type EbsInfo struct { _ struct{} `type:"structure"` + // Describes the optimized EBS performance for the instance type. + EbsOptimizedInfo *EbsOptimizedInfo `locationName:"ebsOptimizedInfo" type:"structure"` + // Indicates that the instance type is Amazon EBS-optimized. For more information, // see Amazon EBS-Optimized Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) // in Amazon EC2 User Guide for Linux Instances. @@ -71636,6 +71665,12 @@ func (s EbsInfo) GoString() string { return s.String() } +// SetEbsOptimizedInfo sets the EbsOptimizedInfo field's value. +func (s *EbsInfo) SetEbsOptimizedInfo(v *EbsOptimizedInfo) *EbsInfo { + s.EbsOptimizedInfo = v + return s +} + // SetEbsOptimizedSupport sets the EbsOptimizedSupport field's value. func (s *EbsInfo) SetEbsOptimizedSupport(v string) *EbsInfo { s.EbsOptimizedSupport = &v @@ -71733,6 +71768,81 @@ func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstance return s } +// Describes the optimized EBS performance for supported instance types. +type EbsOptimizedInfo struct { + _ struct{} `type:"structure"` + + // The baseline bandwidth performance for an EBS-optimized instance type, in + // Mbps. + BaselineBandwidthInMbps *int64 `locationName:"baselineBandwidthInMbps" type:"integer"` + + // The baseline input/output storage operations per seconds for an EBS-optimized + // instance type. + BaselineIops *int64 `locationName:"baselineIops" type:"integer"` + + // The baseline throughput performance for an EBS-optimized instance type, in + // MBps. + BaselineThroughputInMBps *float64 `locationName:"baselineThroughputInMBps" type:"double"` + + // The maximum bandwidth performance for an EBS-optimized instance type, in + // Mbps. + MaximumBandwidthInMbps *int64 `locationName:"maximumBandwidthInMbps" type:"integer"` + + // The maximum input/output storage operations per second for an EBS-optimized + // instance type. + MaximumIops *int64 `locationName:"maximumIops" type:"integer"` + + // The maximum throughput performance for an EBS-optimized instance type, in + // MBps. + MaximumThroughputInMBps *float64 `locationName:"maximumThroughputInMBps" type:"double"` +} + +// String returns the string representation +func (s EbsOptimizedInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EbsOptimizedInfo) GoString() string { + return s.String() +} + +// SetBaselineBandwidthInMbps sets the BaselineBandwidthInMbps field's value. +func (s *EbsOptimizedInfo) SetBaselineBandwidthInMbps(v int64) *EbsOptimizedInfo { + s.BaselineBandwidthInMbps = &v + return s +} + +// SetBaselineIops sets the BaselineIops field's value. +func (s *EbsOptimizedInfo) SetBaselineIops(v int64) *EbsOptimizedInfo { + s.BaselineIops = &v + return s +} + +// SetBaselineThroughputInMBps sets the BaselineThroughputInMBps field's value. +func (s *EbsOptimizedInfo) SetBaselineThroughputInMBps(v float64) *EbsOptimizedInfo { + s.BaselineThroughputInMBps = &v + return s +} + +// SetMaximumBandwidthInMbps sets the MaximumBandwidthInMbps field's value. +func (s *EbsOptimizedInfo) SetMaximumBandwidthInMbps(v int64) *EbsOptimizedInfo { + s.MaximumBandwidthInMbps = &v + return s +} + +// SetMaximumIops sets the MaximumIops field's value. +func (s *EbsOptimizedInfo) SetMaximumIops(v int64) *EbsOptimizedInfo { + s.MaximumIops = &v + return s +} + +// SetMaximumThroughputInMBps sets the MaximumThroughputInMBps field's value. +func (s *EbsOptimizedInfo) SetMaximumThroughputInMBps(v float64) *EbsOptimizedInfo { + s.MaximumThroughputInMBps = &v + return s +} + // Describes an egress-only internet gateway. type EgressOnlyInternetGateway struct { _ struct{} `type:"structure"` @@ -74371,19 +74481,30 @@ func (s *FleetLaunchTemplateOverridesRequest) SetWeightedCapacity(v float64) *Fl return s } -// Describes a launch template. +// Describes the Amazon EC2 launch template and the launch template version +// that can be used by a Spot Fleet request to configure Amazon EC2 instances. +// For information about launch templates, see Launching an instance from a +// launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) +// in the Amazon EC2 User Guide for Linux Instances. type FleetLaunchTemplateSpecification struct { _ struct{} `type:"structure"` - // The ID of the launch template. You must specify either a template ID or a - // template name. + // The ID of the launch template. If you specify the template ID, you can't + // specify the template name. LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"` - // The name of the launch template. You must specify either a template name - // or a template ID. + // The name of the launch template. If you specify the template name, you can't + // specify the template ID. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"` - // The version number of the launch template. You must specify a version number. + // The launch template version number, $Latest, or $Default. You must specify + // a value, otherwise the request fails. + // + // If the value is $Latest, Amazon EC2 uses the latest version of the launch + // template. + // + // If the value is $Default, Amazon EC2 uses the default version of the launch + // template. Version *string `locationName:"version" type:"string"` } @@ -74428,19 +74549,30 @@ func (s *FleetLaunchTemplateSpecification) SetVersion(v string) *FleetLaunchTemp return s } -// The launch template to use. You must specify either the launch template ID -// or launch template name in the request. +// Describes the Amazon EC2 launch template and the launch template version +// that can be used by an EC2 Fleet to configure Amazon EC2 instances. For information +// about launch templates, see Launching an instance from a launch template +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) +// in the Amazon Elastic Compute Cloud User Guide. type FleetLaunchTemplateSpecificationRequest struct { _ struct{} `type:"structure"` - // The ID of the launch template. + // The ID of the launch template. If you specify the template ID, you can't + // specify the template name. LaunchTemplateId *string `type:"string"` - // The name of the launch template. + // The name of the launch template. If you specify the template name, you can't + // specify the template ID. LaunchTemplateName *string `min:"3" type:"string"` - // The version number of the launch template. Note: This is a required parameter - // and will be updated soon. + // The launch template version number, $Latest, or $Default. You must specify + // a value, otherwise the request fails. + // + // If the value is $Latest, Amazon EC2 uses the latest version of the launch + // template. + // + // If the value is $Default, Amazon EC2 uses the default version of the launch + // template. Version *string `type:"string"` } @@ -81633,6 +81765,9 @@ type InstanceTypeInfo struct { // Indicates whether the instance type is offered for spot or On-Demand. SupportedUsageClasses []*string `locationName:"supportedUsageClasses" locationNameList:"item" type:"list"` + // The supported virtualization types. + SupportedVirtualizationTypes []*string `locationName:"supportedVirtualizationTypes" locationNameList:"item" type:"list"` + // Describes the vCPU configurations for the instance type. VCpuInfo *VCpuInfo `locationName:"vCpuInfo" type:"structure"` } @@ -81773,6 +81908,12 @@ func (s *InstanceTypeInfo) SetSupportedUsageClasses(v []*string) *InstanceTypeIn return s } +// SetSupportedVirtualizationTypes sets the SupportedVirtualizationTypes field's value. +func (s *InstanceTypeInfo) SetSupportedVirtualizationTypes(v []*string) *InstanceTypeInfo { + s.SupportedVirtualizationTypes = v + return s +} + // SetVCpuInfo sets the VCpuInfo field's value. func (s *InstanceTypeInfo) SetVCpuInfo(v *VCpuInfo) *InstanceTypeInfo { s.VCpuInfo = v @@ -90388,6 +90529,9 @@ func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry { type NetworkInfo struct { _ struct{} `type:"structure"` + // Indicates whether Elastic Fabric Adapter (EFA) is supported. + EfaSupported *bool `locationName:"efaSupported" type:"boolean"` + // Indicates whether Elastic Network Adapter (ENA) is supported. EnaSupport *string `locationName:"enaSupport" type:"string" enum:"EnaSupport"` @@ -90417,6 +90561,12 @@ func (s NetworkInfo) GoString() string { return s.String() } +// SetEfaSupported sets the EfaSupported field's value. +func (s *NetworkInfo) SetEfaSupported(v bool) *NetworkInfo { + s.EfaSupported = &v + return s +} + // SetEnaSupport sets the EnaSupport field's value. func (s *NetworkInfo) SetEnaSupport(v string) *NetworkInfo { s.EnaSupport = &v @@ -92450,6 +92600,9 @@ type ProvisionByoipCidrInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` + // The tags to apply to the address pool. + PoolTagSpecifications []*TagSpecification `locationName:"PoolTagSpecification" locationNameList:"item" type:"list"` + // (IPv6 only) Indicate whether the address range will be publicly advertised // to the internet. // @@ -92509,6 +92662,12 @@ func (s *ProvisionByoipCidrInput) SetDryRun(v bool) *ProvisionByoipCidrInput { return s } +// SetPoolTagSpecifications sets the PoolTagSpecifications field's value. +func (s *ProvisionByoipCidrInput) SetPoolTagSpecifications(v []*TagSpecification) *ProvisionByoipCidrInput { + s.PoolTagSpecifications = v + return s +} + // SetPubliclyAdvertisable sets the PubliclyAdvertisable field's value. func (s *ProvisionByoipCidrInput) SetPubliclyAdvertisable(v bool) *ProvisionByoipCidrInput { s.PubliclyAdvertisable = &v @@ -92617,6 +92776,11 @@ type PublicIpv4Pool struct { // A description of the address pool. Description *string `locationName:"description" type:"string"` + // The name of the location from which the address pool is advertised. A network + // border group is a unique set of Availability Zones or Local Zones from where + // AWS advertises public IP addresses. + NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"` + // The address ranges. PoolAddressRanges []*PublicIpv4PoolRange `locationName:"poolAddressRangeSet" locationNameList:"item" type:"list"` @@ -92649,6 +92813,12 @@ func (s *PublicIpv4Pool) SetDescription(v string) *PublicIpv4Pool { return s } +// SetNetworkBorderGroup sets the NetworkBorderGroup field's value. +func (s *PublicIpv4Pool) SetNetworkBorderGroup(v string) *PublicIpv4Pool { + s.NetworkBorderGroup = &v + return s +} + // SetPoolAddressRanges sets the PoolAddressRanges field's value. func (s *PublicIpv4Pool) SetPoolAddressRanges(v []*PublicIpv4PoolRange) *PublicIpv4Pool { s.PoolAddressRanges = v @@ -98351,6 +98521,8 @@ type RunInstancesInput struct { // An elastic inference accelerator to associate with the instance. Elastic // inference accelerators are a resource you can attach to your Amazon EC2 instances // to accelerate your Deep Learning (DL) inference workloads. + // + // You cannot specify accelerators from different generations in the same request. ElasticInferenceAccelerators []*ElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"` // Indicates whether an instance is enabled for hibernation. For more information, @@ -103875,11 +104047,12 @@ type TagSpecification struct { // The type of resource to tag. Currently, the resource types that support tagging // on creation are: capacity-reservation | client-vpn-endpoint | dedicated-host - // | fleet | fpga-image | instance | key-pair | launch-template | | natgateway - // | spot-fleet-request | placement-group | snapshot | traffic-mirror-filter - // | traffic-mirror-session | traffic-mirror-target | transit-gateway | transit-gateway-attachment - // | transit-gateway-route-table | vpc-endpoint (for interface VPC endpoints)| - // vpc-endpoint-service (for gateway VPC endpoints) | volume | vpc-flow-log. + // | fleet | fpga-image | instance | ipv4pool-ec2 | ipv6pool-ec2 | key-pair + // | launch-template | natgateway | spot-fleet-request | placement-group | snapshot + // | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target + // | transit-gateway | transit-gateway-attachment | transit-gateway-route-table + // | vpc-endpoint (for interface VPC endpoints)| vpc-endpoint-service (for gateway + // VPC endpoints) | volume | vpc-flow-log. // // To tag a resource after it has been created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` @@ -111146,6 +111319,30 @@ const ( // InstanceTypeC5Metal is a InstanceType enum value InstanceTypeC5Metal = "c5.metal" + // InstanceTypeC5aLarge is a InstanceType enum value + InstanceTypeC5aLarge = "c5a.large" + + // InstanceTypeC5aXlarge is a InstanceType enum value + InstanceTypeC5aXlarge = "c5a.xlarge" + + // InstanceTypeC5a2xlarge is a InstanceType enum value + InstanceTypeC5a2xlarge = "c5a.2xlarge" + + // InstanceTypeC5a4xlarge is a InstanceType enum value + InstanceTypeC5a4xlarge = "c5a.4xlarge" + + // InstanceTypeC5a8xlarge is a InstanceType enum value + InstanceTypeC5a8xlarge = "c5a.8xlarge" + + // InstanceTypeC5a12xlarge is a InstanceType enum value + InstanceTypeC5a12xlarge = "c5a.12xlarge" + + // InstanceTypeC5a16xlarge is a InstanceType enum value + InstanceTypeC5a16xlarge = "c5a.16xlarge" + + // InstanceTypeC5a24xlarge is a InstanceType enum value + InstanceTypeC5a24xlarge = "c5a.24xlarge" + // InstanceTypeC5dLarge is a InstanceType enum value InstanceTypeC5dLarge = "c5d.large" @@ -111233,6 +111430,9 @@ const ( // InstanceTypeG4dn16xlarge is a InstanceType enum value InstanceTypeG4dn16xlarge = "g4dn.16xlarge" + // InstanceTypeG4dnMetal is a InstanceType enum value + InstanceTypeG4dnMetal = "g4dn.metal" + // InstanceTypeCg14xlarge is a InstanceType enum value InstanceTypeCg14xlarge = "cg1.4xlarge" diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go index 259ff9518e1..7c57fed8233 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go @@ -6842,6 +6842,9 @@ func (s *BatchStopUpdateActionOutput) SetUnprocessedUpdateActions(v []*Unprocess type CacheCluster struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the cache cluster. + ARN *string `type:"string"` + // A flag that enables encryption at-rest when set to true. // // You cannot modify the value of AtRestEncryptionEnabled after the cluster @@ -7030,6 +7033,12 @@ func (s CacheCluster) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *CacheCluster) SetARN(v string) *CacheCluster { + s.ARN = &v + return s +} + // SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. func (s *CacheCluster) SetAtRestEncryptionEnabled(v bool) *CacheCluster { s.AtRestEncryptionEnabled = &v @@ -7596,6 +7605,9 @@ func (s *CacheNodeUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *Ca type CacheParameterGroup struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the cache parameter group. + ARN *string `type:"string"` + // The name of the cache parameter group family that this cache parameter group // is compatible with. // @@ -7623,6 +7635,12 @@ func (s CacheParameterGroup) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *CacheParameterGroup) SetARN(v string) *CacheParameterGroup { + s.ARN = &v + return s +} + // SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. func (s *CacheParameterGroup) SetCacheParameterGroupFamily(v string) *CacheParameterGroup { s.CacheParameterGroupFamily = &v @@ -7728,6 +7746,9 @@ func (s *CacheParameterGroupStatus) SetParameterApplyStatus(v string) *CachePara type CacheSecurityGroup struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the cache security group. + ARN *string `type:"string"` + // The name of the cache security group. CacheSecurityGroupName *string `type:"string"` @@ -7752,6 +7773,12 @@ func (s CacheSecurityGroup) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *CacheSecurityGroup) SetARN(v string) *CacheSecurityGroup { + s.ARN = &v + return s +} + // SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. func (s *CacheSecurityGroup) SetCacheSecurityGroupName(v string) *CacheSecurityGroup { s.CacheSecurityGroupName = &v @@ -7819,6 +7846,9 @@ func (s *CacheSecurityGroupMembership) SetStatus(v string) *CacheSecurityGroupMe type CacheSubnetGroup struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the cache subnet group. + ARN *string `type:"string"` + // The description of the cache subnet group. CacheSubnetGroupDescription *string `type:"string"` @@ -7843,6 +7873,12 @@ func (s CacheSubnetGroup) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *CacheSubnetGroup) SetARN(v string) *CacheSubnetGroup { + s.ARN = &v + return s +} + // SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. func (s *CacheSubnetGroup) SetCacheSubnetGroupDescription(v string) *CacheSubnetGroup { s.CacheSubnetGroupDescription = &v @@ -9089,6 +9125,8 @@ type CreateReplicationGroupInput struct { // The ID of the KMS key used to encrypt the disk in the cluster. KmsKeyId *string `type:"string"` + MultiAZEnabled *bool `type:"boolean"` + // A list of node group (shard) configuration options. Each node group (shard) // configuration has the following members: PrimaryAvailabilityZone, ReplicaAvailabilityZones, // ReplicaCount, and Slots. @@ -9107,7 +9145,7 @@ type CreateReplicationGroupInput struct { // The Amazon SNS topic owner must be the same as the cluster owner. NotificationTopicArn *string `type:"string"` - // The number of clusters this replication group initially has. + // The number of nodes in the cluster. // // This parameter is not used if there is more than one node group (shard). // You should use ReplicasPerNodeGroup instead. @@ -9378,6 +9416,12 @@ func (s *CreateReplicationGroupInput) SetKmsKeyId(v string) *CreateReplicationGr return s } +// SetMultiAZEnabled sets the MultiAZEnabled field's value. +func (s *CreateReplicationGroupInput) SetMultiAZEnabled(v bool) *CreateReplicationGroupInput { + s.MultiAZEnabled = &v + return s +} + // SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. func (s *CreateReplicationGroupInput) SetNodeGroupConfiguration(v []*NodeGroupConfiguration) *CreateReplicationGroupInput { s.NodeGroupConfiguration = v @@ -12468,6 +12512,9 @@ func (s *GlobalNodeGroup) SetSlots(v string) *GlobalNodeGroup { type GlobalReplicationGroup struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the global replication group. + ARN *string `type:"string"` + // A flag that enables encryption at rest when set to true. // // You cannot modify the value of AtRestEncryptionEnabled after the replication @@ -12529,6 +12576,12 @@ func (s GlobalReplicationGroup) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *GlobalReplicationGroup) SetARN(v string) *GlobalReplicationGroup { + s.ARN = &v + return s +} + // SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. func (s *GlobalReplicationGroup) SetAtRestEncryptionEnabled(v bool) *GlobalReplicationGroup { s.AtRestEncryptionEnabled = &v @@ -13803,6 +13856,8 @@ type ModifyReplicationGroupInput struct { // and create it anew with the earlier engine version. EngineVersion *string `type:"string"` + MultiAZEnabled *bool `type:"boolean"` + // Deprecated. This parameter is not used. // // Deprecated: NodeGroupId has been deprecated @@ -13965,6 +14020,12 @@ func (s *ModifyReplicationGroupInput) SetEngineVersion(v string) *ModifyReplicat return s } +// SetMultiAZEnabled sets the MultiAZEnabled field's value. +func (s *ModifyReplicationGroupInput) SetMultiAZEnabled(v bool) *ModifyReplicationGroupInput { + s.MultiAZEnabled = &v + return s +} + // SetNodeGroupId sets the NodeGroupId field's value. func (s *ModifyReplicationGroupInput) SetNodeGroupId(v string) *ModifyReplicationGroupInput { s.NodeGroupId = &v @@ -15342,6 +15403,9 @@ func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromRes type ReplicationGroup struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the replication group. + ARN *string `type:"string"` + // A flag that enables encryption at-rest when set to true. // // You cannot modify the value of AtRestEncryptionEnabled after the cluster @@ -15403,6 +15467,8 @@ type ReplicationGroup struct { // The names of all the cache clusters that are part of this replication group. MemberClusters []*string `locationNameList:"ClusterId" type:"list"` + MultiAZ *string `type:"string" enum:"MultiAZStatus"` + // A list of node groups in this replication group. For Redis (cluster mode // disabled) replication groups, this is a single-element list. For Redis (cluster // mode enabled) replication groups, the list contains an entry for each node @@ -15466,6 +15532,12 @@ func (s ReplicationGroup) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *ReplicationGroup) SetARN(v string) *ReplicationGroup { + s.ARN = &v + return s +} + // SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. func (s *ReplicationGroup) SetAtRestEncryptionEnabled(v bool) *ReplicationGroup { s.AtRestEncryptionEnabled = &v @@ -15532,6 +15604,12 @@ func (s *ReplicationGroup) SetMemberClusters(v []*string) *ReplicationGroup { return s } +// SetMultiAZ sets the MultiAZ field's value. +func (s *ReplicationGroup) SetMultiAZ(v string) *ReplicationGroup { + s.MultiAZ = &v + return s +} + // SetNodeGroups sets the NodeGroups field's value. func (s *ReplicationGroup) SetNodeGroups(v []*NodeGroup) *ReplicationGroup { s.NodeGroups = v @@ -16358,6 +16436,9 @@ func (s *SlotMigration) SetProgressPercentage(v float64) *SlotMigration { type Snapshot struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the snapshot. + ARN *string `type:"string"` + // This parameter is currently disabled. AutoMinorVersionUpgrade *bool `type:"boolean"` @@ -16529,6 +16610,12 @@ func (s Snapshot) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *Snapshot) SetARN(v string) *Snapshot { + s.ARN = &v + return s +} + // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. func (s *Snapshot) SetAutoMinorVersionUpgrade(v bool) *Snapshot { s.AutoMinorVersionUpgrade = &v @@ -17245,6 +17332,14 @@ const ( ChangeTypeRequiresReboot = "requires-reboot" ) +const ( + // MultiAZStatusEnabled is a MultiAZStatus enum value + MultiAZStatusEnabled = "enabled" + + // MultiAZStatusDisabled is a MultiAZStatus enum value + MultiAZStatusDisabled = "disabled" +) + const ( // NodeUpdateInitiatedBySystem is a NodeUpdateInitiatedBy enum value NodeUpdateInitiatedBySystem = "system" diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go index 0a41523adeb..fd4b093219f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go @@ -179,6 +179,91 @@ func (c *ElasticBeanstalk) ApplyEnvironmentManagedActionWithContext(ctx aws.Cont return out, req.Send() } +const opAssociateEnvironmentOperationsRole = "AssociateEnvironmentOperationsRole" + +// AssociateEnvironmentOperationsRoleRequest generates a "aws/request.Request" representing the +// client's request for the AssociateEnvironmentOperationsRole 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 AssociateEnvironmentOperationsRole for more information on using the AssociateEnvironmentOperationsRole +// 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 AssociateEnvironmentOperationsRoleRequest method. +// req, resp := client.AssociateEnvironmentOperationsRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/AssociateEnvironmentOperationsRole +func (c *ElasticBeanstalk) AssociateEnvironmentOperationsRoleRequest(input *AssociateEnvironmentOperationsRoleInput) (req *request.Request, output *AssociateEnvironmentOperationsRoleOutput) { + op := &request.Operation{ + Name: opAssociateEnvironmentOperationsRole, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateEnvironmentOperationsRoleInput{} + } + + output = &AssociateEnvironmentOperationsRoleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateEnvironmentOperationsRole API operation for AWS Elastic Beanstalk. +// +// Add or change the operations role used by an environment. After this call +// is made, Elastic Beanstalk uses the associated operations role for permissions +// to downstream services during subsequent calls acting on this environment. +// For more information, see Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html) +// in the AWS Elastic Beanstalk Developer 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 AWS Elastic Beanstalk's +// API operation AssociateEnvironmentOperationsRole for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException" +// The specified account does not have sufficient privileges for one or more +// AWS services. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/AssociateEnvironmentOperationsRole +func (c *ElasticBeanstalk) AssociateEnvironmentOperationsRole(input *AssociateEnvironmentOperationsRoleInput) (*AssociateEnvironmentOperationsRoleOutput, error) { + req, out := c.AssociateEnvironmentOperationsRoleRequest(input) + return out, req.Send() +} + +// AssociateEnvironmentOperationsRoleWithContext is the same as AssociateEnvironmentOperationsRole with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateEnvironmentOperationsRole 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 *ElasticBeanstalk) AssociateEnvironmentOperationsRoleWithContext(ctx aws.Context, input *AssociateEnvironmentOperationsRoleInput, opts ...request.Option) (*AssociateEnvironmentOperationsRoleOutput, error) { + req, out := c.AssociateEnvironmentOperationsRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCheckDNSAvailability = "CheckDNSAvailability" // CheckDNSAvailabilityRequest generates a "aws/request.Request" representing the @@ -2451,6 +2536,91 @@ func (c *ElasticBeanstalk) DescribePlatformVersionWithContext(ctx aws.Context, i return out, req.Send() } +const opDisassociateEnvironmentOperationsRole = "DisassociateEnvironmentOperationsRole" + +// DisassociateEnvironmentOperationsRoleRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateEnvironmentOperationsRole 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 DisassociateEnvironmentOperationsRole for more information on using the DisassociateEnvironmentOperationsRole +// 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 DisassociateEnvironmentOperationsRoleRequest method. +// req, resp := client.DisassociateEnvironmentOperationsRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DisassociateEnvironmentOperationsRole +func (c *ElasticBeanstalk) DisassociateEnvironmentOperationsRoleRequest(input *DisassociateEnvironmentOperationsRoleInput) (req *request.Request, output *DisassociateEnvironmentOperationsRoleOutput) { + op := &request.Operation{ + Name: opDisassociateEnvironmentOperationsRole, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateEnvironmentOperationsRoleInput{} + } + + output = &DisassociateEnvironmentOperationsRoleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateEnvironmentOperationsRole API operation for AWS Elastic Beanstalk. +// +// Disassociate the operations role from an environment. After this call is +// made, Elastic Beanstalk uses the caller's permissions for permissions to +// downstream services during subsequent calls acting on this environment. For +// more information, see Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html) +// in the AWS Elastic Beanstalk Developer 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 AWS Elastic Beanstalk's +// API operation DisassociateEnvironmentOperationsRole for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException" +// The specified account does not have sufficient privileges for one or more +// AWS services. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DisassociateEnvironmentOperationsRole +func (c *ElasticBeanstalk) DisassociateEnvironmentOperationsRole(input *DisassociateEnvironmentOperationsRoleInput) (*DisassociateEnvironmentOperationsRoleOutput, error) { + req, out := c.DisassociateEnvironmentOperationsRoleRequest(input) + return out, req.Send() +} + +// DisassociateEnvironmentOperationsRoleWithContext is the same as DisassociateEnvironmentOperationsRole with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateEnvironmentOperationsRole 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 *ElasticBeanstalk) DisassociateEnvironmentOperationsRoleWithContext(ctx aws.Context, input *DisassociateEnvironmentOperationsRoleInput, opts ...request.Option) (*DisassociateEnvironmentOperationsRoleOutput, error) { + req, out := c.DisassociateEnvironmentOperationsRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListAvailableSolutionStacks = "ListAvailableSolutionStacks" // ListAvailableSolutionStacksRequest generates a "aws/request.Request" representing the @@ -4552,6 +4722,80 @@ func (s *ApplyEnvironmentManagedActionOutput) SetStatus(v string) *ApplyEnvironm return s } +// Request to add or change the operations role used by an environment. +type AssociateEnvironmentOperationsRoleInput struct { + _ struct{} `type:"structure"` + + // The name of the environment to which to set the operations role. + // + // EnvironmentName is a required field + EnvironmentName *string `min:"4" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of an existing IAM role to be used as the + // environment's operations role. + // + // OperationsRole is a required field + OperationsRole *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateEnvironmentOperationsRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateEnvironmentOperationsRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateEnvironmentOperationsRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateEnvironmentOperationsRoleInput"} + if s.EnvironmentName == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentName")) + } + if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4)) + } + if s.OperationsRole == nil { + invalidParams.Add(request.NewErrParamRequired("OperationsRole")) + } + if s.OperationsRole != nil && len(*s.OperationsRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationsRole", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentName sets the EnvironmentName field's value. +func (s *AssociateEnvironmentOperationsRoleInput) SetEnvironmentName(v string) *AssociateEnvironmentOperationsRoleInput { + s.EnvironmentName = &v + return s +} + +// SetOperationsRole sets the OperationsRole field's value. +func (s *AssociateEnvironmentOperationsRoleInput) SetOperationsRole(v string) *AssociateEnvironmentOperationsRoleInput { + s.OperationsRole = &v + return s +} + +type AssociateEnvironmentOperationsRoleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AssociateEnvironmentOperationsRoleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateEnvironmentOperationsRoleOutput) GoString() string { + return s.String() +} + // Describes an Auto Scaling launch configuration. type AutoScalingGroup struct { _ struct{} `type:"structure"` @@ -5762,6 +6006,15 @@ type CreateEnvironmentInput struct { // for details. GroupName *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of an existing IAM role to be used as the + // environment's operations role. If specified, Elastic Beanstalk uses the operations + // role for permissions to downstream services during this call and during subsequent + // calls acting on this environment. To specify an operations role, you must + // have the iam:PassRole permission for the role. For more information, see + // Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html) + // in the AWS Elastic Beanstalk Developer Guide. + OperationsRole *string `min:"1" type:"string"` + // If specified, AWS Elastic Beanstalk sets the specified configuration options // to the requested value in the configuration set for the new environment. // These override the values obtained from the solution stack or the configuration @@ -5839,6 +6092,9 @@ func (s *CreateEnvironmentInput) Validate() error { if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) } + if s.OperationsRole != nil && len(*s.OperationsRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationsRole", 1)) + } if s.TemplateName != nil && len(*s.TemplateName) < 1 { invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) } @@ -5912,6 +6168,12 @@ func (s *CreateEnvironmentInput) SetGroupName(v string) *CreateEnvironmentInput return s } +// SetOperationsRole sets the OperationsRole field's value. +func (s *CreateEnvironmentInput) SetOperationsRole(v string) *CreateEnvironmentInput { + s.OperationsRole = &v + return s +} + // SetOptionSettings sets the OptionSettings field's value. func (s *CreateEnvironmentInput) SetOptionSettings(v []*ConfigurationOptionSetting) *CreateEnvironmentInput { s.OptionSettings = v @@ -7896,6 +8158,62 @@ func (s *DescribePlatformVersionOutput) SetPlatformDescription(v *PlatformDescri return s } +// Request to disassociate the operations role from an environment. +type DisassociateEnvironmentOperationsRoleInput struct { + _ struct{} `type:"structure"` + + // The name of the environment from which to disassociate the operations role. + // + // EnvironmentName is a required field + EnvironmentName *string `min:"4" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateEnvironmentOperationsRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateEnvironmentOperationsRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateEnvironmentOperationsRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateEnvironmentOperationsRoleInput"} + if s.EnvironmentName == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentName")) + } + if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentName sets the EnvironmentName field's value. +func (s *DisassociateEnvironmentOperationsRoleInput) SetEnvironmentName(v string) *DisassociateEnvironmentOperationsRoleInput { + s.EnvironmentName = &v + return s +} + +type DisassociateEnvironmentOperationsRoleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateEnvironmentOperationsRoleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateEnvironmentOperationsRoleOutput) GoString() string { + return s.String() +} + // Describes the properties of an environment. type EnvironmentDescription struct { _ struct{} `type:"structure"` @@ -7962,6 +8280,11 @@ type EnvironmentDescription struct { // For more information, see Health Colors and Statuses (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html). HealthStatus *string `type:"string" enum:"EnvironmentHealthStatus"` + // The Amazon Resource Name (ARN) of the environment's operations role. For + // more information, see Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html) + // in the AWS Elastic Beanstalk Developer Guide. + OperationsRole *string `min:"1" type:"string"` + // The ARN of the platform version. PlatformArn *string `type:"string"` @@ -8084,6 +8407,12 @@ func (s *EnvironmentDescription) SetHealthStatus(v string) *EnvironmentDescripti return s } +// SetOperationsRole sets the OperationsRole field's value. +func (s *EnvironmentDescription) SetOperationsRole(v string) *EnvironmentDescription { + s.OperationsRole = &v + return s +} + // SetPlatformArn sets the PlatformArn field's value. func (s *EnvironmentDescription) SetPlatformArn(v string) *EnvironmentDescription { s.PlatformArn = &v @@ -11795,14 +12124,16 @@ type UpdateTagsForResourceInput struct { // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` - // A list of tags to add or update. + // A list of tags to add or update. If a key of an existing tag is added, the + // tag's value is updated. // - // If a key of an existing tag is added, the tag's value is updated. + // Specify at least one of these parameters: TagsToAdd, TagsToRemove. TagsToAdd []*Tag `type:"list"` - // A list of tag keys to remove. + // A list of tag keys to remove. If a tag key doesn't exist, it is silently + // ignored. // - // If a tag key doesn't exist, it is silently ignored. + // Specify at least one of these parameters: TagsToAdd, TagsToRemove. TagsToRemove []*string `type:"list"` } diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/doc.go b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/doc.go index 3a180495824..9e4abcaea29 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/doc.go @@ -9,8 +9,8 @@ // // For more information about this product, go to the AWS Elastic Beanstalk // (http://aws.amazon.com/elasticbeanstalk/) details page. The location of the -// latest AWS Elastic Beanstalk WSDL is http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl -// (http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl). +// latest AWS Elastic Beanstalk WSDL is https://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl +// (https://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl). // To install the Software Development Kits (SDKs), Integrated Development Environment // (IDE) Toolkits, and command line tools that enable you to access the API, // go to Tools for Amazon Web Services (http://aws.amazon.com/tools/). diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go index ce50a0588d5..1db5e8a5ac4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go @@ -13,6 +13,92 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" ) +const opAcceptInboundCrossClusterSearchConnection = "AcceptInboundCrossClusterSearchConnection" + +// AcceptInboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the +// client's request for the AcceptInboundCrossClusterSearchConnection 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 AcceptInboundCrossClusterSearchConnection for more information on using the AcceptInboundCrossClusterSearchConnection +// 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 AcceptInboundCrossClusterSearchConnectionRequest method. +// req, resp := client.AcceptInboundCrossClusterSearchConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) AcceptInboundCrossClusterSearchConnectionRequest(input *AcceptInboundCrossClusterSearchConnectionInput) (req *request.Request, output *AcceptInboundCrossClusterSearchConnectionOutput) { + op := &request.Operation{ + Name: opAcceptInboundCrossClusterSearchConnection, + HTTPMethod: "PUT", + HTTPPath: "/2015-01-01/es/ccs/inboundConnection/{ConnectionId}/accept", + } + + if input == nil { + input = &AcceptInboundCrossClusterSearchConnectionInput{} + } + + output = &AcceptInboundCrossClusterSearchConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// AcceptInboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service. +// +// Allows the destination domain owner to accept an inbound cross-cluster search +// connection request. +// +// 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 Elasticsearch Service's +// API operation AcceptInboundCrossClusterSearchConnection for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * LimitExceededException +// An exception for trying to create more than allowed resources or sub-resources. +// Gives http status code of 409. +// +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. +// Gives http status code of 409. +// +func (c *ElasticsearchService) AcceptInboundCrossClusterSearchConnection(input *AcceptInboundCrossClusterSearchConnectionInput) (*AcceptInboundCrossClusterSearchConnectionOutput, error) { + req, out := c.AcceptInboundCrossClusterSearchConnectionRequest(input) + return out, req.Send() +} + +// AcceptInboundCrossClusterSearchConnectionWithContext is the same as AcceptInboundCrossClusterSearchConnection with the addition of +// the ability to pass a context and additional request options. +// +// See AcceptInboundCrossClusterSearchConnection 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 *ElasticsearchService) AcceptInboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *AcceptInboundCrossClusterSearchConnectionInput, opts ...request.Option) (*AcceptInboundCrossClusterSearchConnectionOutput, error) { + req, out := c.AcceptInboundCrossClusterSearchConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAddTags = "AddTags" // AddTagsRequest generates a "aws/request.Request" representing the @@ -396,6 +482,97 @@ func (c *ElasticsearchService) CreateElasticsearchDomainWithContext(ctx aws.Cont return out, req.Send() } +const opCreateOutboundCrossClusterSearchConnection = "CreateOutboundCrossClusterSearchConnection" + +// CreateOutboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the +// client's request for the CreateOutboundCrossClusterSearchConnection 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 CreateOutboundCrossClusterSearchConnection for more information on using the CreateOutboundCrossClusterSearchConnection +// 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 CreateOutboundCrossClusterSearchConnectionRequest method. +// req, resp := client.CreateOutboundCrossClusterSearchConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) CreateOutboundCrossClusterSearchConnectionRequest(input *CreateOutboundCrossClusterSearchConnectionInput) (req *request.Request, output *CreateOutboundCrossClusterSearchConnectionOutput) { + op := &request.Operation{ + Name: opCreateOutboundCrossClusterSearchConnection, + HTTPMethod: "POST", + HTTPPath: "/2015-01-01/es/ccs/outboundConnection", + } + + if input == nil { + input = &CreateOutboundCrossClusterSearchConnectionInput{} + } + + output = &CreateOutboundCrossClusterSearchConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateOutboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service. +// +// Creates a new cross-cluster search connection from a source domain to a destination +// domain. +// +// 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 Elasticsearch Service's +// API operation CreateOutboundCrossClusterSearchConnection for usage and error information. +// +// Returned Error Types: +// * LimitExceededException +// An exception for trying to create more than allowed resources or sub-resources. +// Gives http status code of 409. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +// * ResourceAlreadyExistsException +// An exception for creating a resource that already exists. Gives http status +// code of 400. +// +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. +// Gives http status code of 409. +// +func (c *ElasticsearchService) CreateOutboundCrossClusterSearchConnection(input *CreateOutboundCrossClusterSearchConnectionInput) (*CreateOutboundCrossClusterSearchConnectionOutput, error) { + req, out := c.CreateOutboundCrossClusterSearchConnectionRequest(input) + return out, req.Send() +} + +// CreateOutboundCrossClusterSearchConnectionWithContext is the same as CreateOutboundCrossClusterSearchConnection with the addition of +// the ability to pass a context and additional request options. +// +// See CreateOutboundCrossClusterSearchConnection 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 *ElasticsearchService) CreateOutboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *CreateOutboundCrossClusterSearchConnectionInput, opts ...request.Option) (*CreateOutboundCrossClusterSearchConnectionOutput, error) { + req, out := c.CreateOutboundCrossClusterSearchConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreatePackage = "CreatePackage" // CreatePackageRequest generates a "aws/request.Request" representing the @@ -677,6 +854,170 @@ func (c *ElasticsearchService) DeleteElasticsearchServiceRoleWithContext(ctx aws return out, req.Send() } +const opDeleteInboundCrossClusterSearchConnection = "DeleteInboundCrossClusterSearchConnection" + +// DeleteInboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteInboundCrossClusterSearchConnection 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 DeleteInboundCrossClusterSearchConnection for more information on using the DeleteInboundCrossClusterSearchConnection +// 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 DeleteInboundCrossClusterSearchConnectionRequest method. +// req, resp := client.DeleteInboundCrossClusterSearchConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) DeleteInboundCrossClusterSearchConnectionRequest(input *DeleteInboundCrossClusterSearchConnectionInput) (req *request.Request, output *DeleteInboundCrossClusterSearchConnectionOutput) { + op := &request.Operation{ + Name: opDeleteInboundCrossClusterSearchConnection, + HTTPMethod: "DELETE", + HTTPPath: "/2015-01-01/es/ccs/inboundConnection/{ConnectionId}", + } + + if input == nil { + input = &DeleteInboundCrossClusterSearchConnectionInput{} + } + + output = &DeleteInboundCrossClusterSearchConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteInboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service. +// +// Allows the destination domain owner to delete an existing inbound cross-cluster +// search connection. +// +// 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 Elasticsearch Service's +// API operation DeleteInboundCrossClusterSearchConnection for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. +// Gives http status code of 409. +// +func (c *ElasticsearchService) DeleteInboundCrossClusterSearchConnection(input *DeleteInboundCrossClusterSearchConnectionInput) (*DeleteInboundCrossClusterSearchConnectionOutput, error) { + req, out := c.DeleteInboundCrossClusterSearchConnectionRequest(input) + return out, req.Send() +} + +// DeleteInboundCrossClusterSearchConnectionWithContext is the same as DeleteInboundCrossClusterSearchConnection with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteInboundCrossClusterSearchConnection 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 *ElasticsearchService) DeleteInboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *DeleteInboundCrossClusterSearchConnectionInput, opts ...request.Option) (*DeleteInboundCrossClusterSearchConnectionOutput, error) { + req, out := c.DeleteInboundCrossClusterSearchConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteOutboundCrossClusterSearchConnection = "DeleteOutboundCrossClusterSearchConnection" + +// DeleteOutboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteOutboundCrossClusterSearchConnection 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 DeleteOutboundCrossClusterSearchConnection for more information on using the DeleteOutboundCrossClusterSearchConnection +// 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 DeleteOutboundCrossClusterSearchConnectionRequest method. +// req, resp := client.DeleteOutboundCrossClusterSearchConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) DeleteOutboundCrossClusterSearchConnectionRequest(input *DeleteOutboundCrossClusterSearchConnectionInput) (req *request.Request, output *DeleteOutboundCrossClusterSearchConnectionOutput) { + op := &request.Operation{ + Name: opDeleteOutboundCrossClusterSearchConnection, + HTTPMethod: "DELETE", + HTTPPath: "/2015-01-01/es/ccs/outboundConnection/{ConnectionId}", + } + + if input == nil { + input = &DeleteOutboundCrossClusterSearchConnectionInput{} + } + + output = &DeleteOutboundCrossClusterSearchConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteOutboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service. +// +// Allows the source domain owner to delete an existing outbound cross-cluster +// search connection. +// +// 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 Elasticsearch Service's +// API operation DeleteOutboundCrossClusterSearchConnection for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. +// Gives http status code of 409. +// +func (c *ElasticsearchService) DeleteOutboundCrossClusterSearchConnection(input *DeleteOutboundCrossClusterSearchConnectionInput) (*DeleteOutboundCrossClusterSearchConnectionOutput, error) { + req, out := c.DeleteOutboundCrossClusterSearchConnectionRequest(input) + return out, req.Send() +} + +// DeleteOutboundCrossClusterSearchConnectionWithContext is the same as DeleteOutboundCrossClusterSearchConnection with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteOutboundCrossClusterSearchConnection 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 *ElasticsearchService) DeleteOutboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *DeleteOutboundCrossClusterSearchConnectionInput, opts ...request.Option) (*DeleteOutboundCrossClusterSearchConnectionOutput, error) { + req, out := c.DeleteOutboundCrossClusterSearchConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeletePackage = "DeletePackage" // DeletePackageRequest generates a "aws/request.Request" representing the @@ -990,156 +1331,435 @@ func (c *ElasticsearchService) DescribeElasticsearchDomainsRequest(input *Descri input = &DescribeElasticsearchDomainsInput{} } - output = &DescribeElasticsearchDomainsOutput{} + output = &DescribeElasticsearchDomainsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeElasticsearchDomains API operation for Amazon Elasticsearch Service. +// +// Returns domain configuration information about the specified Elasticsearch +// domains, including the domain ID, domain endpoint, and domain ARN. +// +// 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 Elasticsearch Service's +// API operation DescribeElasticsearchDomains for usage and error information. +// +// Returned Error Types: +// * BaseException +// An error occurred while processing the request. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// +func (c *ElasticsearchService) DescribeElasticsearchDomains(input *DescribeElasticsearchDomainsInput) (*DescribeElasticsearchDomainsOutput, error) { + req, out := c.DescribeElasticsearchDomainsRequest(input) + return out, req.Send() +} + +// DescribeElasticsearchDomainsWithContext is the same as DescribeElasticsearchDomains with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeElasticsearchDomains 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 *ElasticsearchService) DescribeElasticsearchDomainsWithContext(ctx aws.Context, input *DescribeElasticsearchDomainsInput, opts ...request.Option) (*DescribeElasticsearchDomainsOutput, error) { + req, out := c.DescribeElasticsearchDomainsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeElasticsearchInstanceTypeLimits = "DescribeElasticsearchInstanceTypeLimits" + +// DescribeElasticsearchInstanceTypeLimitsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeElasticsearchInstanceTypeLimits 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 DescribeElasticsearchInstanceTypeLimits for more information on using the DescribeElasticsearchInstanceTypeLimits +// 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 DescribeElasticsearchInstanceTypeLimitsRequest method. +// req, resp := client.DescribeElasticsearchInstanceTypeLimitsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsRequest(input *DescribeElasticsearchInstanceTypeLimitsInput) (req *request.Request, output *DescribeElasticsearchInstanceTypeLimitsOutput) { + op := &request.Operation{ + Name: opDescribeElasticsearchInstanceTypeLimits, + HTTPMethod: "GET", + HTTPPath: "/2015-01-01/es/instanceTypeLimits/{ElasticsearchVersion}/{InstanceType}", + } + + if input == nil { + input = &DescribeElasticsearchInstanceTypeLimitsInput{} + } + + output = &DescribeElasticsearchInstanceTypeLimitsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeElasticsearchInstanceTypeLimits API operation for Amazon Elasticsearch Service. +// +// Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion. +// When modifying existing Domain, specify the DomainName to know what Limits +// are supported for modifying. +// +// 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 Elasticsearch Service's +// API operation DescribeElasticsearchInstanceTypeLimits for usage and error information. +// +// Returned Error Types: +// * BaseException +// An error occurred while processing the request. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +// * InvalidTypeException +// An exception for trying to create or access sub-resource that is either invalid +// or not supported. Gives http status code of 409. +// +// * LimitExceededException +// An exception for trying to create more than allowed resources or sub-resources. +// Gives http status code of 409. +// +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// +func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimits(input *DescribeElasticsearchInstanceTypeLimitsInput) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) { + req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input) + return out, req.Send() +} + +// DescribeElasticsearchInstanceTypeLimitsWithContext is the same as DescribeElasticsearchInstanceTypeLimits with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeElasticsearchInstanceTypeLimits 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 *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsWithContext(ctx aws.Context, input *DescribeElasticsearchInstanceTypeLimitsInput, opts ...request.Option) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) { + req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeInboundCrossClusterSearchConnections = "DescribeInboundCrossClusterSearchConnections" + +// DescribeInboundCrossClusterSearchConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInboundCrossClusterSearchConnections 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 DescribeInboundCrossClusterSearchConnections for more information on using the DescribeInboundCrossClusterSearchConnections +// 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 DescribeInboundCrossClusterSearchConnectionsRequest method. +// req, resp := client.DescribeInboundCrossClusterSearchConnectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsRequest(input *DescribeInboundCrossClusterSearchConnectionsInput) (req *request.Request, output *DescribeInboundCrossClusterSearchConnectionsOutput) { + op := &request.Operation{ + Name: opDescribeInboundCrossClusterSearchConnections, + HTTPMethod: "POST", + HTTPPath: "/2015-01-01/es/ccs/inboundConnection/search", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeInboundCrossClusterSearchConnectionsInput{} + } + + output = &DescribeInboundCrossClusterSearchConnectionsOutput{} req = c.newRequest(op, input, output) return } -// DescribeElasticsearchDomains API operation for Amazon Elasticsearch Service. +// DescribeInboundCrossClusterSearchConnections API operation for Amazon Elasticsearch Service. // -// Returns domain configuration information about the specified Elasticsearch -// domains, including the domain ID, domain endpoint, and domain ARN. +// Lists all the inbound cross-cluster search connections for a destination +// domain. // // 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 Elasticsearch Service's -// API operation DescribeElasticsearchDomains for usage and error information. +// API operation DescribeInboundCrossClusterSearchConnections for usage and error information. // // Returned Error Types: -// * BaseException -// An error occurred while processing the request. +// * InvalidPaginationTokenException +// The request processing has failed because of invalid pagination token provided +// by customer. Returns an HTTP status code of 400. // -// * InternalException -// The request processing has failed because of an unknown error, exception -// or failure (the failure is internal to the service) . Gives http status code -// of 500. -// -// * ValidationException -// An exception for missing / invalid input fields. Gives http status code of -// 400. +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. +// Gives http status code of 409. // -func (c *ElasticsearchService) DescribeElasticsearchDomains(input *DescribeElasticsearchDomainsInput) (*DescribeElasticsearchDomainsOutput, error) { - req, out := c.DescribeElasticsearchDomainsRequest(input) +func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnections(input *DescribeInboundCrossClusterSearchConnectionsInput) (*DescribeInboundCrossClusterSearchConnectionsOutput, error) { + req, out := c.DescribeInboundCrossClusterSearchConnectionsRequest(input) return out, req.Send() } -// DescribeElasticsearchDomainsWithContext is the same as DescribeElasticsearchDomains with the addition of +// DescribeInboundCrossClusterSearchConnectionsWithContext is the same as DescribeInboundCrossClusterSearchConnections with the addition of // the ability to pass a context and additional request options. // -// See DescribeElasticsearchDomains for details on how to use this API operation. +// See DescribeInboundCrossClusterSearchConnections 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 *ElasticsearchService) DescribeElasticsearchDomainsWithContext(ctx aws.Context, input *DescribeElasticsearchDomainsInput, opts ...request.Option) (*DescribeElasticsearchDomainsOutput, error) { - req, out := c.DescribeElasticsearchDomainsRequest(input) +func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsWithContext(ctx aws.Context, input *DescribeInboundCrossClusterSearchConnectionsInput, opts ...request.Option) (*DescribeInboundCrossClusterSearchConnectionsOutput, error) { + req, out := c.DescribeInboundCrossClusterSearchConnectionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeElasticsearchInstanceTypeLimits = "DescribeElasticsearchInstanceTypeLimits" +// DescribeInboundCrossClusterSearchConnectionsPages iterates over the pages of a DescribeInboundCrossClusterSearchConnections operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInboundCrossClusterSearchConnections 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 DescribeInboundCrossClusterSearchConnections operation. +// pageNum := 0 +// err := client.DescribeInboundCrossClusterSearchConnectionsPages(params, +// func(page *elasticsearchservice.DescribeInboundCrossClusterSearchConnectionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsPages(input *DescribeInboundCrossClusterSearchConnectionsInput, fn func(*DescribeInboundCrossClusterSearchConnectionsOutput, bool) bool) error { + return c.DescribeInboundCrossClusterSearchConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// DescribeElasticsearchInstanceTypeLimitsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeElasticsearchInstanceTypeLimits operation. The "output" return +// DescribeInboundCrossClusterSearchConnectionsPagesWithContext same as DescribeInboundCrossClusterSearchConnectionsPages 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 *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsPagesWithContext(ctx aws.Context, input *DescribeInboundCrossClusterSearchConnectionsInput, fn func(*DescribeInboundCrossClusterSearchConnectionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInboundCrossClusterSearchConnectionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInboundCrossClusterSearchConnectionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInboundCrossClusterSearchConnectionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeOutboundCrossClusterSearchConnections = "DescribeOutboundCrossClusterSearchConnections" + +// DescribeOutboundCrossClusterSearchConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOutboundCrossClusterSearchConnections 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 DescribeElasticsearchInstanceTypeLimits for more information on using the DescribeElasticsearchInstanceTypeLimits +// See DescribeOutboundCrossClusterSearchConnections for more information on using the DescribeOutboundCrossClusterSearchConnections // 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 DescribeElasticsearchInstanceTypeLimitsRequest method. -// req, resp := client.DescribeElasticsearchInstanceTypeLimitsRequest(params) +// // Example sending a request using the DescribeOutboundCrossClusterSearchConnectionsRequest method. +// req, resp := client.DescribeOutboundCrossClusterSearchConnectionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsRequest(input *DescribeElasticsearchInstanceTypeLimitsInput) (req *request.Request, output *DescribeElasticsearchInstanceTypeLimitsOutput) { +func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsRequest(input *DescribeOutboundCrossClusterSearchConnectionsInput) (req *request.Request, output *DescribeOutboundCrossClusterSearchConnectionsOutput) { op := &request.Operation{ - Name: opDescribeElasticsearchInstanceTypeLimits, - HTTPMethod: "GET", - HTTPPath: "/2015-01-01/es/instanceTypeLimits/{ElasticsearchVersion}/{InstanceType}", + Name: opDescribeOutboundCrossClusterSearchConnections, + HTTPMethod: "POST", + HTTPPath: "/2015-01-01/es/ccs/outboundConnection/search", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &DescribeElasticsearchInstanceTypeLimitsInput{} + input = &DescribeOutboundCrossClusterSearchConnectionsInput{} } - output = &DescribeElasticsearchInstanceTypeLimitsOutput{} + output = &DescribeOutboundCrossClusterSearchConnectionsOutput{} req = c.newRequest(op, input, output) return } -// DescribeElasticsearchInstanceTypeLimits API operation for Amazon Elasticsearch Service. +// DescribeOutboundCrossClusterSearchConnections API operation for Amazon Elasticsearch Service. // -// Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion. -// When modifying existing Domain, specify the DomainName to know what Limits -// are supported for modifying. +// Lists all the outbound cross-cluster search connections for a source domain. // // 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 Elasticsearch Service's -// API operation DescribeElasticsearchInstanceTypeLimits for usage and error information. +// API operation DescribeOutboundCrossClusterSearchConnections for usage and error information. // // Returned Error Types: -// * BaseException -// An error occurred while processing the request. -// -// * InternalException -// The request processing has failed because of an unknown error, exception -// or failure (the failure is internal to the service) . Gives http status code -// of 500. +// * InvalidPaginationTokenException +// The request processing has failed because of invalid pagination token provided +// by customer. Returns an HTTP status code of 400. // -// * InvalidTypeException -// An exception for trying to create or access sub-resource that is either invalid -// or not supported. Gives http status code of 409. -// -// * LimitExceededException -// An exception for trying to create more than allowed resources or sub-resources. +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. // Gives http status code of 409. // -// * ResourceNotFoundException -// An exception for accessing or deleting a resource that does not exist. Gives -// http status code of 400. -// -// * ValidationException -// An exception for missing / invalid input fields. Gives http status code of -// 400. -// -func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimits(input *DescribeElasticsearchInstanceTypeLimitsInput) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) { - req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input) +func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnections(input *DescribeOutboundCrossClusterSearchConnectionsInput) (*DescribeOutboundCrossClusterSearchConnectionsOutput, error) { + req, out := c.DescribeOutboundCrossClusterSearchConnectionsRequest(input) return out, req.Send() } -// DescribeElasticsearchInstanceTypeLimitsWithContext is the same as DescribeElasticsearchInstanceTypeLimits with the addition of +// DescribeOutboundCrossClusterSearchConnectionsWithContext is the same as DescribeOutboundCrossClusterSearchConnections with the addition of // the ability to pass a context and additional request options. // -// See DescribeElasticsearchInstanceTypeLimits for details on how to use this API operation. +// See DescribeOutboundCrossClusterSearchConnections 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 *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsWithContext(ctx aws.Context, input *DescribeElasticsearchInstanceTypeLimitsInput, opts ...request.Option) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) { - req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input) +func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsWithContext(ctx aws.Context, input *DescribeOutboundCrossClusterSearchConnectionsInput, opts ...request.Option) (*DescribeOutboundCrossClusterSearchConnectionsOutput, error) { + req, out := c.DescribeOutboundCrossClusterSearchConnectionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } +// DescribeOutboundCrossClusterSearchConnectionsPages iterates over the pages of a DescribeOutboundCrossClusterSearchConnections operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeOutboundCrossClusterSearchConnections 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 DescribeOutboundCrossClusterSearchConnections operation. +// pageNum := 0 +// err := client.DescribeOutboundCrossClusterSearchConnectionsPages(params, +// func(page *elasticsearchservice.DescribeOutboundCrossClusterSearchConnectionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsPages(input *DescribeOutboundCrossClusterSearchConnectionsInput, fn func(*DescribeOutboundCrossClusterSearchConnectionsOutput, bool) bool) error { + return c.DescribeOutboundCrossClusterSearchConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeOutboundCrossClusterSearchConnectionsPagesWithContext same as DescribeOutboundCrossClusterSearchConnectionsPages 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 *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsPagesWithContext(ctx aws.Context, input *DescribeOutboundCrossClusterSearchConnectionsInput, fn func(*DescribeOutboundCrossClusterSearchConnectionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeOutboundCrossClusterSearchConnectionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeOutboundCrossClusterSearchConnectionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeOutboundCrossClusterSearchConnectionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribePackages = "DescribePackages" // DescribePackagesRequest generates a "aws/request.Request" representing the @@ -2792,99 +3412,181 @@ func (c *ElasticsearchService) ListTagsWithContext(ctx aws.Context, input *ListT return out, req.Send() } -const opPurchaseReservedElasticsearchInstanceOffering = "PurchaseReservedElasticsearchInstanceOffering" +const opPurchaseReservedElasticsearchInstanceOffering = "PurchaseReservedElasticsearchInstanceOffering" + +// PurchaseReservedElasticsearchInstanceOfferingRequest generates a "aws/request.Request" representing the +// client's request for the PurchaseReservedElasticsearchInstanceOffering 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 PurchaseReservedElasticsearchInstanceOffering for more information on using the PurchaseReservedElasticsearchInstanceOffering +// 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 PurchaseReservedElasticsearchInstanceOfferingRequest method. +// req, resp := client.PurchaseReservedElasticsearchInstanceOfferingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingRequest(input *PurchaseReservedElasticsearchInstanceOfferingInput) (req *request.Request, output *PurchaseReservedElasticsearchInstanceOfferingOutput) { + op := &request.Operation{ + Name: opPurchaseReservedElasticsearchInstanceOffering, + HTTPMethod: "POST", + HTTPPath: "/2015-01-01/es/purchaseReservedInstanceOffering", + } + + if input == nil { + input = &PurchaseReservedElasticsearchInstanceOfferingInput{} + } + + output = &PurchaseReservedElasticsearchInstanceOfferingOutput{} + req = c.newRequest(op, input, output) + return +} + +// PurchaseReservedElasticsearchInstanceOffering API operation for Amazon Elasticsearch Service. +// +// Allows you to purchase reserved Elasticsearch 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 Elasticsearch Service's +// API operation PurchaseReservedElasticsearchInstanceOffering for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * ResourceAlreadyExistsException +// An exception for creating a resource that already exists. Gives http status +// code of 400. +// +// * LimitExceededException +// An exception for trying to create more than allowed resources or sub-resources. +// Gives http status code of 409. +// +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. +// Gives http status code of 409. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOffering(input *PurchaseReservedElasticsearchInstanceOfferingInput) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) { + req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input) + return out, req.Send() +} + +// PurchaseReservedElasticsearchInstanceOfferingWithContext is the same as PurchaseReservedElasticsearchInstanceOffering with the addition of +// the ability to pass a context and additional request options. +// +// See PurchaseReservedElasticsearchInstanceOffering 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 *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingWithContext(ctx aws.Context, input *PurchaseReservedElasticsearchInstanceOfferingInput, opts ...request.Option) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) { + req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRejectInboundCrossClusterSearchConnection = "RejectInboundCrossClusterSearchConnection" -// PurchaseReservedElasticsearchInstanceOfferingRequest generates a "aws/request.Request" representing the -// client's request for the PurchaseReservedElasticsearchInstanceOffering operation. The "output" return +// RejectInboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the +// client's request for the RejectInboundCrossClusterSearchConnection 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 PurchaseReservedElasticsearchInstanceOffering for more information on using the PurchaseReservedElasticsearchInstanceOffering +// See RejectInboundCrossClusterSearchConnection for more information on using the RejectInboundCrossClusterSearchConnection // 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 PurchaseReservedElasticsearchInstanceOfferingRequest method. -// req, resp := client.PurchaseReservedElasticsearchInstanceOfferingRequest(params) +// // Example sending a request using the RejectInboundCrossClusterSearchConnectionRequest method. +// req, resp := client.RejectInboundCrossClusterSearchConnectionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingRequest(input *PurchaseReservedElasticsearchInstanceOfferingInput) (req *request.Request, output *PurchaseReservedElasticsearchInstanceOfferingOutput) { +func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnectionRequest(input *RejectInboundCrossClusterSearchConnectionInput) (req *request.Request, output *RejectInboundCrossClusterSearchConnectionOutput) { op := &request.Operation{ - Name: opPurchaseReservedElasticsearchInstanceOffering, - HTTPMethod: "POST", - HTTPPath: "/2015-01-01/es/purchaseReservedInstanceOffering", + Name: opRejectInboundCrossClusterSearchConnection, + HTTPMethod: "PUT", + HTTPPath: "/2015-01-01/es/ccs/inboundConnection/{ConnectionId}/reject", } if input == nil { - input = &PurchaseReservedElasticsearchInstanceOfferingInput{} + input = &RejectInboundCrossClusterSearchConnectionInput{} } - output = &PurchaseReservedElasticsearchInstanceOfferingOutput{} + output = &RejectInboundCrossClusterSearchConnectionOutput{} req = c.newRequest(op, input, output) return } -// PurchaseReservedElasticsearchInstanceOffering API operation for Amazon Elasticsearch Service. +// RejectInboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service. // -// Allows you to purchase reserved Elasticsearch instances. +// Allows the destination domain owner to reject an inbound cross-cluster search +// connection request. // // 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 Elasticsearch Service's -// API operation PurchaseReservedElasticsearchInstanceOffering for usage and error information. +// API operation RejectInboundCrossClusterSearchConnection for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // An exception for accessing or deleting a resource that does not exist. Gives // http status code of 400. // -// * ResourceAlreadyExistsException -// An exception for creating a resource that already exists. Gives http status -// code of 400. -// -// * LimitExceededException -// An exception for trying to create more than allowed resources or sub-resources. -// Gives http status code of 409. -// // * DisabledOperationException // An error occured because the client wanted to access a not supported operation. // Gives http status code of 409. // -// * ValidationException -// An exception for missing / invalid input fields. Gives http status code of -// 400. -// -// * InternalException -// The request processing has failed because of an unknown error, exception -// or failure (the failure is internal to the service) . Gives http status code -// of 500. -// -func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOffering(input *PurchaseReservedElasticsearchInstanceOfferingInput) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) { - req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input) +func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnection(input *RejectInboundCrossClusterSearchConnectionInput) (*RejectInboundCrossClusterSearchConnectionOutput, error) { + req, out := c.RejectInboundCrossClusterSearchConnectionRequest(input) return out, req.Send() } -// PurchaseReservedElasticsearchInstanceOfferingWithContext is the same as PurchaseReservedElasticsearchInstanceOffering with the addition of +// RejectInboundCrossClusterSearchConnectionWithContext is the same as RejectInboundCrossClusterSearchConnection with the addition of // the ability to pass a context and additional request options. // -// See PurchaseReservedElasticsearchInstanceOffering for details on how to use this API operation. +// See RejectInboundCrossClusterSearchConnection 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 *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingWithContext(ctx aws.Context, input *PurchaseReservedElasticsearchInstanceOfferingInput, opts ...request.Option) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) { - req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input) +func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *RejectInboundCrossClusterSearchConnectionInput, opts ...request.Option) (*RejectInboundCrossClusterSearchConnectionOutput, error) { + req, out := c.RejectInboundCrossClusterSearchConnectionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -3261,6 +3963,74 @@ func (c *ElasticsearchService) UpgradeElasticsearchDomainWithContext(ctx aws.Con return out, req.Send() } +// Container for the parameters to the AcceptInboundCrossClusterSearchConnection +// operation. +type AcceptInboundCrossClusterSearchConnectionInput struct { + _ struct{} `type:"structure"` + + // The id of the inbound connection that you want to accept. + // + // CrossClusterSearchConnectionId is a required field + CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s AcceptInboundCrossClusterSearchConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptInboundCrossClusterSearchConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcceptInboundCrossClusterSearchConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcceptInboundCrossClusterSearchConnectionInput"} + if s.CrossClusterSearchConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId")) + } + if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *AcceptInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *AcceptInboundCrossClusterSearchConnectionInput { + s.CrossClusterSearchConnectionId = &v + return s +} + +// The result of a AcceptInboundCrossClusterSearchConnection operation. Contains +// details of accepted inbound connection. +type AcceptInboundCrossClusterSearchConnectionOutput struct { + _ struct{} `type:"structure"` + + // Specifies the InboundCrossClusterSearchConnection of accepted inbound connection. + CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"` +} + +// String returns the string representation +func (s AcceptInboundCrossClusterSearchConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptInboundCrossClusterSearchConnectionOutput) GoString() string { + return s.String() +} + +// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value. +func (s *AcceptInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *AcceptInboundCrossClusterSearchConnectionOutput { + s.CrossClusterSearchConnection = v + return s +} + // An error occurred because user does not have permissions to access the resource. // Returns HTTP status code 403. type AccessDeniedException struct { @@ -4282,6 +5052,148 @@ func (s *CreateElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomain return s } +// Container for the parameters to the CreateOutboundCrossClusterSearchConnection +// operation. +type CreateOutboundCrossClusterSearchConnectionInput struct { + _ struct{} `type:"structure"` + + // Specifies the connection alias that will be used by the customer for this + // connection. + // + // ConnectionAlias is a required field + ConnectionAlias *string `type:"string" required:"true"` + + // Specifies the DomainInformation for the destination Elasticsearch domain. + // + // DestinationDomainInfo is a required field + DestinationDomainInfo *DomainInformation `type:"structure" required:"true"` + + // Specifies the DomainInformation for the source Elasticsearch domain. + // + // SourceDomainInfo is a required field + SourceDomainInfo *DomainInformation `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateOutboundCrossClusterSearchConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateOutboundCrossClusterSearchConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateOutboundCrossClusterSearchConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateOutboundCrossClusterSearchConnectionInput"} + if s.ConnectionAlias == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionAlias")) + } + if s.DestinationDomainInfo == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationDomainInfo")) + } + if s.SourceDomainInfo == nil { + invalidParams.Add(request.NewErrParamRequired("SourceDomainInfo")) + } + if s.DestinationDomainInfo != nil { + if err := s.DestinationDomainInfo.Validate(); err != nil { + invalidParams.AddNested("DestinationDomainInfo", err.(request.ErrInvalidParams)) + } + } + if s.SourceDomainInfo != nil { + if err := s.SourceDomainInfo.Validate(); err != nil { + invalidParams.AddNested("SourceDomainInfo", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConnectionAlias sets the ConnectionAlias field's value. +func (s *CreateOutboundCrossClusterSearchConnectionInput) SetConnectionAlias(v string) *CreateOutboundCrossClusterSearchConnectionInput { + s.ConnectionAlias = &v + return s +} + +// SetDestinationDomainInfo sets the DestinationDomainInfo field's value. +func (s *CreateOutboundCrossClusterSearchConnectionInput) SetDestinationDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionInput { + s.DestinationDomainInfo = v + return s +} + +// SetSourceDomainInfo sets the SourceDomainInfo field's value. +func (s *CreateOutboundCrossClusterSearchConnectionInput) SetSourceDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionInput { + s.SourceDomainInfo = v + return s +} + +// The result of a CreateOutboundCrossClusterSearchConnection request. Contains +// the details of the newly created cross-cluster search connection. +type CreateOutboundCrossClusterSearchConnectionOutput struct { + _ struct{} `type:"structure"` + + // Specifies the connection alias provided during the create connection request. + ConnectionAlias *string `type:"string"` + + // Specifies the OutboundCrossClusterSearchConnectionStatus for the newly created + // connection. + ConnectionStatus *OutboundCrossClusterSearchConnectionStatus `type:"structure"` + + // Unique id for the created outbound connection, which is used for subsequent + // operations on connection. + CrossClusterSearchConnectionId *string `type:"string"` + + // Specifies the DomainInformation for the destination Elasticsearch domain. + DestinationDomainInfo *DomainInformation `type:"structure"` + + // Specifies the DomainInformation for the source Elasticsearch domain. + SourceDomainInfo *DomainInformation `type:"structure"` +} + +// String returns the string representation +func (s CreateOutboundCrossClusterSearchConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateOutboundCrossClusterSearchConnectionOutput) GoString() string { + return s.String() +} + +// SetConnectionAlias sets the ConnectionAlias field's value. +func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetConnectionAlias(v string) *CreateOutboundCrossClusterSearchConnectionOutput { + s.ConnectionAlias = &v + return s +} + +// SetConnectionStatus sets the ConnectionStatus field's value. +func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetConnectionStatus(v *OutboundCrossClusterSearchConnectionStatus) *CreateOutboundCrossClusterSearchConnectionOutput { + s.ConnectionStatus = v + return s +} + +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnectionId(v string) *CreateOutboundCrossClusterSearchConnectionOutput { + s.CrossClusterSearchConnectionId = &v + return s +} + +// SetDestinationDomainInfo sets the DestinationDomainInfo field's value. +func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetDestinationDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionOutput { + s.DestinationDomainInfo = v + return s +} + +// SetSourceDomainInfo sets the SourceDomainInfo field's value. +func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetSourceDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionOutput { + s.SourceDomainInfo = v + return s +} + // Container for request parameters to CreatePackage operation. type CreatePackageInput struct { _ struct{} `type:"structure"` @@ -4370,55 +5282,152 @@ func (s *CreatePackageInput) SetPackageType(v string) *CreatePackageInput { type CreatePackageOutput struct { _ struct{} `type:"structure"` - // Information about the package PackageDetails. - PackageDetails *PackageDetails `type:"structure"` + // Information about the package PackageDetails. + PackageDetails *PackageDetails `type:"structure"` +} + +// String returns the string representation +func (s CreatePackageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePackageOutput) GoString() string { + return s.String() +} + +// SetPackageDetails sets the PackageDetails field's value. +func (s *CreatePackageOutput) SetPackageDetails(v *PackageDetails) *CreatePackageOutput { + s.PackageDetails = v + return s +} + +// Container for the parameters to the DeleteElasticsearchDomain operation. +// Specifies the name of the Elasticsearch domain that you want to delete. +type DeleteElasticsearchDomainInput struct { + _ struct{} `type:"structure"` + + // The name of the Elasticsearch domain that you want to permanently delete. + // + // DomainName is a required field + DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteElasticsearchDomainInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteElasticsearchDomainInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteElasticsearchDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteElasticsearchDomainInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DeleteElasticsearchDomainInput) SetDomainName(v string) *DeleteElasticsearchDomainInput { + s.DomainName = &v + return s +} + +// The result of a DeleteElasticsearchDomain request. Contains the status of +// the pending deletion, or no status if the domain and all of its resources +// have been deleted. +type DeleteElasticsearchDomainOutput struct { + _ struct{} `type:"structure"` + + // The status of the Elasticsearch domain being deleted. + DomainStatus *ElasticsearchDomainStatus `type:"structure"` +} + +// String returns the string representation +func (s DeleteElasticsearchDomainOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteElasticsearchDomainOutput) GoString() string { + return s.String() +} + +// SetDomainStatus sets the DomainStatus field's value. +func (s *DeleteElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *DeleteElasticsearchDomainOutput { + s.DomainStatus = v + return s +} + +type DeleteElasticsearchServiceRoleInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteElasticsearchServiceRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteElasticsearchServiceRoleInput) GoString() string { + return s.String() +} + +type DeleteElasticsearchServiceRoleOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation -func (s CreatePackageOutput) String() string { +func (s DeleteElasticsearchServiceRoleOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreatePackageOutput) GoString() string { +func (s DeleteElasticsearchServiceRoleOutput) GoString() string { return s.String() } -// SetPackageDetails sets the PackageDetails field's value. -func (s *CreatePackageOutput) SetPackageDetails(v *PackageDetails) *CreatePackageOutput { - s.PackageDetails = v - return s -} - -// Container for the parameters to the DeleteElasticsearchDomain operation. -// Specifies the name of the Elasticsearch domain that you want to delete. -type DeleteElasticsearchDomainInput struct { +// Container for the parameters to the DeleteInboundCrossClusterSearchConnection +// operation. +type DeleteInboundCrossClusterSearchConnectionInput struct { _ struct{} `type:"structure"` - // The name of the Elasticsearch domain that you want to permanently delete. + // The id of the inbound connection that you want to permanently delete. // - // DomainName is a required field - DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"` + // CrossClusterSearchConnectionId is a required field + CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"` } // String returns the string representation -func (s DeleteElasticsearchDomainInput) String() string { +func (s DeleteInboundCrossClusterSearchConnectionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteElasticsearchDomainInput) GoString() string { +func (s DeleteInboundCrossClusterSearchConnectionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteElasticsearchDomainInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteElasticsearchDomainInput"} - if s.DomainName == nil { - invalidParams.Add(request.NewErrParamRequired("DomainName")) +func (s *DeleteInboundCrossClusterSearchConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInboundCrossClusterSearchConnectionInput"} + if s.CrossClusterSearchConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId")) } - if s.DomainName != nil && len(*s.DomainName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1)) } if invalidParams.Len() > 0 { @@ -4427,66 +5436,105 @@ func (s *DeleteElasticsearchDomainInput) Validate() error { return nil } -// SetDomainName sets the DomainName field's value. -func (s *DeleteElasticsearchDomainInput) SetDomainName(v string) *DeleteElasticsearchDomainInput { - s.DomainName = &v +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *DeleteInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *DeleteInboundCrossClusterSearchConnectionInput { + s.CrossClusterSearchConnectionId = &v return s } -// The result of a DeleteElasticsearchDomain request. Contains the status of -// the pending deletion, or no status if the domain and all of its resources -// have been deleted. -type DeleteElasticsearchDomainOutput struct { +// The result of a DeleteInboundCrossClusterSearchConnection operation. Contains +// details of deleted inbound connection. +type DeleteInboundCrossClusterSearchConnectionOutput struct { _ struct{} `type:"structure"` - // The status of the Elasticsearch domain being deleted. - DomainStatus *ElasticsearchDomainStatus `type:"structure"` + // Specifies the InboundCrossClusterSearchConnection of deleted inbound connection. + CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"` } // String returns the string representation -func (s DeleteElasticsearchDomainOutput) String() string { +func (s DeleteInboundCrossClusterSearchConnectionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteElasticsearchDomainOutput) GoString() string { +func (s DeleteInboundCrossClusterSearchConnectionOutput) GoString() string { return s.String() } -// SetDomainStatus sets the DomainStatus field's value. -func (s *DeleteElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *DeleteElasticsearchDomainOutput { - s.DomainStatus = v +// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value. +func (s *DeleteInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *DeleteInboundCrossClusterSearchConnectionOutput { + s.CrossClusterSearchConnection = v return s } -type DeleteElasticsearchServiceRoleInput struct { +// Container for the parameters to the DeleteOutboundCrossClusterSearchConnection +// operation. +type DeleteOutboundCrossClusterSearchConnectionInput struct { _ struct{} `type:"structure"` + + // The id of the outbound connection that you want to permanently delete. + // + // CrossClusterSearchConnectionId is a required field + CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"` } // String returns the string representation -func (s DeleteElasticsearchServiceRoleInput) String() string { +func (s DeleteOutboundCrossClusterSearchConnectionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteElasticsearchServiceRoleInput) GoString() string { +func (s DeleteOutboundCrossClusterSearchConnectionInput) GoString() string { return s.String() } -type DeleteElasticsearchServiceRoleOutput struct { +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteOutboundCrossClusterSearchConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteOutboundCrossClusterSearchConnectionInput"} + if s.CrossClusterSearchConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId")) + } + if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *DeleteOutboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *DeleteOutboundCrossClusterSearchConnectionInput { + s.CrossClusterSearchConnectionId = &v + return s +} + +// The result of a DeleteOutboundCrossClusterSearchConnection operation. Contains +// details of deleted outbound connection. +type DeleteOutboundCrossClusterSearchConnectionOutput struct { _ struct{} `type:"structure"` + + // Specifies the OutboundCrossClusterSearchConnection of deleted outbound connection. + CrossClusterSearchConnection *OutboundCrossClusterSearchConnection `type:"structure"` } // String returns the string representation -func (s DeleteElasticsearchServiceRoleOutput) String() string { +func (s DeleteOutboundCrossClusterSearchConnectionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteElasticsearchServiceRoleOutput) GoString() string { +func (s DeleteOutboundCrossClusterSearchConnectionOutput) GoString() string { return s.String() } +// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value. +func (s *DeleteOutboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *OutboundCrossClusterSearchConnection) *DeleteOutboundCrossClusterSearchConnectionOutput { + s.CrossClusterSearchConnection = v + return s +} + // Container for request parameters to DeletePackage operation. type DeletePackageInput struct { _ struct{} `type:"structure"` @@ -4866,6 +5914,228 @@ func (s *DescribeElasticsearchInstanceTypeLimitsOutput) SetLimitsByRole(v map[st return s } +// Container for the parameters to the DescribeInboundCrossClusterSearchConnections +// operation. +type DescribeInboundCrossClusterSearchConnectionsInput struct { + _ struct{} `type:"structure"` + + // A list of filters used to match properties for inbound cross-cluster search + // connection. Available Filter names for this operation are: + // * cross-cluster-search-connection-id + // + // * source-domain-info.domain-name + // + // * source-domain-info.owner-id + // + // * source-domain-info.region + // + // * destination-domain-info.domain-name + Filters []*Filter `type:"list"` + + // Set this value to limit the number of results returned. If not specified, + // defaults to 100. + MaxResults *int64 `type:"integer"` + + // NextToken is sent in case the earlier API call results contain the NextToken. + // It is used for pagination. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInboundCrossClusterSearchConnectionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInboundCrossClusterSearchConnectionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInboundCrossClusterSearchConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInboundCrossClusterSearchConnectionsInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetFilters(v []*Filter) *DescribeInboundCrossClusterSearchConnectionsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetMaxResults(v int64) *DescribeInboundCrossClusterSearchConnectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetNextToken(v string) *DescribeInboundCrossClusterSearchConnectionsInput { + s.NextToken = &v + return s +} + +// The result of a DescribeInboundCrossClusterSearchConnections request. Contains +// the list of connections matching the filter criteria. +type DescribeInboundCrossClusterSearchConnectionsOutput struct { + _ struct{} `type:"structure"` + + // Consists of list of InboundCrossClusterSearchConnection matching the specified + // filter criteria. + CrossClusterSearchConnections []*InboundCrossClusterSearchConnection `type:"list"` + + // If more results are available and NextToken is present, make the next request + // to the same API with the received NextToken to paginate the remaining results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInboundCrossClusterSearchConnectionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInboundCrossClusterSearchConnectionsOutput) GoString() string { + return s.String() +} + +// SetCrossClusterSearchConnections sets the CrossClusterSearchConnections field's value. +func (s *DescribeInboundCrossClusterSearchConnectionsOutput) SetCrossClusterSearchConnections(v []*InboundCrossClusterSearchConnection) *DescribeInboundCrossClusterSearchConnectionsOutput { + s.CrossClusterSearchConnections = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInboundCrossClusterSearchConnectionsOutput) SetNextToken(v string) *DescribeInboundCrossClusterSearchConnectionsOutput { + s.NextToken = &v + return s +} + +// Container for the parameters to the DescribeOutboundCrossClusterSearchConnections +// operation. +type DescribeOutboundCrossClusterSearchConnectionsInput struct { + _ struct{} `type:"structure"` + + // A list of filters used to match properties for outbound cross-cluster search + // connection. Available Filter names for this operation are: + // * cross-cluster-search-connection-id + // + // * destination-domain-info.domain-name + // + // * destination-domain-info.owner-id + // + // * destination-domain-info.region + // + // * source-domain-info.domain-name + Filters []*Filter `type:"list"` + + // Set this value to limit the number of results returned. If not specified, + // defaults to 100. + MaxResults *int64 `type:"integer"` + + // NextToken is sent in case the earlier API call results contain the NextToken. + // It is used for pagination. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeOutboundCrossClusterSearchConnectionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeOutboundCrossClusterSearchConnectionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeOutboundCrossClusterSearchConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeOutboundCrossClusterSearchConnectionsInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetFilters(v []*Filter) *DescribeOutboundCrossClusterSearchConnectionsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetMaxResults(v int64) *DescribeOutboundCrossClusterSearchConnectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetNextToken(v string) *DescribeOutboundCrossClusterSearchConnectionsInput { + s.NextToken = &v + return s +} + +// The result of a DescribeOutboundCrossClusterSearchConnections request. Contains +// the list of connections matching the filter criteria. +type DescribeOutboundCrossClusterSearchConnectionsOutput struct { + _ struct{} `type:"structure"` + + // Consists of list of OutboundCrossClusterSearchConnection matching the specified + // filter criteria. + CrossClusterSearchConnections []*OutboundCrossClusterSearchConnection `type:"list"` + + // If more results are available and NextToken is present, make the next request + // to the same API with the received NextToken to paginate the remaining results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeOutboundCrossClusterSearchConnectionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeOutboundCrossClusterSearchConnectionsOutput) GoString() string { + return s.String() +} + +// SetCrossClusterSearchConnections sets the CrossClusterSearchConnections field's value. +func (s *DescribeOutboundCrossClusterSearchConnectionsOutput) SetCrossClusterSearchConnections(v []*OutboundCrossClusterSearchConnection) *DescribeOutboundCrossClusterSearchConnectionsOutput { + s.CrossClusterSearchConnections = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeOutboundCrossClusterSearchConnectionsOutput) SetNextToken(v string) *DescribeOutboundCrossClusterSearchConnectionsOutput { + s.NextToken = &v + return s +} + // Filter to apply in DescribePackage response. type DescribePackagesFilter struct { _ struct{} `type:"structure"` @@ -5367,11 +6637,74 @@ func (s DomainInfo) GoString() string { } // SetDomainName sets the DomainName field's value. -func (s *DomainInfo) SetDomainName(v string) *DomainInfo { +func (s *DomainInfo) SetDomainName(v string) *DomainInfo { + s.DomainName = &v + return s +} + +type DomainInformation struct { + _ struct{} `type:"structure"` + + // The name of an Elasticsearch domain. Domain names are unique across the domains + // owned by an account within an AWS region. Domain names start with a letter + // or number and can contain the following characters: a-z (lowercase), 0-9, + // and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + OwnerId *string `min:"12" type:"string"` + + Region *string `type:"string"` +} + +// String returns the string representation +func (s DomainInformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DomainInformation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DomainInformation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DomainInformation"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.OwnerId != nil && len(*s.OwnerId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("OwnerId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DomainInformation) SetDomainName(v string) *DomainInformation { s.DomainName = &v return s } +// SetOwnerId sets the OwnerId field's value. +func (s *DomainInformation) SetOwnerId(v string) *DomainInformation { + s.OwnerId = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *DomainInformation) SetRegion(v string) *DomainInformation { + s.Region = &v + return s +} + // Information on a package that is associated with a domain. type DomainPackageDetails struct { _ struct{} `type:"structure"` @@ -6237,6 +7570,58 @@ func (s *ErrorDetails) SetErrorType(v string) *ErrorDetails { return s } +// A filter used to limit results when describing inbound or outbound cross-cluster +// search connections. Multiple values can be specified per filter. A cross-cluster +// search connection must match at least one of the specified values for it +// to be returned from an operation. +type Filter struct { + _ struct{} `type:"structure"` + + // Specifies the name of the filter. + Name *string `min:"1" type:"string"` + + // Contains one or more values for the filter. + Values []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v + return s +} + // Container for request parameters to GetCompatibleElasticsearchVersions operation. type GetCompatibleElasticsearchVersionsInput struct { _ struct{} `type:"structure"` @@ -6504,6 +7889,105 @@ func (s *GetUpgradeStatusOutput) SetUpgradeStep(v string) *GetUpgradeStatusOutpu return s } +// Specifies details of an inbound connection. +type InboundCrossClusterSearchConnection struct { + _ struct{} `type:"structure"` + + // Specifies the InboundCrossClusterSearchConnectionStatus for the outbound + // connection. + ConnectionStatus *InboundCrossClusterSearchConnectionStatus `type:"structure"` + + // Specifies the connection id for the inbound cross-cluster search connection. + CrossClusterSearchConnectionId *string `type:"string"` + + // Specifies the DomainInformation for the destination Elasticsearch domain. + DestinationDomainInfo *DomainInformation `type:"structure"` + + // Specifies the DomainInformation for the source Elasticsearch domain. + SourceDomainInfo *DomainInformation `type:"structure"` +} + +// String returns the string representation +func (s InboundCrossClusterSearchConnection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InboundCrossClusterSearchConnection) GoString() string { + return s.String() +} + +// SetConnectionStatus sets the ConnectionStatus field's value. +func (s *InboundCrossClusterSearchConnection) SetConnectionStatus(v *InboundCrossClusterSearchConnectionStatus) *InboundCrossClusterSearchConnection { + s.ConnectionStatus = v + return s +} + +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *InboundCrossClusterSearchConnection) SetCrossClusterSearchConnectionId(v string) *InboundCrossClusterSearchConnection { + s.CrossClusterSearchConnectionId = &v + return s +} + +// SetDestinationDomainInfo sets the DestinationDomainInfo field's value. +func (s *InboundCrossClusterSearchConnection) SetDestinationDomainInfo(v *DomainInformation) *InboundCrossClusterSearchConnection { + s.DestinationDomainInfo = v + return s +} + +// SetSourceDomainInfo sets the SourceDomainInfo field's value. +func (s *InboundCrossClusterSearchConnection) SetSourceDomainInfo(v *DomainInformation) *InboundCrossClusterSearchConnection { + s.SourceDomainInfo = v + return s +} + +// Specifies the coonection status of an inbound cross-cluster search connection. +type InboundCrossClusterSearchConnectionStatus struct { + _ struct{} `type:"structure"` + + // Specifies verbose information for the inbound connection status. + Message *string `type:"string"` + + // The state code for inbound connection. This can be one of the following: + // + // * PENDING_ACCEPTANCE: Inbound connection is not yet accepted by destination + // domain owner. + // + // * APPROVED: Inbound connection is pending acceptance by destination domain + // owner. + // + // * REJECTING: Inbound connection rejection is in process. + // + // * REJECTED: Inbound connection is rejected. + // + // * DELETING: Inbound connection deletion is in progress. + // + // * DELETED: Inbound connection is deleted and cannot be used further. + StatusCode *string `type:"string" enum:"InboundCrossClusterSearchConnectionStatusCode"` +} + +// String returns the string representation +func (s InboundCrossClusterSearchConnectionStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InboundCrossClusterSearchConnectionStatus) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *InboundCrossClusterSearchConnectionStatus) SetMessage(v string) *InboundCrossClusterSearchConnectionStatus { + s.Message = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *InboundCrossClusterSearchConnectionStatus) SetStatusCode(v string) *InboundCrossClusterSearchConnectionStatus { + s.StatusCode = &v + return s +} + // InstanceCountLimits represents the limits on number of instances that be // created in Amazon Elasticsearch for given InstanceType. type InstanceCountLimits struct { @@ -6622,6 +8106,63 @@ func (s *InternalException) RequestID() string { return s.RespMetadata.RequestID } +// The request processing has failed because of invalid pagination token provided +// by customer. Returns an HTTP status code of 400. +type InvalidPaginationTokenException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidPaginationTokenException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidPaginationTokenException) GoString() string { + return s.String() +} + +func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error { + return &InvalidPaginationTokenException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidPaginationTokenException) Code() string { + return "InvalidPaginationTokenException" +} + +// Message returns the exception's message. +func (s *InvalidPaginationTokenException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidPaginationTokenException) OrigErr() error { + return nil +} + +func (s *InvalidPaginationTokenException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidPaginationTokenException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidPaginationTokenException) RequestID() string { + return s.RespMetadata.RequestID +} + // An exception for trying to create or access sub-resource that is either invalid // or not supported. Gives http status code of 409. type InvalidTypeException struct { @@ -7529,6 +9070,118 @@ func (s *OptionStatus) SetUpdateVersion(v int64) *OptionStatus { return s } +// Specifies details of an outbound connection. +type OutboundCrossClusterSearchConnection struct { + _ struct{} `type:"structure"` + + // Specifies the connection alias for the outbound cross-cluster search connection. + ConnectionAlias *string `type:"string"` + + // Specifies the OutboundCrossClusterSearchConnectionStatus for the outbound + // connection. + ConnectionStatus *OutboundCrossClusterSearchConnectionStatus `type:"structure"` + + // Specifies the connection id for the outbound cross-cluster search connection. + CrossClusterSearchConnectionId *string `type:"string"` + + // Specifies the DomainInformation for the destination Elasticsearch domain. + DestinationDomainInfo *DomainInformation `type:"structure"` + + // Specifies the DomainInformation for the source Elasticsearch domain. + SourceDomainInfo *DomainInformation `type:"structure"` +} + +// String returns the string representation +func (s OutboundCrossClusterSearchConnection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutboundCrossClusterSearchConnection) GoString() string { + return s.String() +} + +// SetConnectionAlias sets the ConnectionAlias field's value. +func (s *OutboundCrossClusterSearchConnection) SetConnectionAlias(v string) *OutboundCrossClusterSearchConnection { + s.ConnectionAlias = &v + return s +} + +// SetConnectionStatus sets the ConnectionStatus field's value. +func (s *OutboundCrossClusterSearchConnection) SetConnectionStatus(v *OutboundCrossClusterSearchConnectionStatus) *OutboundCrossClusterSearchConnection { + s.ConnectionStatus = v + return s +} + +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *OutboundCrossClusterSearchConnection) SetCrossClusterSearchConnectionId(v string) *OutboundCrossClusterSearchConnection { + s.CrossClusterSearchConnectionId = &v + return s +} + +// SetDestinationDomainInfo sets the DestinationDomainInfo field's value. +func (s *OutboundCrossClusterSearchConnection) SetDestinationDomainInfo(v *DomainInformation) *OutboundCrossClusterSearchConnection { + s.DestinationDomainInfo = v + return s +} + +// SetSourceDomainInfo sets the SourceDomainInfo field's value. +func (s *OutboundCrossClusterSearchConnection) SetSourceDomainInfo(v *DomainInformation) *OutboundCrossClusterSearchConnection { + s.SourceDomainInfo = v + return s +} + +// Specifies the connection status of an outbound cross-cluster search connection. +type OutboundCrossClusterSearchConnectionStatus struct { + _ struct{} `type:"structure"` + + // Specifies verbose information for the outbound connection status. + Message *string `type:"string"` + + // The state code for outbound connection. This can be one of the following: + // + // * VALIDATING: The outbound connection request is being validated. + // + // * VALIDATION_FAILED: Validation failed for the connection request. + // + // * PENDING_ACCEPTANCE: Outbound connection request is validated and is + // not yet accepted by destination domain owner. + // + // * PROVISIONING: Outbound connection request is in process. + // + // * ACTIVE: Outbound connection is active and ready to use. + // + // * REJECTED: Outbound connection request is rejected by destination domain + // owner. + // + // * DELETING: Outbound connection deletion is in progress. + // + // * DELETED: Outbound connection is deleted and cannot be used further. + StatusCode *string `type:"string" enum:"OutboundCrossClusterSearchConnectionStatusCode"` +} + +// String returns the string representation +func (s OutboundCrossClusterSearchConnectionStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutboundCrossClusterSearchConnectionStatus) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *OutboundCrossClusterSearchConnectionStatus) SetMessage(v string) *OutboundCrossClusterSearchConnectionStatus { + s.Message = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *OutboundCrossClusterSearchConnectionStatus) SetStatusCode(v string) *OutboundCrossClusterSearchConnectionStatus { + s.StatusCode = &v + return s +} + // Basic information about a package. type PackageDetails struct { _ struct{} `type:"structure"` @@ -7789,6 +9442,74 @@ func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge return s } +// Container for the parameters to the RejectInboundCrossClusterSearchConnection +// operation. +type RejectInboundCrossClusterSearchConnectionInput struct { + _ struct{} `type:"structure"` + + // The id of the inbound connection that you want to reject. + // + // CrossClusterSearchConnectionId is a required field + CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s RejectInboundCrossClusterSearchConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RejectInboundCrossClusterSearchConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RejectInboundCrossClusterSearchConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RejectInboundCrossClusterSearchConnectionInput"} + if s.CrossClusterSearchConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId")) + } + if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *RejectInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *RejectInboundCrossClusterSearchConnectionInput { + s.CrossClusterSearchConnectionId = &v + return s +} + +// The result of a RejectInboundCrossClusterSearchConnection operation. Contains +// details of rejected inbound connection. +type RejectInboundCrossClusterSearchConnectionOutput struct { + _ struct{} `type:"structure"` + + // Specifies the InboundCrossClusterSearchConnection of rejected inbound connection. + CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"` +} + +// String returns the string representation +func (s RejectInboundCrossClusterSearchConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RejectInboundCrossClusterSearchConnectionOutput) GoString() string { + return s.String() +} + +// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value. +func (s *RejectInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *RejectInboundCrossClusterSearchConnectionOutput { + s.CrossClusterSearchConnection = v + return s +} + // Container for the parameters to the RemoveTags operation. Specify the ARN // for the Elasticsearch domain from which you want to remove the specified // TagKey. @@ -9434,6 +11155,26 @@ const ( ESWarmPartitionInstanceTypeUltrawarm1LargeElasticsearch = "ultrawarm1.large.elasticsearch" ) +const ( + // InboundCrossClusterSearchConnectionStatusCodePendingAcceptance is a InboundCrossClusterSearchConnectionStatusCode enum value + InboundCrossClusterSearchConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE" + + // InboundCrossClusterSearchConnectionStatusCodeApproved is a InboundCrossClusterSearchConnectionStatusCode enum value + InboundCrossClusterSearchConnectionStatusCodeApproved = "APPROVED" + + // InboundCrossClusterSearchConnectionStatusCodeRejecting is a InboundCrossClusterSearchConnectionStatusCode enum value + InboundCrossClusterSearchConnectionStatusCodeRejecting = "REJECTING" + + // InboundCrossClusterSearchConnectionStatusCodeRejected is a InboundCrossClusterSearchConnectionStatusCode enum value + InboundCrossClusterSearchConnectionStatusCodeRejected = "REJECTED" + + // InboundCrossClusterSearchConnectionStatusCodeDeleting is a InboundCrossClusterSearchConnectionStatusCode enum value + InboundCrossClusterSearchConnectionStatusCodeDeleting = "DELETING" + + // InboundCrossClusterSearchConnectionStatusCodeDeleted is a InboundCrossClusterSearchConnectionStatusCode enum value + InboundCrossClusterSearchConnectionStatusCodeDeleted = "DELETED" +) + // Type of Log File, it can be one of the following: // * INDEX_SLOW_LOGS: Index slow logs contain insert requests that took more // time than configured index query log threshold to execute. @@ -9472,6 +11213,32 @@ const ( OptionStateActive = "Active" ) +const ( + // OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE" + + // OutboundCrossClusterSearchConnectionStatusCodeValidating is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeValidating = "VALIDATING" + + // OutboundCrossClusterSearchConnectionStatusCodeValidationFailed is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeValidationFailed = "VALIDATION_FAILED" + + // OutboundCrossClusterSearchConnectionStatusCodeProvisioning is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeProvisioning = "PROVISIONING" + + // OutboundCrossClusterSearchConnectionStatusCodeActive is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeActive = "ACTIVE" + + // OutboundCrossClusterSearchConnectionStatusCodeRejected is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeRejected = "REJECTED" + + // OutboundCrossClusterSearchConnectionStatusCodeDeleting is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeDeleting = "DELETING" + + // OutboundCrossClusterSearchConnectionStatusCodeDeleted is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeDeleted = "DELETED" +) + const ( // PackageStatusCopying is a PackageStatus enum value PackageStatusCopying = "COPYING" diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/errors.go b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/errors.go index d0ca4fe8804..46f3ae0daa4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/errors.go @@ -43,6 +43,13 @@ const ( // of 500. ErrCodeInternalException = "InternalException" + // ErrCodeInvalidPaginationTokenException for service response error code + // "InvalidPaginationTokenException". + // + // The request processing has failed because of invalid pagination token provided + // by customer. Returns an HTTP status code of 400. + ErrCodeInvalidPaginationTokenException = "InvalidPaginationTokenException" + // ErrCodeInvalidTypeException for service response error code // "InvalidTypeException". // @@ -80,14 +87,15 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ - "AccessDeniedException": newErrorAccessDeniedException, - "BaseException": newErrorBaseException, - "ConflictException": newErrorConflictException, - "DisabledOperationException": newErrorDisabledOperationException, - "InternalException": newErrorInternalException, - "InvalidTypeException": newErrorInvalidTypeException, - "LimitExceededException": newErrorLimitExceededException, - "ResourceAlreadyExistsException": newErrorResourceAlreadyExistsException, - "ResourceNotFoundException": newErrorResourceNotFoundException, - "ValidationException": newErrorValidationException, + "AccessDeniedException": newErrorAccessDeniedException, + "BaseException": newErrorBaseException, + "ConflictException": newErrorConflictException, + "DisabledOperationException": newErrorDisabledOperationException, + "InternalException": newErrorInternalException, + "InvalidPaginationTokenException": newErrorInvalidPaginationTokenException, + "InvalidTypeException": newErrorInvalidTypeException, + "LimitExceededException": newErrorLimitExceededException, + "ResourceAlreadyExistsException": newErrorResourceAlreadyExistsException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ValidationException": newErrorValidationException, } diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go index c1903d5141d..f64920d3153 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go @@ -325,6 +325,9 @@ func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request. // across all listeners. If a target group is used by multiple actions for a // load balancer, it is counted as only one use. // +// * ErrCodeALPNPolicyNotSupportedException "ALPNPolicyNotFound" +// The specified ALPN policy is not supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener func (c *ELBV2) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) { req, out := c.CreateListenerRequest(input) @@ -2378,6 +2381,9 @@ func (c *ELBV2) ModifyListenerRequest(input *ModifyListenerInput) (req *request. // across all listeners. If a target group is used by multiple actions for a // load balancer, it is counted as only one use. // +// * ErrCodeALPNPolicyNotSupportedException "ALPNPolicyNotFound" +// The specified ALPN policy is not supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListener func (c *ELBV2) ModifyListener(input *ModifyListenerInput) (*ModifyListenerOutput, error) { req, out := c.ModifyListenerRequest(input) @@ -4143,6 +4149,23 @@ func (s *Cipher) SetPriority(v int64) *Cipher { type CreateListenerInput struct { _ struct{} `type:"structure"` + // [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) + // policy. You can specify one policy name. The following are the possible values: + // + // * HTTP1Only + // + // * HTTP2Only + // + // * HTTP2Optional + // + // * HTTP2Preferred + // + // * None + // + // For more information, see ALPN Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies) + // in the Network Load Balancers Guide. + AlpnPolicy []*string `type:"list"` + // [HTTPS and TLS listeners] The default certificate for the listener. You must // provide exactly one certificate. Set CertificateArn to the certificate ARN // but do not set IsDefault. @@ -4262,6 +4285,12 @@ func (s *CreateListenerInput) Validate() error { return nil } +// SetAlpnPolicy sets the AlpnPolicy field's value. +func (s *CreateListenerInput) SetAlpnPolicy(v []*string) *CreateListenerInput { + s.AlpnPolicy = v + return s +} + // SetCertificates sets the Certificates field's value. func (s *CreateListenerInput) SetCertificates(v []*Certificate) *CreateListenerInput { s.Certificates = v @@ -6360,6 +6389,10 @@ func (s *Limit) SetName(v string) *Limit { type Listener struct { _ struct{} `type:"structure"` + // [TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) + // policy. + AlpnPolicy []*string `type:"list"` + // [HTTPS or TLS listener] The default certificate for the listener. Certificates []*Certificate `type:"list"` @@ -6393,6 +6426,12 @@ func (s Listener) GoString() string { return s.String() } +// SetAlpnPolicy sets the AlpnPolicy field's value. +func (s *Listener) SetAlpnPolicy(v []*string) *Listener { + s.AlpnPolicy = v + return s +} + // SetCertificates sets the Certificates field's value. func (s *Listener) SetCertificates(v []*Certificate) *Listener { s.Certificates = v @@ -6762,6 +6801,23 @@ func (s *Matcher) SetHttpCode(v string) *Matcher { type ModifyListenerInput struct { _ struct{} `type:"structure"` + // [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) + // policy. You can specify one policy name. The following are the possible values: + // + // * HTTP1Only + // + // * HTTP2Only + // + // * HTTP2Optional + // + // * HTTP2Preferred + // + // * None + // + // For more information, see ALPN Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies) + // in the Network Load Balancers Guide. + AlpnPolicy []*string `type:"list"` + // [HTTPS and TLS listeners] The default certificate for the listener. You must // provide exactly one certificate. Set CertificateArn to the certificate ARN // but do not set IsDefault. @@ -6866,6 +6922,12 @@ func (s *ModifyListenerInput) Validate() error { return nil } +// SetAlpnPolicy sets the AlpnPolicy field's value. +func (s *ModifyListenerInput) SetAlpnPolicy(v []*string) *ModifyListenerInput { + s.AlpnPolicy = v + return s +} + // SetCertificates sets the Certificates field's value. func (s *ModifyListenerInput) SetCertificates(v []*Certificate) *ModifyListenerInput { s.Certificates = v @@ -8820,16 +8882,16 @@ type TargetGroupAttribute struct { // lb_cookie for Application Load Balancers or source_ip for Network Load // Balancers. // - // The following attributes are supported by Application Load Balancers if the - // target is not a Lambda function: + // The following attributes are supported only if the load balancer is an Application + // Load Balancer and the target is an instance or an IP address: // // * load_balancing.algorithm.type - The load balancing algorithm determines // how the load balancer selects targets when routing requests. The value // is round_robin or least_outstanding_requests. The default is round_robin. // // * slow_start.duration_seconds - The time period, in seconds, during which - // a newly registered target receives a linearly increasing share of the - // traffic to the target group. After this time period ends, the target receives + // a newly registered target receives an increasing share of the traffic + // to the target group. After this time period ends, the target receives // its full share of traffic. The range is 30-900 seconds (15 minutes). Slow // start mode is disabled by default. // @@ -8839,14 +8901,15 @@ type TargetGroupAttribute struct { // considered stale. The range is 1 second to 1 week (604800 seconds). The // default value is 1 day (86400 seconds). // - // The following attribute is supported only if the target is a Lambda function. + // The following attribute is supported only if the load balancer is an Application + // Load Balancer and the target is a Lambda function: // // * lambda.multi_value_headers.enabled - Indicates whether the request and - // response headers exchanged between the load balancer and the Lambda function - // include arrays of values or strings. The value is true or false. The default - // is false. If the value is false and the request contains a duplicate header - // field name or query parameter key, the load balancer uses the last value - // sent by the client. + // response headers that are exchanged between the load balancer and the + // Lambda function include arrays of values or strings. The value is true + // or false. The default is false. If the value is false and the request + // contains a duplicate header field name or query parameter key, the load + // balancer uses the last value sent by the client. // // The following attribute is supported only by Network Load Balancers: // diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go index fa10830ff9c..3a9ab86f1b9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go @@ -4,6 +4,12 @@ package elbv2 const ( + // ErrCodeALPNPolicyNotSupportedException for service response error code + // "ALPNPolicyNotFound". + // + // The specified ALPN policy is not supported. + ErrCodeALPNPolicyNotSupportedException = "ALPNPolicyNotFound" + // ErrCodeAllocationIdNotFoundException for service response error code // "AllocationIdNotFound". // 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 3633bd5f97e..b4ae20a0144 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 @@ -4373,6 +4373,11 @@ type Cluster struct { // in the EMR Management Guide. KerberosAttributes *KerberosAttributes `type:"structure"` + // The AWS KMS customer master key (CMK) used for encrypting log files. This + // attribute is only available with EMR version 5.30.0 and later, excluding + // EMR 6.0.0. + LogEncryptionKmsKeyId *string `type:"string"` + // The path to the Amazon S3 location where logs for this cluster are stored. LogUri *string `type:"string"` @@ -4537,6 +4542,12 @@ func (s *Cluster) SetKerberosAttributes(v *KerberosAttributes) *Cluster { return s } +// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. +func (s *Cluster) SetLogEncryptionKmsKeyId(v string) *Cluster { + s.LogEncryptionKmsKeyId = &v + return s +} + // SetLogUri sets the LogUri field's value. func (s *Cluster) SetLogUri(v string) *Cluster { s.LogUri = &v @@ -7985,6 +7996,11 @@ type JobFlowDetail struct { // of the job flow assume this role. JobFlowRole *string `type:"string"` + // The AWS KMS customer master key (CMK) used for encrypting log files. This + // attribute is only available with EMR version 5.30.0 and later, excluding + // EMR 6.0.0. + LogEncryptionKmsKeyId *string `type:"string"` + // The location in Amazon S3 where log files for the job are stored. LogUri *string `type:"string"` @@ -8082,6 +8098,12 @@ func (s *JobFlowDetail) SetJobFlowRole(v string) *JobFlowDetail { return s } +// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. +func (s *JobFlowDetail) SetLogEncryptionKmsKeyId(v string) *JobFlowDetail { + s.LogEncryptionKmsKeyId = &v + return s +} + // SetLogUri sets the LogUri field's value. func (s *JobFlowDetail) SetLogUri(v string) *JobFlowDetail { s.LogUri = &v @@ -10220,6 +10242,11 @@ type RunJobFlowInput struct { // in the EMR Management Guide. KerberosAttributes *KerberosAttributes `type:"structure"` + // The AWS KMS customer master key (CMK) used for encrypting log files. If a + // value is not provided, the logs will remain encrypted by AES-256. This attribute + // is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0. + LogEncryptionKmsKeyId *string `type:"string"` + // The location in Amazon S3 to write the log files of the job flow. If a value // is not provided, logs are not created. LogUri *string `type:"string"` @@ -10456,6 +10483,12 @@ func (s *RunJobFlowInput) SetKerberosAttributes(v *KerberosAttributes) *RunJobFl return s } +// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. +func (s *RunJobFlowInput) SetLogEncryptionKmsKeyId(v string) *RunJobFlowInput { + s.LogEncryptionKmsKeyId = &v + return s +} + // SetLogUri sets the LogUri field's value. func (s *RunJobFlowInput) SetLogUri(v string) *RunJobFlowInput { s.LogUri = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go b/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go index 91aa12c43ec..b0a9a9d8c23 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go @@ -1683,7 +1683,24 @@ func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *reques // UpdateFileSystem API operation for Amazon FSx. // -// Updates a file system configuration. +// Use this operation to update the configuration of an existing Amazon FSx +// file system. For an Amazon FSx for Lustre file system, you can update only +// the WeeklyMaintenanceStartTime. For an Amazon for Windows File Server file +// system, you can update the following properties: +// +// * AutomaticBackupRetentionDays +// +// * DailyAutomaticBackupStartTime +// +// * SelfManagedActiveDirectoryConfiguration +// +// * StorageCapacity +// +// * ThroughputCapacity +// +// * WeeklyMaintenanceStartTime +// +// You can update multiple properties in a single request. // // 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 @@ -1713,6 +1730,10 @@ func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *reques // * MissingFileSystemConfiguration // A file system configuration is required for this operation. // +// * ServiceLimitExceeded +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting AWS Support. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystem func (c *FSx) UpdateFileSystem(input *UpdateFileSystemInput) (*UpdateFileSystemOutput, error) { req, out := c.UpdateFileSystemRequest(input) @@ -1835,6 +1856,127 @@ func (s *ActiveDirectoryError) RequestID() string { return s.RespMetadata.RequestID } +// Describes a specific Amazon FSx Administrative Action for the current Windows +// file system. +type AdministrativeAction struct { + _ struct{} `type:"structure"` + + // Describes the type of administrative action, as follows: + // + // * FILE_SYSTEM_UPDATE - A file system update administrative action initiated + // by the user from the Amazon FSx console, API (UpdateFileSystem), or CLI + // (update-file-system). A + // + // * STORAGE_OPTIMIZATION - Once the FILE_SYSTEM_UPDATE task to increase + // a file system's storage capacity completes successfully, a STORAGE_OPTIMIZATION + // task starts. Storage optimization is the process of migrating the file + // system data to the new, larger disks. You can track the storage migration + // progress using the ProgressPercent property. When STORAGE_OPTIMIZATION + // completes successfully, the parent FILE_SYSTEM_UPDATE action status changes + // to COMPLETED. For more information, see Managing Storage Capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html). + AdministrativeActionType *string `type:"string" enum:"AdministrativeActionType"` + + // Provides information about a failed administrative action. + FailureDetails *AdministrativeActionFailureDetails `type:"structure"` + + // Provides the percent complete of a STORAGE_OPTIMIZATION administrative action. + ProgressPercent *int64 `type:"integer"` + + // Time that the administrative action request was received. + RequestTime *time.Time `type:"timestamp"` + + // Describes the status of the administrative action, as follows: + // + // * FAILED - Amazon FSx failed to process the administrative action successfully. + // + // * IN_PROGRESS - Amazon FSx is processing the administrative action. + // + // * PENDING - Amazon FSx is waiting to process the administrative action. + // + // * COMPLETED - Amazon FSx has finished processing the administrative task. + // + // * UPDATED_OPTIMIZING - For a storage capacity increase update, Amazon + // FSx has updated the file system with the new storage capacity, and is + // now performing the storage optimization process. For more information, + // see Managing Storage Capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html). + Status *string `type:"string" enum:"Status"` + + // Describes the target StorageCapacity or ThroughputCapacity value provided + // in the UpdateFileSystem operation. Returned for FILE_SYSTEM_UPDATE administrative + // actions. + TargetFileSystemValues *FileSystem `type:"structure"` +} + +// String returns the string representation +func (s AdministrativeAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdministrativeAction) GoString() string { + return s.String() +} + +// SetAdministrativeActionType sets the AdministrativeActionType field's value. +func (s *AdministrativeAction) SetAdministrativeActionType(v string) *AdministrativeAction { + s.AdministrativeActionType = &v + return s +} + +// SetFailureDetails sets the FailureDetails field's value. +func (s *AdministrativeAction) SetFailureDetails(v *AdministrativeActionFailureDetails) *AdministrativeAction { + s.FailureDetails = v + return s +} + +// SetProgressPercent sets the ProgressPercent field's value. +func (s *AdministrativeAction) SetProgressPercent(v int64) *AdministrativeAction { + s.ProgressPercent = &v + return s +} + +// SetRequestTime sets the RequestTime field's value. +func (s *AdministrativeAction) SetRequestTime(v time.Time) *AdministrativeAction { + s.RequestTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AdministrativeAction) SetStatus(v string) *AdministrativeAction { + s.Status = &v + return s +} + +// SetTargetFileSystemValues sets the TargetFileSystemValues field's value. +func (s *AdministrativeAction) SetTargetFileSystemValues(v *FileSystem) *AdministrativeAction { + s.TargetFileSystemValues = v + return s +} + +// Provides information about a failed administrative action. +type AdministrativeActionFailureDetails struct { + _ struct{} `type:"structure"` + + // Error message providing details about the failure. + Message *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s AdministrativeActionFailureDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdministrativeActionFailureDetails) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *AdministrativeActionFailureDetails) SetMessage(v string) *AdministrativeActionFailureDetails { + s.Message = &v + return s +} + // A backup of an Amazon FSx for Windows File Server file system. You can create // a new file system from a backup to protect against data loss. type Backup struct { @@ -2885,7 +3027,7 @@ type CreateFileSystemInput struct { // * Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 // and MULTI_AZ_1 Windows file system deployment types. // - // Default value is SSD. For more information, see Storage Type Options (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-tco.html#saz-maz-storage-type) + // Default value is SSD. For more information, see Storage Type Options (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options) // in the Amazon FSx for Windows User Guide. StorageType *string `type:"string" enum:"StorageType"` @@ -3095,7 +3237,9 @@ type CreateFileSystemLustreConfiguration struct { // Valid values are 50, 100, 200. PerUnitStorageThroughput *int64 `min:"50" type:"integer"` - // The preferred time to perform weekly maintenance, in the UTC time zone. + // The preferred start time to perform weekly maintenance, formatted d:HH:MM + // in the UTC time zone, where d is the weekday number, from 1 through 7, beginning + // with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -3258,7 +3402,8 @@ type CreateFileSystemWindowsConfiguration struct { ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` // The preferred start time to perform weekly maintenance, formatted d:HH:MM - // in the UTC time zone. + // in the UTC time zone, where d is the weekday number, from 1 through 7, beginning + // with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -4505,6 +4650,11 @@ func (s *DescribeFileSystemsOutput) SetNextToken(v string) *DescribeFileSystemsO type FileSystem struct { _ struct{} `type:"structure"` + // A list of administrative actions for the file system that are in process + // or waiting to be processed. Administrative actions describe changes to the + // Windows file system that you have initiated using the UpdateFileSystem action. + AdministrativeActions []*AdministrativeAction `type:"list"` + // The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), // also known as Unix time. CreationTime *time.Time `type:"timestamp"` @@ -4616,6 +4766,12 @@ func (s FileSystem) GoString() string { return s.String() } +// SetAdministrativeActions sets the AdministrativeActions field's value. +func (s *FileSystem) SetAdministrativeActions(v []*AdministrativeAction) *FileSystem { + s.AdministrativeActions = v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *FileSystem) SetCreationTime(v time.Time) *FileSystem { s.CreationTime = &v @@ -5332,7 +5488,9 @@ type LustreFileSystemConfiguration struct { // are 50, 100, 200. PerUnitStorageThroughput *int64 `min:"50" type:"integer"` - // The UTC time that you want to begin your weekly maintenance window. + // The preferred start time to perform weekly maintenance, formatted d:HH:MM + // in the UTC time zone. d is the weekday number, from 1 through 7, beginning + // with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -5836,7 +5994,7 @@ func (s *SelfManagedActiveDirectoryConfiguration) SetUserName(v string) *SelfMan } // The configuration that Amazon FSx uses to join the Windows File Server instance -// to the self-managed Microsoft Active Directory (AD) directory. +// to a self-managed Microsoft Active Directory (AD) directory. type SelfManagedActiveDirectoryConfigurationUpdates struct { _ struct{} `type:"structure"` @@ -6237,12 +6395,12 @@ func (s UntagResourceOutput) GoString() string { type UpdateFileSystemInput struct { _ struct{} `type:"structure"` - // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to - // ensure idempotent updates. This string is automatically filled on your behalf - // when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK. + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // updates. This string is automatically filled on your behalf when you use + // the AWS Command Line Interface (AWS CLI) or an AWS SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // The globally unique ID of the file system, assigned by Amazon FSx. + // Identifies the file system that you are updating. // // FileSystemId is a required field FileSystemId *string `min:"11" type:"string" required:"true"` @@ -6251,9 +6409,18 @@ type UpdateFileSystemInput struct { // UpdateFileSystem operation. LustreConfiguration *UpdateFileSystemLustreConfiguration `type:"structure"` - // The configuration update for this Microsoft Windows file system. The only - // supported options are for backup and maintenance and for self-managed Active - // Directory configuration. + // Use this parameter to increase the storage capacity of an Amazon FSx for + // Windows File Server file system. Specifies the storage capacity target value, + // GiB, for the file system you're updating. The storage capacity target value + // must be at least 10 percent (%) greater than the current storage capacity + // value. In order to increase storage capacity, the file system needs to have + // at least 16 MB/s of throughput capacity. You cannot make a storage capacity + // increase request if there is an existing storage capacity increase request + // in progress. For more information, see Managing Storage Capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html). + StorageCapacity *int64 `type:"integer"` + + // The configuration updates for an Amazon FSx for Windows File Server file + // system. WindowsConfiguration *UpdateFileSystemWindowsConfiguration `type:"structure"` } @@ -6314,6 +6481,12 @@ func (s *UpdateFileSystemInput) SetLustreConfiguration(v *UpdateFileSystemLustre return s } +// SetStorageCapacity sets the StorageCapacity field's value. +func (s *UpdateFileSystemInput) SetStorageCapacity(v int64) *UpdateFileSystemInput { + s.StorageCapacity = &v + return s +} + // SetWindowsConfiguration sets the WindowsConfiguration field's value. func (s *UpdateFileSystemInput) SetWindowsConfiguration(v *UpdateFileSystemWindowsConfiguration) *UpdateFileSystemInput { s.WindowsConfiguration = v @@ -6325,7 +6498,9 @@ func (s *UpdateFileSystemInput) SetWindowsConfiguration(v *UpdateFileSystemWindo type UpdateFileSystemLustreConfiguration struct { _ struct{} `type:"structure"` - // The preferred time to perform weekly maintenance, in the UTC time zone. + // The preferred start time to perform weekly maintenance, formatted d:HH:MM + // in the UTC time zone. d is the weekday number, from 1 through 7, beginning + // with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -6382,25 +6557,38 @@ func (s *UpdateFileSystemOutput) SetFileSystem(v *FileSystem) *UpdateFileSystemO return s } -// Updates the Microsoft Windows configuration for an existing Amazon FSx for -// Windows File Server file system. Amazon FSx overwrites existing properties -// with non-null values provided in the request. If you don't specify a non-null -// value for a property, that property is not updated. +// Updates the configuration for an existing Amazon FSx for Windows File Server +// file system. Amazon FSx only overwrites existing properties with non-null +// values provided in the request. type UpdateFileSystemWindowsConfiguration struct { _ struct{} `type:"structure"` - // The number of days to retain automatic backups. Setting this to 0 disables - // automatic backups. You can retain automatic backups for a maximum of 35 days. + // The number of days to retain automatic daily backups. Setting this to zero + // (0) disables automatic daily backups. You can retain automatic daily backups + // for a maximum of 35 days. For more information, see Working with Automatic + // Daily Backups (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#automatic-backups). AutomaticBackupRetentionDays *int64 `type:"integer"` - // The preferred time to take daily automatic backups, in the UTC time zone. + // The preferred time to start the daily automatic backup, in the UTC time zone, + // for example, 02:00 DailyAutomaticBackupStartTime *string `min:"5" type:"string"` // The configuration Amazon FSx uses to join the Windows File Server instance - // to the self-managed Microsoft AD directory. + // to the self-managed Microsoft AD directory. You cannot make a self-managed + // Microsoft AD update request if there is an existing self-managed Microsoft + // AD update request in progress. SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfigurationUpdates `type:"structure"` - // The preferred time to perform weekly maintenance, in the UTC time zone. + // Sets the target value for a file system's throughput capacity, in MB/s, that + // you are updating the file system to. Valid values are 8, 16, 32, 64, 128, + // 256, 512, 1024, 2048. You cannot make a throughput capacity update request + // if there is an existing throughput capacity update request in progress. For + // more information, see Managing Throughput Capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-throughput-capacity.html). + ThroughputCapacity *int64 `min:"8" type:"integer"` + + // The preferred start time to perform weekly maintenance, formatted d:HH:MM + // in the UTC time zone. Where d is the weekday number, from 1 through 7, with + // 1 = Monday and 7 = Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -6420,6 +6608,9 @@ func (s *UpdateFileSystemWindowsConfiguration) Validate() error { if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) } + if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { + invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) + } if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) } @@ -6453,6 +6644,12 @@ func (s *UpdateFileSystemWindowsConfiguration) SetSelfManagedActiveDirectoryConf return s } +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *UpdateFileSystemWindowsConfiguration) SetThroughputCapacity(v int64) *UpdateFileSystemWindowsConfiguration { + s.ThroughputCapacity = &v + return s +} + // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. func (s *UpdateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemWindowsConfiguration { s.WeeklyMaintenanceStartTime = &v @@ -6541,7 +6738,9 @@ type WindowsFileSystemConfiguration struct { // The throughput of an Amazon FSx file system, measured in megabytes per second. ThroughputCapacity *int64 `min:"8" type:"integer"` - // The preferred time to perform weekly maintenance, in the UTC time zone. + // The preferred start time to perform weekly maintenance, formatted d:HH:MM + // in the UTC time zone. d is the weekday number, from 1 through 7, beginning + // with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -6647,6 +6846,27 @@ const ( ActiveDirectoryErrorTypeInvalidDomainStage = "INVALID_DOMAIN_STAGE" ) +// Describes the type of administrative action, as follows: +// +// * FILE_SYSTEM_UPDATE - A file system update administrative action initiated +// by the user from the Amazon FSx console, API (UpdateFileSystem), or CLI +// (update-file-system). A +// +// * STORAGE_OPTIMIZATION - Once the FILE_SYSTEM_UPDATE task to increase +// a file system's storage capacity completes successfully, a STORAGE_OPTIMIZATION +// task starts. Storage optimization is the process of migrating the file +// system data to the new, larger disks. You can track the storage migration +// progress using the ProgressPercent property. When STORAGE_OPTIMIZATION +// completes successfully, the parent FILE_SYSTEM_UPDATE action status changes +// to COMPLETED. For more information, see Managing Storage Capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html). +const ( + // AdministrativeActionTypeFileSystemUpdate is a AdministrativeActionType enum value + AdministrativeActionTypeFileSystemUpdate = "FILE_SYSTEM_UPDATE" + + // AdministrativeActionTypeStorageOptimization is a AdministrativeActionType enum value + AdministrativeActionTypeStorageOptimization = "STORAGE_OPTIMIZATION" +) + // The lifecycle status of the backup. const ( // BackupLifecycleAvailable is a BackupLifecycle enum value @@ -6791,6 +7011,23 @@ const ( ServiceLimitTotalUserInitiatedBackups = "TOTAL_USER_INITIATED_BACKUPS" ) +const ( + // StatusFailed is a Status enum value + StatusFailed = "FAILED" + + // StatusInProgress is a Status enum value + StatusInProgress = "IN_PROGRESS" + + // StatusPending is a Status enum value + StatusPending = "PENDING" + + // StatusCompleted is a Status enum value + StatusCompleted = "COMPLETED" + + // StatusUpdatedOptimizing is a Status enum value + StatusUpdatedOptimizing = "UPDATED_OPTIMIZING" +) + // The storage type for your Amazon FSx file system. const ( // StorageTypeSsd is a StorageType enum value 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 58312d39b23..3b645e18131 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 @@ -24582,7 +24582,9 @@ type GetUserDefinedFunctionsInput struct { // If none is provided, the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the catalog database where the functions are located. + // The name of the catalog database where the functions are located. If none + // is provided, functions from all the databases across the catalog will be + // returned. DatabaseName *string `min:"1" type:"string"` // The maximum number of functions to return in one response. @@ -33794,6 +33796,9 @@ type UserDefinedFunction struct { // The time at which the function was created. CreateTime *time.Time `type:"timestamp"` + // The name of the database where the function resides. + DatabaseName *string `min:"1" type:"string"` + // The name of the function. FunctionName *string `min:"1" type:"string"` @@ -33829,6 +33834,12 @@ func (s *UserDefinedFunction) SetCreateTime(v time.Time) *UserDefinedFunction { return s } +// SetDatabaseName sets the DatabaseName field's value. +func (s *UserDefinedFunction) SetDatabaseName(v string) *UserDefinedFunction { + s.DatabaseName = &v + return s +} + // SetFunctionName sets the FunctionName field's value. func (s *UserDefinedFunction) SetFunctionName(v string) *UserDefinedFunction { s.FunctionName = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go b/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go index 5eb039eeb01..e1f8ce0b2aa 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go @@ -4,6 +4,7 @@ package guardduty import ( "fmt" + "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" @@ -3514,8 +3515,8 @@ func (c *GuardDuty) ListMembersRequest(input *ListMembersInput) (req *request.Re // ListMembers API operation for Amazon GuardDuty. // -// Lists details about associated member accounts for the current GuardDuty -// master account. +// Lists details about all member accounts for the current GuardDuty master +// account. // // 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 @@ -5191,6 +5192,41 @@ func (s AcceptInvitationOutput) GoString() string { return s.String() } +// Contains information on the current access control policies for the bucket. +type AccessControlList struct { + _ struct{} `type:"structure"` + + // A value that indicates whether public read access for the bucket is enabled + // through an Access Control List (ACL). + AllowsPublicReadAccess *bool `locationName:"allowsPublicReadAccess" type:"boolean"` + + // A value that indicates whether public write access for the bucket is enabled + // through an Access Control List (ACL). + AllowsPublicWriteAccess *bool `locationName:"allowsPublicWriteAccess" type:"boolean"` +} + +// String returns the string representation +func (s AccessControlList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessControlList) GoString() string { + return s.String() +} + +// SetAllowsPublicReadAccess sets the AllowsPublicReadAccess field's value. +func (s *AccessControlList) SetAllowsPublicReadAccess(v bool) *AccessControlList { + s.AllowsPublicReadAccess = &v + return s +} + +// SetAllowsPublicWriteAccess sets the AllowsPublicWriteAccess field's value. +func (s *AccessControlList) SetAllowsPublicWriteAccess(v bool) *AccessControlList { + s.AllowsPublicWriteAccess = &v + return s +} + // Contains information about the access keys. type AccessKeyDetails struct { _ struct{} `type:"structure"` @@ -5301,6 +5337,30 @@ func (s *AccountDetail) SetEmail(v string) *AccountDetail { return s } +// Contains information about the account level permissions on the S3 bucket. +type AccountLevelPermissions struct { + _ struct{} `type:"structure"` + + // Describes the S3 Block Public Access settings of the bucket's parent account. + BlockPublicAccess *BlockPublicAccess `locationName:"blockPublicAccess" type:"structure"` +} + +// String returns the string representation +func (s AccountLevelPermissions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountLevelPermissions) GoString() string { + return s.String() +} + +// SetBlockPublicAccess sets the BlockPublicAccess field's value. +func (s *AccountLevelPermissions) SetBlockPublicAccess(v *BlockPublicAccess) *AccountLevelPermissions { + s.BlockPublicAccess = v + return s +} + // Contains information about actions. type Action struct { _ struct{} `type:"structure"` @@ -5585,6 +5645,137 @@ func (s *BadRequestException) RequestID() string { return s.RespMetadata.RequestID } +// Contains information on how the bucker owner's S3 Block Public Access settings +// are being applied to the S3 bucket. See S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html) +// for more information. +type BlockPublicAccess struct { + _ struct{} `type:"structure"` + + // Indicates if S3 Block Public Access is set to BlockPublicAcls. + BlockPublicAcls *bool `locationName:"blockPublicAcls" type:"boolean"` + + // Indicates if S3 Block Public Access is set to BlockPublicPolicy. + BlockPublicPolicy *bool `locationName:"blockPublicPolicy" type:"boolean"` + + // Indicates if S3 Block Public Access is set to IgnorePublicAcls. + IgnorePublicAcls *bool `locationName:"ignorePublicAcls" type:"boolean"` + + // Indicates if S3 Block Public Access is set to RestrictPublicBuckets. + RestrictPublicBuckets *bool `locationName:"restrictPublicBuckets" type:"boolean"` +} + +// String returns the string representation +func (s BlockPublicAccess) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BlockPublicAccess) GoString() string { + return s.String() +} + +// SetBlockPublicAcls sets the BlockPublicAcls field's value. +func (s *BlockPublicAccess) SetBlockPublicAcls(v bool) *BlockPublicAccess { + s.BlockPublicAcls = &v + return s +} + +// SetBlockPublicPolicy sets the BlockPublicPolicy field's value. +func (s *BlockPublicAccess) SetBlockPublicPolicy(v bool) *BlockPublicAccess { + s.BlockPublicPolicy = &v + return s +} + +// SetIgnorePublicAcls sets the IgnorePublicAcls field's value. +func (s *BlockPublicAccess) SetIgnorePublicAcls(v bool) *BlockPublicAccess { + s.IgnorePublicAcls = &v + return s +} + +// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value. +func (s *BlockPublicAccess) SetRestrictPublicBuckets(v bool) *BlockPublicAccess { + s.RestrictPublicBuckets = &v + return s +} + +// Contains information about the bucket level permissions for the S3 bucket. +type BucketLevelPermissions struct { + _ struct{} `type:"structure"` + + // Contains information on how Access Control Policies are applied to the bucket. + AccessControlList *AccessControlList `locationName:"accessControlList" type:"structure"` + + // Contains information on which account level S3 Block Public Access settings + // are applied to the S3 bucket. + BlockPublicAccess *BlockPublicAccess `locationName:"blockPublicAccess" type:"structure"` + + // Contains information on the bucket policies for the S3 bucket. + BucketPolicy *BucketPolicy `locationName:"bucketPolicy" type:"structure"` +} + +// String returns the string representation +func (s BucketLevelPermissions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BucketLevelPermissions) GoString() string { + return s.String() +} + +// SetAccessControlList sets the AccessControlList field's value. +func (s *BucketLevelPermissions) SetAccessControlList(v *AccessControlList) *BucketLevelPermissions { + s.AccessControlList = v + return s +} + +// SetBlockPublicAccess sets the BlockPublicAccess field's value. +func (s *BucketLevelPermissions) SetBlockPublicAccess(v *BlockPublicAccess) *BucketLevelPermissions { + s.BlockPublicAccess = v + return s +} + +// SetBucketPolicy sets the BucketPolicy field's value. +func (s *BucketLevelPermissions) SetBucketPolicy(v *BucketPolicy) *BucketLevelPermissions { + s.BucketPolicy = v + return s +} + +// Contains information on the current bucket policies for the S3 bucket. +type BucketPolicy struct { + _ struct{} `type:"structure"` + + // A value that indicates whether public read access for the bucket is enabled + // through a bucket policy. + AllowsPublicReadAccess *bool `locationName:"allowsPublicReadAccess" type:"boolean"` + + // A value that indicates whether public write access for the bucket is enabled + // through a bucket policy. + AllowsPublicWriteAccess *bool `locationName:"allowsPublicWriteAccess" type:"boolean"` +} + +// String returns the string representation +func (s BucketPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BucketPolicy) GoString() string { + return s.String() +} + +// SetAllowsPublicReadAccess sets the AllowsPublicReadAccess field's value. +func (s *BucketPolicy) SetAllowsPublicReadAccess(v bool) *BucketPolicy { + s.AllowsPublicReadAccess = &v + return s +} + +// SetAllowsPublicWriteAccess sets the AllowsPublicWriteAccess field's value. +func (s *BucketPolicy) SetAllowsPublicWriteAccess(v bool) *BucketPolicy { + s.AllowsPublicWriteAccess = &v + return s +} + // Contains information about the city associated with the IP address. type City struct { _ struct{} `type:"structure"` @@ -6162,7 +6353,7 @@ type CreateIPSetInput struct { // Format is a required field Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"` - // The URI of the file that contains the IPSet. For example: . + // The URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key. // // Location is a required field Location *string `locationName:"location" min:"1" type:"string" required:"true"` @@ -6587,7 +6778,7 @@ type CreateThreatIntelSetInput struct { // Format is a required field Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"` - // The URI of the file that contains the ThreatIntelSet. For example: . + // The URI of the file that contains the ThreatIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key. // // Location is a required field Location *string `locationName:"location" min:"1" type:"string" required:"true"` @@ -6787,6 +6978,42 @@ func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccoun return s } +// Contains information on the server side encryption method used in the S3 +// bucket. See S3 Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/atest/dev/serv-side-encryption.html) +// for more information. +type DefaultServerSideEncryption struct { + _ struct{} `type:"structure"` + + // The type of encryption used for objects within the S3 bucket. + EncryptionType *string `locationName:"encryptionType" type:"string"` + + // The Amazon Resource Name (ARN) of the KMS encryption key. Only available + // if the bucket EncryptionType is aws:kms. + KmsMasterKeyArn *string `locationName:"kmsMasterKeyArn" type:"string"` +} + +// String returns the string representation +func (s DefaultServerSideEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefaultServerSideEncryption) GoString() string { + return s.String() +} + +// SetEncryptionType sets the EncryptionType field's value. +func (s *DefaultServerSideEncryption) SetEncryptionType(v string) *DefaultServerSideEncryption { + s.EncryptionType = &v + return s +} + +// SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value. +func (s *DefaultServerSideEncryption) SetKmsMasterKeyArn(v string) *DefaultServerSideEncryption { + s.KmsMasterKeyArn = &v + return s +} + type DeleteDetectorInput struct { _ struct{} `type:"structure"` @@ -8644,7 +8871,7 @@ type GetIPSetOutput struct { // Format is a required field Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"` - // The URI of the file that contains the IPSet. For example: . + // The URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key. // // Location is a required field Location *string `locationName:"location" min:"1" type:"string" required:"true"` @@ -8968,7 +9195,7 @@ type GetThreatIntelSetOutput struct { // Format is a required field Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"` - // The URI of the file that contains the ThreatIntelSet. For example: . + // The URI of the file that contains the ThreatIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key. // // Location is a required field Location *string `locationName:"location" min:"1" type:"string" required:"true"` @@ -9632,8 +9859,6 @@ type ListFindingsInput struct { // // * resource.instanceDetails.instanceId // - // * resource.instanceDetails.outpostArn - // // * resource.instanceDetails.networkInterfaces.ipv6Addresses // // * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress @@ -9684,8 +9909,6 @@ type ListFindingsInput struct { // // * service.action.networkConnectionAction.protocol // - // * service.action.networkConnectionAction.localIpDetails.ipAddressV4 - // // * service.action.networkConnectionAction.remoteIpDetails.city.cityName // // * service.action.networkConnectionAction.remoteIpDetails.country.countryName @@ -10023,10 +10246,8 @@ type ListMembersInput struct { // from the previous response to continue listing data. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - // Specifies what member accounts the response includes based on their relationship - // status with the master account. The default value is "true". If set to "false" - // the response includes all existing member accounts (including members who - // haven't been invited yet or have been disassociated). + // Specifies whether to only return associated members or to return all members + // (including members who haven't been invited yet or have been disassociated). OnlyAssociated *string `location:"querystring" locationName:"onlyAssociated" type:"string"` } @@ -10898,6 +11119,64 @@ func (s *Organization) SetOrg(v string) *Organization { return s } +// Contains information on the owner of the bucket. +type Owner struct { + _ struct{} `type:"structure"` + + // The canonical user ID of the bucket owner. For information about locating + // your canonical user ID see Finding Your Account Canonical User ID. (https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId) + Id *string `locationName:"id" type:"string"` +} + +// String returns the string representation +func (s Owner) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Owner) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *Owner) SetId(v string) *Owner { + s.Id = &v + return s +} + +// Contains information about how permissions are configured for the S3 bucket. +type PermissionConfiguration struct { + _ struct{} `type:"structure"` + + // Contains information about the account level permissions on the S3 bucket. + AccountLevelPermissions *AccountLevelPermissions `locationName:"accountLevelPermissions" type:"structure"` + + // Contains information about the bucket level permissions for the S3 bucket. + BucketLevelPermissions *BucketLevelPermissions `locationName:"bucketLevelPermissions" type:"structure"` +} + +// String returns the string representation +func (s PermissionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PermissionConfiguration) GoString() string { + return s.String() +} + +// SetAccountLevelPermissions sets the AccountLevelPermissions field's value. +func (s *PermissionConfiguration) SetAccountLevelPermissions(v *AccountLevelPermissions) *PermissionConfiguration { + s.AccountLevelPermissions = v + return s +} + +// SetBucketLevelPermissions sets the BucketLevelPermissions field's value. +func (s *PermissionConfiguration) SetBucketLevelPermissions(v *BucketLevelPermissions) *PermissionConfiguration { + s.BucketLevelPermissions = v + return s +} + // Contains information about the PORT_PROBE action described in the finding. type PortProbeAction struct { _ struct{} `type:"structure"` @@ -11040,6 +11319,40 @@ func (s *ProductCode) SetProductType(v string) *ProductCode { return s } +// Describes the public access policies that apply to the S3 bucket. +type PublicAccess struct { + _ struct{} `type:"structure"` + + // Describes the effective permission on this bucket after factoring all attached + // policies. + EffectivePermission *string `locationName:"effectivePermission" type:"string"` + + // Contains information about how permissions are configured for the S3 bucket. + PermissionConfiguration *PermissionConfiguration `locationName:"permissionConfiguration" type:"structure"` +} + +// String returns the string representation +func (s PublicAccess) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PublicAccess) GoString() string { + return s.String() +} + +// SetEffectivePermission sets the EffectivePermission field's value. +func (s *PublicAccess) SetEffectivePermission(v string) *PublicAccess { + s.EffectivePermission = &v + return s +} + +// SetPermissionConfiguration sets the PermissionConfiguration field's value. +func (s *PublicAccess) SetPermissionConfiguration(v *PermissionConfiguration) *PublicAccess { + s.PermissionConfiguration = v + return s +} + // Contains information about the remote IP address of the connection. type RemoteIpDetails struct { _ struct{} `type:"structure"` @@ -11148,6 +11461,9 @@ type Resource struct { // The type of AWS resource. ResourceType *string `locationName:"resourceType" type:"string"` + + // Contains information on the S3 bucket. + S3BucketDetails []*S3BucketDetail `locationName:"s3BucketDetails" type:"list"` } // String returns the string representation @@ -11178,6 +11494,98 @@ func (s *Resource) SetResourceType(v string) *Resource { return s } +// SetS3BucketDetails sets the S3BucketDetails field's value. +func (s *Resource) SetS3BucketDetails(v []*S3BucketDetail) *Resource { + s.S3BucketDetails = v + return s +} + +type S3BucketDetail struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the S3 bucket. + Arn *string `locationName:"arn" type:"string"` + + // The date and time the bucket was created at. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // Describes the server side encryption method used in the S3 bucket. + DefaultServerSideEncryption *DefaultServerSideEncryption `locationName:"defaultServerSideEncryption" type:"structure"` + + // The name of the S3 bucket. + Name *string `locationName:"name" type:"string"` + + // The owner of the S3 bucket. + Owner *Owner `locationName:"owner" type:"structure"` + + // Describes the public access policies that apply to the S3 bucket. + PublicAccess *PublicAccess `locationName:"publicAccess" type:"structure"` + + // All tags attached to the S3 bucket + Tags []*Tag `locationName:"tags" type:"list"` + + // Describes whether the bucket is a source or destination bucket. + Type *string `locationName:"type" type:"string"` +} + +// String returns the string representation +func (s S3BucketDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3BucketDetail) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *S3BucketDetail) SetArn(v string) *S3BucketDetail { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *S3BucketDetail) SetCreatedAt(v time.Time) *S3BucketDetail { + s.CreatedAt = &v + return s +} + +// SetDefaultServerSideEncryption sets the DefaultServerSideEncryption field's value. +func (s *S3BucketDetail) SetDefaultServerSideEncryption(v *DefaultServerSideEncryption) *S3BucketDetail { + s.DefaultServerSideEncryption = v + return s +} + +// SetName sets the Name field's value. +func (s *S3BucketDetail) SetName(v string) *S3BucketDetail { + s.Name = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *S3BucketDetail) SetOwner(v *Owner) *S3BucketDetail { + s.Owner = v + return s +} + +// SetPublicAccess sets the PublicAccess field's value. +func (s *S3BucketDetail) SetPublicAccess(v *PublicAccess) *S3BucketDetail { + s.PublicAccess = v + return s +} + +// SetTags sets the Tags field's value. +func (s *S3BucketDetail) SetTags(v []*Tag) *S3BucketDetail { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *S3BucketDetail) SetType(v string) *S3BucketDetail { + s.Type = &v + return s +} + // Contains information about the security groups associated with the EC2 instance. type SecurityGroup struct { _ struct{} `type:"structure"` @@ -12153,7 +12561,7 @@ type UpdateIPSetInput struct { // IpSetId is a required field IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"` - // The updated URI of the file that contains the IPSet. For example: . + // The updated URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key. Location *string `locationName:"location" min:"1" type:"string"` // The unique ID that specifies the IPSet that you want to update. @@ -12406,7 +12814,8 @@ type UpdateThreatIntelSetInput struct { // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - // The updated URI of the file that contains the ThreateIntelSet. For example: . + // The updated URI of the file that contains the ThreateIntelSet. For example: + // https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key. Location *string `locationName:"location" min:"1" type:"string"` // The unique ID that specifies the ThreatIntelSet that you want to update. diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/api.go b/vendor/github.com/aws/aws-sdk-go/service/iam/api.go index eb606e83573..1a854732b6b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/api.go @@ -5326,8 +5326,8 @@ func (c *IAM) GenerateServiceLastAccessedDetailsRequest(input *GenerateServiceLa // see Evaluating Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-basics) // in the IAM User Guide. // -// For more information about service last accessed data, see Reducing Policy -// Scope by Viewing User Activity (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html) +// For more information about service and action last accessed data, see Reducing +// Permissions Using Service Last Accessed Data (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html) // in the IAM User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -7410,6 +7410,15 @@ func (c *IAM) GetServiceLastAccessedDetailsRequest(input *GetServiceLastAccessed // // By default, the list is sorted by service namespace. // +// If you specified ACTION_LEVEL granularity when you generated the report, +// this operation returns service and action last accessed data. This includes +// the most recent access attempt for each tracked action within a service. +// Otherwise, this operation returns only service data. +// +// For more information about service and action last accessed data, see Reducing +// Permissions Using Service Last Accessed Data (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html) +// in the IAM User 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. @@ -20346,6 +20355,14 @@ type GenerateServiceLastAccessedDetailsInput struct { // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` + + // The level of detail that you want to generate. You can specify whether you + // want to generate information about the last attempt to access services or + // actions. If you specify service-level granularity, this operation generates + // only service data. If you specify action-level granularity, it generates + // service and action data. If you don't include this optional parameter, the + // operation generates service data. + Granularity *string `type:"string" enum:"AccessAdvisorUsageGranularityType"` } // String returns the string representation @@ -20380,6 +20397,12 @@ func (s *GenerateServiceLastAccessedDetailsInput) SetArn(v string) *GenerateServ return s } +// SetGranularity sets the Granularity field's value. +func (s *GenerateServiceLastAccessedDetailsInput) SetGranularity(v string) *GenerateServiceLastAccessedDetailsInput { + s.Granularity = &v + return s +} + type GenerateServiceLastAccessedDetailsOutput struct { _ struct{} `type:"structure"` @@ -22358,6 +22381,11 @@ type GetServiceLastAccessedDetailsOutput struct { // JobStatus is a required field JobStatus *string `type:"string" required:"true" enum:"JobStatusType"` + // The type of job. Service jobs return information about when each service + // was last accessed. Action jobs also include information about when tracked + // actions within the service were last accessed. + JobType *string `type:"string" enum:"AccessAdvisorUsageGranularityType"` + // When IsTruncated is true, this element is present and contains the value // to use for the Marker parameter in a subsequent pagination request. Marker *string `type:"string"` @@ -22409,6 +22437,12 @@ func (s *GetServiceLastAccessedDetailsOutput) SetJobStatus(v string) *GetService return s } +// SetJobType sets the JobType field's value. +func (s *GetServiceLastAccessedDetailsOutput) SetJobType(v string) *GetServiceLastAccessedDetailsOutput { + s.JobType = &v + return s +} + // SetMarker sets the Marker field's value. func (s *GetServiceLastAccessedDetailsOutput) SetMarker(v string) *GetServiceLastAccessedDetailsOutput { s.Marker = &v @@ -29462,6 +29496,13 @@ type ServiceLastAccessed struct { // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period). LastAuthenticatedEntity *string `min:"20" type:"string"` + // The Region from which the authenticated entity (user or role) last attempted + // to access the service. AWS does not report unauthenticated requests. + // + // This field is null if no IAM entities attempted to access the service within + // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period). + LastAuthenticatedRegion *string `type:"string"` + // The name of the service in which access was attempted. // // ServiceName is a required field @@ -29486,6 +29527,16 @@ type ServiceLastAccessed struct { // This field is null if no principals attempted to access the service within // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period). TotalAuthenticatedEntities *int64 `type:"integer"` + + // An object that contains details about the most recent attempt to access a + // tracked action within the service. + // + // This field is null if there no tracked actions or if the principal did not + // use the tracked actions within the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period). + // This field is also null if the report was generated at the service level + // and not the action level. For more information, see the Granularity field + // in GenerateServiceLastAccessedDetails. + TrackedActionsLastAccessed []*TrackedActionLastAccessed `type:"list"` } // String returns the string representation @@ -29510,6 +29561,12 @@ func (s *ServiceLastAccessed) SetLastAuthenticatedEntity(v string) *ServiceLastA return s } +// SetLastAuthenticatedRegion sets the LastAuthenticatedRegion field's value. +func (s *ServiceLastAccessed) SetLastAuthenticatedRegion(v string) *ServiceLastAccessed { + s.LastAuthenticatedRegion = &v + return s +} + // SetServiceName sets the ServiceName field's value. func (s *ServiceLastAccessed) SetServiceName(v string) *ServiceLastAccessed { s.ServiceName = &v @@ -29528,6 +29585,12 @@ func (s *ServiceLastAccessed) SetTotalAuthenticatedEntities(v int64) *ServiceLas return s } +// SetTrackedActionsLastAccessed sets the TrackedActionsLastAccessed field's value. +func (s *ServiceLastAccessed) SetTrackedActionsLastAccessed(v []*TrackedActionLastAccessed) *ServiceLastAccessed { + s.TrackedActionsLastAccessed = v + return s +} + // Contains the details of a service-specific credential. type ServiceSpecificCredential struct { _ struct{} `type:"structure"` @@ -30313,7 +30376,7 @@ type SimulatePrincipalPolicyInput struct { // one permissions boundary when you pass a policy to this operation. An IAM // entity can only have one permissions boundary in effect at a time. For example, // if a permissions boundary is attached to an entity and you pass in a different - // permissions boundary policy using this parameter, then the new permission + // permissions boundary policy using this parameter, then the new permissions // boundary policy is used for the simulation. For more information about permissions // boundaries, see Permissions Boundaries for IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) // in the IAM User Guide. The policy input is specified as a string containing @@ -30857,6 +30920,75 @@ func (s TagUserOutput) GoString() string { return s.String() } +// Contains details about the most recent attempt to access an action within +// the service. +// +// This data type is used as a response element in the GetServiceLastAccessedDetails +// operation. +type TrackedActionLastAccessed struct { + _ struct{} `type:"structure"` + + // The name of the tracked action to which access was attempted. Tracked actions + // are actions that report activity to IAM. + ActionName *string `type:"string"` + + // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // + // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS + // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + LastAccessedEntity *string `min:"20" type:"string"` + + // The Region from which the authenticated entity (user or role) last attempted + // to access the tracked action. AWS does not report unauthenticated requests. + // + // This field is null if no IAM entities attempted to access the service within + // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period). + LastAccessedRegion *string `type:"string"` + + // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), + // when an authenticated entity most recently attempted to access the tracked + // service. AWS does not report unauthenticated requests. + // + // This field is null if no IAM entities attempted to access the service within + // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period). + LastAccessedTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s TrackedActionLastAccessed) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrackedActionLastAccessed) GoString() string { + return s.String() +} + +// SetActionName sets the ActionName field's value. +func (s *TrackedActionLastAccessed) SetActionName(v string) *TrackedActionLastAccessed { + s.ActionName = &v + return s +} + +// SetLastAccessedEntity sets the LastAccessedEntity field's value. +func (s *TrackedActionLastAccessed) SetLastAccessedEntity(v string) *TrackedActionLastAccessed { + s.LastAccessedEntity = &v + return s +} + +// SetLastAccessedRegion sets the LastAccessedRegion field's value. +func (s *TrackedActionLastAccessed) SetLastAccessedRegion(v string) *TrackedActionLastAccessed { + s.LastAccessedRegion = &v + return s +} + +// SetLastAccessedTime sets the LastAccessedTime field's value. +func (s *TrackedActionLastAccessed) SetLastAccessedTime(v time.Time) *TrackedActionLastAccessed { + s.LastAccessedTime = &v + return s +} + type UntagRoleInput struct { _ struct{} `type:"structure"` @@ -33066,6 +33198,14 @@ func (s *VirtualMFADevice) SetUser(v *User) *VirtualMFADevice { return s } +const ( + // AccessAdvisorUsageGranularityTypeServiceLevel is a AccessAdvisorUsageGranularityType enum value + AccessAdvisorUsageGranularityTypeServiceLevel = "SERVICE_LEVEL" + + // AccessAdvisorUsageGranularityTypeActionLevel is a AccessAdvisorUsageGranularityType enum value + AccessAdvisorUsageGranularityTypeActionLevel = "ACTION_LEVEL" +) + const ( // AssignmentStatusTypeAssigned is a AssignmentStatusType enum value AssignmentStatusTypeAssigned = "Assigned" diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go b/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go index 0d709cd275b..13f89fa1900 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go @@ -3,59 +3,12 @@ // Package iam provides the client and types for making API // requests to AWS Identity and Access Management. // -// AWS Identity and Access Management (IAM) is a web service that you can use -// to manage users and user permissions under your AWS account. This guide provides -// descriptions of IAM actions that you can call programmatically. For general -// information about IAM, see AWS Identity and Access Management (IAM) (http://aws.amazon.com/iam/). -// For the user guide for IAM, see Using IAM (https://docs.aws.amazon.com/IAM/latest/UserGuide/). -// -// AWS provides SDKs that consist of libraries and sample code for various programming -// languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs -// provide a convenient way to create programmatic access to IAM and AWS. For -// example, the SDKs take care of tasks such as cryptographically signing requests -// (see below), managing errors, and retrying requests automatically. For information -// about the AWS SDKs, including how to download and install them, see the Tools -// for Amazon Web Services (http://aws.amazon.com/tools/) page. -// -// We recommend that you use the AWS SDKs to make programmatic API calls to -// IAM. However, you can also use the IAM Query API to make direct calls to -// the IAM web service. To learn more about the IAM Query API, see Making Query -// Requests (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) -// in the Using IAM guide. IAM supports GET and POST requests for all actions. -// That is, the API does not require you to use GET for some actions and POST -// for others. However, GET requests are subject to the limitation size of a -// URL. Therefore, for operations that require larger sizes, use a POST request. -// -// Signing Requests -// -// Requests must be signed using an access key ID and a secret access key. We -// strongly recommend that you do not use your AWS account access key ID and -// secret access key for everyday work with IAM. You can use the access key -// ID and secret access key for an IAM user or you can use the AWS Security -// Token Service to generate temporary security credentials and use those to -// sign requests. -// -// To sign requests, we recommend that you use Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). -// If you have an existing application that uses Signature Version 2, you do -// not have to update it to use Signature Version 4. However, some operations -// now require Signature Version 4. The documentation for operations that require -// version 4 indicate this requirement. -// -// Additional Resources -// -// For more information, see the following: -// -// * AWS Security Credentials (https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). -// This topic provides general information about the types of credentials -// used for accessing AWS. -// -// * IAM Best Practices (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPractices.html). -// This topic presents a list of suggestions for using the IAM service to -// help secure your AWS resources. -// -// * Signing AWS API Requests (https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html). -// This set of topics walk you through the process of signing a request using -// an access key ID and secret access key. +// AWS Identity and Access Management (IAM) is a web service for securely controlling +// access to AWS services. With IAM, you can centrally manage users, security +// credentials such as access keys, and permissions that control which AWS resources +// users and applications can access. For more information about IAM, see AWS +// Identity and Access Management (IAM) (http://aws.amazon.com/iam/) and the +// AWS Identity and Access Management User Guide (https://docs.aws.amazon.com/IAM/latest/UserGuide/). // // See https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go b/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go index 07f1aab901f..14ccdd1a6e4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go @@ -758,6 +758,103 @@ func (c *Kafka) GetBootstrapBrokersWithContext(ctx aws.Context, input *GetBootst return out, req.Send() } +const opGetCompatibleKafkaVersions = "GetCompatibleKafkaVersions" + +// GetCompatibleKafkaVersionsRequest generates a "aws/request.Request" representing the +// client's request for the GetCompatibleKafkaVersions 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 GetCompatibleKafkaVersions for more information on using the GetCompatibleKafkaVersions +// 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 GetCompatibleKafkaVersionsRequest method. +// req, resp := client.GetCompatibleKafkaVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetCompatibleKafkaVersions +func (c *Kafka) GetCompatibleKafkaVersionsRequest(input *GetCompatibleKafkaVersionsInput) (req *request.Request, output *GetCompatibleKafkaVersionsOutput) { + op := &request.Operation{ + Name: opGetCompatibleKafkaVersions, + HTTPMethod: "GET", + HTTPPath: "/v1/compatible-kafka-versions", + } + + if input == nil { + input = &GetCompatibleKafkaVersionsInput{} + } + + output = &GetCompatibleKafkaVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCompatibleKafkaVersions API operation for Managed Streaming for Kafka. +// +// Gets the Apache Kafka versions to which you can update the MSK cluster. +// +// 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 Managed Streaming for Kafka's +// API operation GetCompatibleKafkaVersions for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// Returns information about an error. +// +// * UnauthorizedException +// Returns information about an error. +// +// * InternalServerErrorException +// Returns information about an error. +// +// * ForbiddenException +// Returns information about an error. +// +// * NotFoundException +// Returns information about an error. +// +// * ServiceUnavailableException +// Returns information about an error. +// +// * TooManyRequestsException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetCompatibleKafkaVersions +func (c *Kafka) GetCompatibleKafkaVersions(input *GetCompatibleKafkaVersionsInput) (*GetCompatibleKafkaVersionsOutput, error) { + req, out := c.GetCompatibleKafkaVersionsRequest(input) + return out, req.Send() +} + +// GetCompatibleKafkaVersionsWithContext is the same as GetCompatibleKafkaVersions with the addition of +// the ability to pass a context and additional request options. +// +// See GetCompatibleKafkaVersions 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 *Kafka) GetCompatibleKafkaVersionsWithContext(ctx aws.Context, input *GetCompatibleKafkaVersionsInput, opts ...request.Option) (*GetCompatibleKafkaVersionsOutput, error) { + req, out := c.GetCompatibleKafkaVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListClusterOperations = "ListClusterOperations" // ListClusterOperationsRequest generates a "aws/request.Request" representing the @@ -2180,6 +2277,103 @@ func (c *Kafka) UpdateClusterConfigurationWithContext(ctx aws.Context, input *Up return out, req.Send() } +const opUpdateClusterKafkaVersion = "UpdateClusterKafkaVersion" + +// UpdateClusterKafkaVersionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateClusterKafkaVersion 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 UpdateClusterKafkaVersion for more information on using the UpdateClusterKafkaVersion +// 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 UpdateClusterKafkaVersionRequest method. +// req, resp := client.UpdateClusterKafkaVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateClusterKafkaVersion +func (c *Kafka) UpdateClusterKafkaVersionRequest(input *UpdateClusterKafkaVersionInput) (req *request.Request, output *UpdateClusterKafkaVersionOutput) { + op := &request.Operation{ + Name: opUpdateClusterKafkaVersion, + HTTPMethod: "PUT", + HTTPPath: "/v1/clusters/{clusterArn}/version", + } + + if input == nil { + input = &UpdateClusterKafkaVersionInput{} + } + + output = &UpdateClusterKafkaVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateClusterKafkaVersion API operation for Managed Streaming for Kafka. +// +// Updates the Apache Kafka version for the cluster. +// +// 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 Managed Streaming for Kafka's +// API operation UpdateClusterKafkaVersion for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// Returns information about an error. +// +// * UnauthorizedException +// Returns information about an error. +// +// * InternalServerErrorException +// Returns information about an error. +// +// * ForbiddenException +// Returns information about an error. +// +// * NotFoundException +// Returns information about an error. +// +// * ServiceUnavailableException +// Returns information about an error. +// +// * TooManyRequestsException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateClusterKafkaVersion +func (c *Kafka) UpdateClusterKafkaVersion(input *UpdateClusterKafkaVersionInput) (*UpdateClusterKafkaVersionOutput, error) { + req, out := c.UpdateClusterKafkaVersionRequest(input) + return out, req.Send() +} + +// UpdateClusterKafkaVersionWithContext is the same as UpdateClusterKafkaVersion with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateClusterKafkaVersion 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 *Kafka) UpdateClusterKafkaVersionWithContext(ctx aws.Context, input *UpdateClusterKafkaVersionInput, opts ...request.Option) (*UpdateClusterKafkaVersionOutput, error) { + req, out := c.UpdateClusterKafkaVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateMonitoring = "UpdateMonitoring" // UpdateMonitoringRequest generates a "aws/request.Request" representing the @@ -2930,6 +3124,9 @@ type ClusterOperationInfo struct { // State of the cluster operation. OperationState *string `locationName:"operationState" type:"string"` + // Steps completed during the operation. + OperationSteps []*ClusterOperationStep `locationName:"operationSteps" type:"list"` + // Type of the cluster operation. OperationType *string `locationName:"operationType" type:"string"` @@ -2992,6 +3189,12 @@ func (s *ClusterOperationInfo) SetOperationState(v string) *ClusterOperationInfo return s } +// SetOperationSteps sets the OperationSteps field's value. +func (s *ClusterOperationInfo) SetOperationSteps(v []*ClusterOperationStep) *ClusterOperationInfo { + s.OperationSteps = v + return s +} + // SetOperationType sets the OperationType field's value. func (s *ClusterOperationInfo) SetOperationType(v string) *ClusterOperationInfo { s.OperationType = &v @@ -3010,6 +3213,94 @@ func (s *ClusterOperationInfo) SetTargetClusterInfo(v *MutableClusterInfo) *Clus return s } +// Step taken during a cluster operation. +type ClusterOperationStep struct { + _ struct{} `type:"structure"` + + // Information about the step and its status. + StepInfo *ClusterOperationStepInfo `locationName:"stepInfo" type:"structure"` + + // The name of the step. + StepName *string `locationName:"stepName" type:"string"` +} + +// String returns the string representation +func (s ClusterOperationStep) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClusterOperationStep) GoString() string { + return s.String() +} + +// SetStepInfo sets the StepInfo field's value. +func (s *ClusterOperationStep) SetStepInfo(v *ClusterOperationStepInfo) *ClusterOperationStep { + s.StepInfo = v + return s +} + +// SetStepName sets the StepName field's value. +func (s *ClusterOperationStep) SetStepName(v string) *ClusterOperationStep { + s.StepName = &v + return s +} + +// State information about the operation step. +type ClusterOperationStepInfo struct { + _ struct{} `type:"structure"` + + // The steps current status. + StepStatus *string `locationName:"stepStatus" type:"string"` +} + +// String returns the string representation +func (s ClusterOperationStepInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClusterOperationStepInfo) GoString() string { + return s.String() +} + +// SetStepStatus sets the StepStatus field's value. +func (s *ClusterOperationStepInfo) SetStepStatus(v string) *ClusterOperationStepInfo { + s.StepStatus = &v + return s +} + +// Contains source Kafka versions and compatible target Kafka versions. +type CompatibleKafkaVersion struct { + _ struct{} `type:"structure"` + + SourceVersion *string `locationName:"sourceVersion" type:"string"` + + TargetVersions []*string `locationName:"targetVersions" type:"list"` +} + +// String returns the string representation +func (s CompatibleKafkaVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CompatibleKafkaVersion) GoString() string { + return s.String() +} + +// SetSourceVersion sets the SourceVersion field's value. +func (s *CompatibleKafkaVersion) SetSourceVersion(v string) *CompatibleKafkaVersion { + s.SourceVersion = &v + return s +} + +// SetTargetVersions sets the TargetVersions field's value. +func (s *CompatibleKafkaVersion) SetTargetVersions(v []*string) *CompatibleKafkaVersion { + s.TargetVersions = v + return s +} + // Represents an MSK Configuration. type Configuration struct { _ struct{} `type:"structure"` @@ -3478,9 +3769,7 @@ type CreateConfigurationInput struct { Description *string `locationName:"description" type:"string"` // The versions of Apache Kafka with which you can use this MSK configuration. - // - // KafkaVersions is a required field - KafkaVersions []*string `locationName:"kafkaVersions" type:"list" required:"true"` + KafkaVersions []*string `locationName:"kafkaVersions" type:"list"` // The name of the configuration. Configuration names are strings that match // the regex "^[0-9A-Za-z-]+$". @@ -3507,9 +3796,6 @@ func (s CreateConfigurationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateConfigurationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationInput"} - if s.KafkaVersions == nil { - invalidParams.Add(request.NewErrParamRequired("KafkaVersions")) - } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -4416,6 +4702,52 @@ func (s *GetBootstrapBrokersOutput) SetBootstrapBrokerStringTls(v string) *GetBo return s } +type GetCompatibleKafkaVersionsInput struct { + _ struct{} `type:"structure"` + + ClusterArn *string `location:"querystring" locationName:"clusterArn" type:"string"` +} + +// String returns the string representation +func (s GetCompatibleKafkaVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCompatibleKafkaVersionsInput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *GetCompatibleKafkaVersionsInput) SetClusterArn(v string) *GetCompatibleKafkaVersionsInput { + s.ClusterArn = &v + return s +} + +// Response body for GetCompatibleKafkaVersions. +type GetCompatibleKafkaVersionsOutput struct { + _ struct{} `type:"structure"` + + // A list of CompatibleKafkaVersion objects. + CompatibleKafkaVersions []*CompatibleKafkaVersion `locationName:"compatibleKafkaVersions" type:"list"` +} + +// String returns the string representation +func (s GetCompatibleKafkaVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCompatibleKafkaVersionsOutput) GoString() string { + return s.String() +} + +// SetCompatibleKafkaVersions sets the CompatibleKafkaVersions field's value. +func (s *GetCompatibleKafkaVersionsOutput) SetCompatibleKafkaVersions(v []*CompatibleKafkaVersion) *GetCompatibleKafkaVersionsOutput { + s.CompatibleKafkaVersions = v + return s +} + // Returns information about an error. type InternalServerErrorException struct { _ struct{} `type:"structure"` @@ -5216,6 +5548,8 @@ type MutableClusterInfo struct { // CloudWatch for this cluster. EnhancedMonitoring *string `locationName:"enhancedMonitoring" type:"string" enum:"EnhancedMonitoring"` + KafkaVersion *string `locationName:"kafkaVersion" type:"string"` + // LoggingInfo details. LoggingInfo *LoggingInfo `locationName:"loggingInfo" type:"structure"` @@ -5254,6 +5588,12 @@ func (s *MutableClusterInfo) SetEnhancedMonitoring(v string) *MutableClusterInfo return s } +// SetKafkaVersion sets the KafkaVersion field's value. +func (s *MutableClusterInfo) SetKafkaVersion(v string) *MutableClusterInfo { + s.KafkaVersion = &v + return s +} + // SetLoggingInfo sets the LoggingInfo field's value. func (s *MutableClusterInfo) SetLoggingInfo(v *LoggingInfo) *MutableClusterInfo { s.LoggingInfo = v @@ -6376,6 +6716,121 @@ func (s *UpdateClusterConfigurationOutput) SetClusterOperationArn(v string) *Upd return s } +// Request body for UpdateClusterKafkaVersion. +type UpdateClusterKafkaVersionInput struct { + _ struct{} `type:"structure"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` + + // Specifies the configuration to use for the brokers. + ConfigurationInfo *ConfigurationInfo `locationName:"configurationInfo" type:"structure"` + + // Current cluster version. + // + // CurrentVersion is a required field + CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"` + + // Target Kafka version. + // + // TargetKafkaVersion is a required field + TargetKafkaVersion *string `locationName:"targetKafkaVersion" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateClusterKafkaVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateClusterKafkaVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateClusterKafkaVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateClusterKafkaVersionInput"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + if s.CurrentVersion == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentVersion")) + } + if s.TargetKafkaVersion == nil { + invalidParams.Add(request.NewErrParamRequired("TargetKafkaVersion")) + } + if s.ConfigurationInfo != nil { + if err := s.ConfigurationInfo.Validate(); err != nil { + invalidParams.AddNested("ConfigurationInfo", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *UpdateClusterKafkaVersionInput) SetClusterArn(v string) *UpdateClusterKafkaVersionInput { + s.ClusterArn = &v + return s +} + +// SetConfigurationInfo sets the ConfigurationInfo field's value. +func (s *UpdateClusterKafkaVersionInput) SetConfigurationInfo(v *ConfigurationInfo) *UpdateClusterKafkaVersionInput { + s.ConfigurationInfo = v + return s +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *UpdateClusterKafkaVersionInput) SetCurrentVersion(v string) *UpdateClusterKafkaVersionInput { + s.CurrentVersion = &v + return s +} + +// SetTargetKafkaVersion sets the TargetKafkaVersion field's value. +func (s *UpdateClusterKafkaVersionInput) SetTargetKafkaVersion(v string) *UpdateClusterKafkaVersionInput { + s.TargetKafkaVersion = &v + return s +} + +// Response body for UpdateClusterKafkaVersion. +type UpdateClusterKafkaVersionOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the cluster. + ClusterArn *string `locationName:"clusterArn" type:"string"` + + // The Amazon Resource Name (ARN) of the cluster operation. + ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"` +} + +// String returns the string representation +func (s UpdateClusterKafkaVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateClusterKafkaVersionOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *UpdateClusterKafkaVersionOutput) SetClusterArn(v string) *UpdateClusterKafkaVersionOutput { + s.ClusterArn = &v + return s +} + +// SetClusterOperationArn sets the ClusterOperationArn field's value. +func (s *UpdateClusterKafkaVersionOutput) SetClusterOperationArn(v string) *UpdateClusterKafkaVersionOutput { + s.ClusterOperationArn = &v + return s +} + // Request body for UpdateMonitoring. type UpdateMonitoringInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/kms/api.go b/vendor/github.com/aws/aws-sdk-go/service/kms/api.go index efbc44ebcbf..8793c2d808e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kms/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kms/api.go @@ -350,9 +350,9 @@ func (c *KMS) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, // CreateAlias API operation for AWS Key Management Service. // // Creates a display name for a customer managed customer master key (CMK). -// You can use an alias to identify a CMK in cryptographic operations, such -// as Encrypt and GenerateDataKey. You can change the CMK associated with the -// alias at any time. +// You can use an alias to identify a CMK in cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), +// such as Encrypt and GenerateDataKey. You can change the CMK associated with +// the alias at any time. // // Aliases are easier to remember than key IDs. They can also help to simplify // your applications. For example, if you use an alias in your code, you can @@ -399,11 +399,12 @@ func (c *KMS) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, // a new alias with the desired name. // // * You can use an alias name or alias ARN to identify a CMK in AWS KMS -// cryptographic operations and in the DescribeKey operation. However, you -// cannot use alias names or alias ARNs in API operations that manage CMKs, -// such as DisableKey or GetKeyPolicy. For information about the valid CMK -// identifiers for each AWS KMS API operation, see the descriptions of the -// KeyId parameter in the API operation documentation. +// cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) +// and in the DescribeKey operation. However, you cannot use alias names +// or alias ARNs in API operations that manage CMKs, such as DisableKey or +// GetKeyPolicy. For information about the valid CMK identifiers for each +// AWS KMS API operation, see the descriptions of the KeyId parameter in +// the API operation documentation. // // Because an alias is not a property of a CMK, you can delete and change the // aliases of a CMK without affecting the CMK. Also, aliases do not appear in @@ -693,8 +694,8 @@ func (c *KMS) CreateGrantRequest(input *CreateGrantInput) (req *request.Request, // principal to use the CMK when the conditions specified in the grant are met. // When setting permissions, grants are an alternative to key policies. // -// To create a grant that allows a cryptographic operation only when the request -// includes a particular encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context), +// To create a grant that allows a cryptographic operation (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) +// only when the request includes a particular encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context), // use the Constraints parameter. For details, see GrantConstraints. // // You can create grants on symmetric and asymmetric CMKs. However, if the grant @@ -1357,12 +1358,12 @@ func (c *KMS) DeleteCustomKeyStoreRequest(input *DeleteCustomKeyStoreInput) (req // The custom key store that you delete cannot contain any AWS KMS customer // master keys (CMKs) (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). // Before deleting the key store, verify that you will never need to use any -// of the CMKs in the key store for any cryptographic operations. Then, use -// ScheduleKeyDeletion to delete the AWS KMS customer master keys (CMKs) from -// the key store. When the scheduled waiting period expires, the ScheduleKeyDeletion -// operation deletes the CMKs. Then it makes a best effort to delete the key -// material from the associated cluster. However, you might need to manually -// delete the orphaned key material (https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key) +// of the CMKs in the key store for any cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations). +// Then, use ScheduleKeyDeletion to delete the AWS KMS customer master keys +// (CMKs) from the key store. When the scheduled waiting period expires, the +// ScheduleKeyDeletion operation deletes the CMKs. Then it makes a best effort +// to delete the key material from the associated cluster. However, you might +// need to manually delete the orphaned key material (https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key) // from the cluster and its backups. // // After all CMKs are deleted from AWS KMS, use DisconnectCustomKeyStore to @@ -1844,8 +1845,8 @@ func (c *KMS) DisableKeyRequest(input *DisableKeyInput) (req *request.Request, o // DisableKey API operation for AWS Key Management Service. // // Sets the state of a customer master key (CMK) to disabled, thereby preventing -// its use for cryptographic operations. You cannot perform this operation on -// a CMK in a different AWS account. +// its use for cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations). +// You cannot perform this operation on a CMK in a different AWS account. // // For more information about how key state affects the use of a CMK, see How // Key State Affects the Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) @@ -2079,8 +2080,9 @@ func (c *KMS) DisconnectCustomKeyStoreRequest(input *DisconnectCustomKeyStoreInp // // While a custom key store is disconnected, all attempts to create customer // master keys (CMKs) in the custom key store or to use existing CMKs in cryptographic -// operations will fail. This action can prevent users from storing and accessing -// sensitive data. +// operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) +// will fail. This action can prevent users from storing and accessing sensitive +// data. // // To find the connection state of a custom key store, use the DescribeCustomKeyStores // operation. To reconnect a custom key store, use the ConnectCustomKeyStore @@ -2195,8 +2197,8 @@ func (c *KMS) EnableKeyRequest(input *EnableKeyInput) (req *request.Request, out // EnableKey API operation for AWS Key Management Service. // // Sets the key state of a customer master key (CMK) to enabled. This allows -// you to use the CMK for cryptographic operations. You cannot perform this -// operation on a CMK in a different AWS account. +// you to use the CMK for cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations). +// You cannot perform this operation on a CMK in a different AWS account. // // The CMK that you use for this operation must be in a compatible key state. // For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) @@ -2429,11 +2431,12 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output // identifier or database password, or other sensitive information. // // * You can use the Encrypt operation to move encrypted data from one AWS -// region to another. In the first region, generate a data key and use the -// plaintext key to encrypt the data. Then, in the new region, call the Encrypt -// method on same plaintext data key. Now, you can safely move the encrypted -// data and encrypted data key to the new region, and decrypt in the new -// region when necessary. +// Region to another. For example, in Region A, generate a data key and use +// the plaintext key to encrypt your data. Then, in Region A, use the Encrypt +// operation to encrypt the plaintext data key under a CMK in Region B. Now, +// you can move the encrypted data and the encrypted data key to Region B. +// When necessary, you can decrypt the encrypted data key and the encrypted +// data entirely within in Region B. // // You don't need to use the Encrypt operation to encrypt a data key. The GenerateDataKey // and GenerateDataKeyPair operations return a plaintext data key and an encrypted @@ -2603,27 +2606,20 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request. // GenerateDataKey API operation for AWS Key Management Service. // -// Generates a unique symmetric data key. This operation returns a plaintext -// copy of the data key and a copy that is encrypted under a customer master -// key (CMK) that you specify. You can use the plaintext key to encrypt your -// data outside of AWS KMS and store the encrypted data key with the encrypted -// data. +// Generates a unique symmetric data key for client-side encryption. This operation +// returns a plaintext copy of the data key and a copy that is encrypted under +// a customer master key (CMK) that you specify. You can use the plaintext key +// to encrypt your data outside of AWS KMS and store the encrypted data key +// with the encrypted data. // // GenerateDataKey returns a unique data key for each request. The bytes in -// the key are not related to the caller or CMK that is used to encrypt the -// data key. +// the plaintext key are not related to the caller or the CMK. // // To generate a data key, specify the symmetric CMK that will be used to encrypt // the data key. You cannot use an asymmetric CMK to generate data keys. To -// get the type of your CMK, use the DescribeKey operation. -// -// You must also specify the length of the data key. Use either the KeySpec -// or NumberOfBytes parameters (but not both). For 128-bit and 256-bit data -// keys, use the KeySpec parameter. -// -// If the operation succeeds, the plaintext copy of the data key is in the Plaintext -// field of the response, and the encrypted copy of the data key in the CiphertextBlob -// field. +// get the type of your CMK, use the DescribeKey operation. You must also specify +// the length of the data key. Use either the KeySpec or NumberOfBytes parameters +// (but not both). For 128-bit and 256-bit data keys, use the KeySpec parameter. // // To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. // To generate an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext @@ -2640,24 +2636,32 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request. // For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // +// How to use your data key +// // We recommend that you use the following pattern to encrypt data locally in -// your application: +// your application. You can write your own code or use a client-side encryption +// library, such as the AWS Encryption SDK (https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/), +// the Amazon DynamoDB Encryption Client (https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/), +// or Amazon S3 client-side encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html) +// to do these tasks for you. +// +// To encrypt data outside of AWS KMS: // -// Use the GenerateDataKey operation to get a data encryption key. +// Use the GenerateDataKey operation to get a data key. // -// Use the plaintext data key (returned in the Plaintext field of the response) -// to encrypt data locally, then erase the plaintext data key from memory. +// Use the plaintext data key (in the Plaintext field of the response) to encrypt +// your data outside of AWS KMS. Then erase the plaintext data key from memory. // -// Store the encrypted data key (returned in the CiphertextBlob field of the -// response) alongside the locally encrypted data. +// Store the encrypted data key (in the CiphertextBlob field of the response) +// with the encrypted data. // -// To decrypt data locally: +// To decrypt data outside of AWS KMS: // // Use the Decrypt operation to decrypt the encrypted data key. The operation // returns a plaintext copy of the data key. // -// Use the plaintext data key to decrypt data locally, then erase the plaintext -// data key from memory. +// Use the plaintext data key to decrypt data outside of AWS KMS, then erase +// the plaintext data key from memory. // // 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 @@ -2794,7 +2798,8 @@ func (c *KMS) GenerateDataKeyPairRequest(input *GenerateDataKeyPairInput) (req * // // To generate a data key pair, you must specify a symmetric customer master // key (CMK) to encrypt the private key in a data key pair. You cannot use an -// asymmetric CMK. To get the type of your CMK, use the DescribeKey operation. +// asymmetric CMK or a CMK in a custom key store. To get the type and origin +// of your CMK, use the DescribeKey operation. // // If you are using the data key pair to encrypt data, or for any operation // where you don't immediately need a private key, consider using the GenerateDataKeyPairWithoutPlaintext @@ -2868,6 +2873,10 @@ func (c *KMS) GenerateDataKeyPairRequest(input *GenerateDataKeyPairInput) (req * // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide . // +// * UnsupportedOperationException +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair func (c *KMS) GenerateDataKeyPair(input *GenerateDataKeyPairInput) (*GenerateDataKeyPairOutput, error) { req, out := c.GenerateDataKeyPairRequest(input) @@ -2941,8 +2950,8 @@ func (c *KMS) GenerateDataKeyPairWithoutPlaintextRequest(input *GenerateDataKeyP // // To generate a data key pair, you must specify a symmetric customer master // key (CMK) to encrypt the private key in the data key pair. You cannot use -// an asymmetric CMK. To get the type of your CMK, use the KeySpec field in -// the DescribeKey response. +// an asymmetric CMK or a CMK in a custom key store. To get the type and origin +// of your CMK, use the KeySpec field in the DescribeKey response. // // You can use the public key that GenerateDataKeyPairWithoutPlaintext returns // to encrypt data or verify a signature outside of AWS KMS. Then, store the @@ -3018,6 +3027,10 @@ func (c *KMS) GenerateDataKeyPairWithoutPlaintextRequest(input *GenerateDataKeyP // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide . // +// * UnsupportedOperationException +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext func (c *KMS) GenerateDataKeyPairWithoutPlaintext(input *GenerateDataKeyPairWithoutPlaintextInput) (*GenerateDataKeyPairWithoutPlaintextOutput, error) { req, out := c.GenerateDataKeyPairWithoutPlaintextRequest(input) @@ -4237,6 +4250,12 @@ func (c *KMS) ListGrantsRequest(input *ListGrantsInput) (req *request.Request, o // To perform this operation on a CMK in a different AWS account, specify the // key ARN in the value of the KeyId parameter. // +// The GranteePrincipal field in the ListGrants response usually contains the +// user or role designated as the grantee principal in the grant. However, when +// the grantee principal in the grant is an AWS service, the GranteePrincipal +// field contains the service principal (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services), +// which might represent several different grantee principals. +// // 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. @@ -5016,13 +5035,15 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out // is encrypted, such as when you manually rotate (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-manually) // a CMK or change the CMK that protects a ciphertext. You can also use it to // reencrypt ciphertext under the same CMK, such as to change the encryption -// context of a ciphertext. +// context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) +// of a ciphertext. // // The ReEncrypt operation can decrypt ciphertext that was encrypted by using // an AWS KMS CMK in an AWS KMS operation, such as Encrypt or GenerateDataKey. // It can also decrypt ciphertext that was encrypted by using the public key -// of an asymmetric CMK outside of AWS KMS. However, it cannot decrypt ciphertext -// produced by other libraries, such as the AWS Encryption SDK (https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/) +// of an asymmetric CMK (https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#asymmetric-cmks) +// outside of AWS KMS. However, it cannot decrypt ciphertext produced by other +// libraries, such as the AWS Encryption SDK (https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/) // or Amazon S3 client-side encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html). // These libraries return a ciphertext format that is incompatible with AWS // KMS. @@ -5057,17 +5078,16 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out // // Unlike other AWS KMS API operations, ReEncrypt callers must have two permissions: // -// * kms:EncryptFrom permission on the source CMK -// -// * kms:EncryptTo permission on the destination CMK +// * kms:ReEncryptFrom permission on the source CMK // -// To permit reencryption from +// * kms:ReEncryptTo permission on the destination CMK // -// or to a CMK, include the "kms:ReEncrypt*" permission in your key policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html). +// To permit reencryption from or to a CMK, include the "kms:ReEncrypt*" permission +// in your key policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html). // This permission is automatically included in the key policy when you use // the console to create a CMK. But you must include it manually when you create -// a CMK programmatically or when you use the PutKeyPolicy operation set a key -// policy. +// a CMK programmatically or when you use the PutKeyPolicy operation to set +// a key policy. // // The CMK that you use for this operation must be in a compatible key state. // For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) @@ -5995,6 +6015,11 @@ func (c *KMS) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, // The request was rejected because an internal exception occurred. The request // can be retried. // +// * LimitExceededException +// The request was rejected because a quota was exceeded. For more information, +// see Quotas (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html) +// in the AWS Key Management Service Developer Guide. +// // * InvalidStateException // The request was rejected because the state of the specified resource is not // valid for this request. @@ -6642,7 +6667,8 @@ func (s *CancelKeyDeletionInput) SetKeyId(v string) *CancelKeyDeletionInput { type CancelKeyDeletionOutput struct { _ struct{} `type:"structure"` - // The unique identifier of the master key for which deletion is canceled. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK whose deletion is canceled. KeyId *string `min:"1" type:"string"` } @@ -7259,9 +7285,10 @@ func (s *CreateCustomKeyStoreOutput) SetCustomKeyStoreId(v string) *CreateCustom type CreateGrantInput struct { _ struct{} `type:"structure"` - // Allows a cryptographic operation only when the encryption context matches - // or includes the encryption context specified in this structure. For more - // information about encryption context, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // Allows a cryptographic operation (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // only when the encryption context matches or includes the encryption context + // specified in this structure. For more information about encryption context, + // see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) // in the AWS Key Management Service Developer Guide . Constraints *GrantConstraints `type:"structure"` @@ -7530,9 +7557,10 @@ type CreateKeyInput struct { // a task. Description *string `type:"string"` - // Determines the cryptographic operations for which you can use the CMK. The - // default value is ENCRYPT_DECRYPT. This parameter is required only for asymmetric - // CMKs. You can't change the KeyUsage value after the CMK is created. + // Determines the cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // for which you can use the CMK. The default value is ENCRYPT_DECRYPT. This + // parameter is required only for asymmetric CMKs. You can't change the KeyUsage + // value after the CMK is created. // // Select only one valid value. // @@ -7992,11 +8020,12 @@ type CustomKeyStoresListEntry struct { // to the custom key store. // // * SUBNET_NOT_FOUND - A subnet in the AWS CloudHSM cluster configuration - // was deleted. If AWS KMS cannot find all of the subnets that were configured - // for the cluster when the custom key store was created, attempts to connect - // fail. To fix this error, create a cluster from a backup and associate - // it with your custom key store. This process includes selecting a VPC and - // subnets. For details, see How to Fix a Connection Failure (https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-failed) + // was deleted. If AWS KMS cannot find all of the subnets in the cluster + // configuration, attempts to connect the custom key store to the AWS CloudHSM + // cluster fail. To fix this error, create a cluster from a recent backup + // and associate it with your custom key store. (This process creates a new + // cluster configuration with a VPC and private subnets.) For details, see + // How to Fix a Connection Failure (https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-failed) // in the AWS Key Management Service Developer Guide. // // * USER_LOCKED_OUT - The kmsuser CU account is locked out of the associated @@ -8126,9 +8155,9 @@ type DecryptInput struct { EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` // Specifies the encryption context to use when decrypting the data. An encryption - // context is valid only for cryptographic operations with a symmetric CMK. - // The standard asymmetric encryption algorithms that AWS KMS uses do not support - // an encryption context. + // context is valid only for cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // with a symmetric CMK. The standard asymmetric encryption algorithms that + // AWS KMS uses do not support an encryption context. // // An encryption context is a collection of non-secret key-value pairs that // represents additional authenticated data. When you use an encryption context @@ -8241,7 +8270,8 @@ type DecryptOutput struct { // The encryption algorithm that was used to decrypt the ciphertext. EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` - // The ARN of the customer master key that was used to perform the decryption. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that was used to decrypt the ciphertext. KeyId *string `min:"1" type:"string"` // Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value @@ -9133,9 +9163,9 @@ type EncryptInput struct { EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` // Specifies the encryption context that will be used to encrypt the data. An - // encryption context is valid only for cryptographic operations with a symmetric - // CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not - // support an encryption context. + // encryption context is valid only for cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // with a symmetric CMK. The standard asymmetric encryption algorithms that + // AWS KMS uses do not support an encryption context. // // An encryption context is a collection of non-secret key-value pairs that // represents additional authenticated data. When you use an encryption context @@ -9257,7 +9287,8 @@ type EncryptOutput struct { // The encryption algorithm that was used to encrypt the plaintext. EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` - // The ID of the key used during encryption. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that was used to encrypt the plaintext. KeyId *string `min:"1" type:"string"` } @@ -9475,7 +9506,8 @@ type GenerateDataKeyOutput struct { // CiphertextBlob is automatically base64 encoded/decoded by the SDK. CiphertextBlob []byte `min:"1" type:"blob"` - // The identifier of the CMK that encrypted the data key. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that encrypted the data key. KeyId *string `min:"1" type:"string"` // The plaintext data key. When you use the HTTP API or the AWS CLI, the value @@ -9538,7 +9570,8 @@ type GenerateDataKeyPairInput struct { GrantTokens []*string `type:"list"` // Specifies the symmetric CMK that encrypts the private key in the data key - // pair. You cannot specify an asymmetric CMKs. + // pair. You cannot specify an asymmetric CMK or a CMK in a custom key store. + // To get the type and origin of your CMK, use the DescribeKey operation. // // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, // or alias ARN. When using an alias name, prefix it with "alias/". To specify @@ -9627,7 +9660,8 @@ func (s *GenerateDataKeyPairInput) SetKeyPairSpec(v string) *GenerateDataKeyPair type GenerateDataKeyPairOutput struct { _ struct{} `type:"structure"` - // The identifier of the CMK that encrypted the private key. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that encrypted the private key. KeyId *string `min:"1" type:"string"` // The type of data key pair that was generated. @@ -9714,8 +9748,9 @@ type GenerateDataKeyPairWithoutPlaintextInput struct { GrantTokens []*string `type:"list"` // Specifies the CMK that encrypts the private key in the data key pair. You - // must specify a symmetric CMK. You cannot use an asymmetric CMK. To get the - // type of your CMK, use the DescribeKey operation. + // must specify a symmetric CMK. You cannot use an asymmetric CMK or a CMK in + // a custom key store. To get the type and origin of your CMK, use the DescribeKey + // operation. // // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, // or alias ARN. When using an alias name, prefix it with "alias/". @@ -9803,25 +9838,8 @@ func (s *GenerateDataKeyPairWithoutPlaintextInput) SetKeyPairSpec(v string) *Gen type GenerateDataKeyPairWithoutPlaintextOutput struct { _ struct{} `type:"structure"` - // Specifies the CMK that encrypted the private key in the data key pair. You - // must specify a symmetric CMK. You cannot use an asymmetric CMK. To get the - // type of your CMK, use the DescribeKey operation. - // - // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, - // or alias ARN. When using an alias name, prefix it with "alias/". - // - // For example: - // - // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab - // - // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab - // - // * Alias name: alias/ExampleAlias - // - // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias - // - // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To - // get the alias name and alias ARN, use ListAliases. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that encrypted the private key. KeyId *string `min:"1" type:"string"` // The type of data key pair that was generated. @@ -9997,7 +10015,8 @@ type GenerateDataKeyWithoutPlaintextOutput struct { // CiphertextBlob is automatically base64 encoded/decoded by the SDK. CiphertextBlob []byte `min:"1" type:"blob"` - // The identifier of the CMK that encrypted the data key. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that encrypted the data key. KeyId *string `min:"1" type:"string"` } @@ -10358,8 +10377,9 @@ type GetParametersForImportOutput struct { // ImportToken is automatically base64 encoded/decoded by the SDK. ImportToken []byte `min:"1" type:"blob"` - // The identifier of the CMK to use in a subsequent ImportKeyMaterial request. - // This is the same CMK specified in the GetParametersForImport request. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK to use in a subsequent ImportKeyMaterial request. This is the + // same CMK specified in the GetParametersForImport request. KeyId *string `min:"1" type:"string"` // The time at which the import token and public key are no longer valid. After @@ -10494,7 +10514,8 @@ type GetPublicKeyOutput struct { // is ENCRYPT_DECRYPT. EncryptionAlgorithms []*string `type:"list"` - // The identifier of the asymmetric CMK from which the public key was downloaded. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the asymmetric CMK from which the public key was downloaded. KeyId *string `min:"1" type:"string"` // The permitted use of the public key. Valid values are ENCRYPT_DECRYPT or @@ -10567,24 +10588,16 @@ func (s *GetPublicKeyOutput) SetSigningAlgorithms(v []*string) *GetPublicKeyOutp return s } -// Use this structure to allow cryptographic operations in the grant only when -// the operation request includes the specified encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context). +// Use this structure to allow cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) +// in the grant only when the operation request includes the specified encryption +// context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context). // -// AWS KMS applies the grant constraints only when the grant allows a cryptographic -// operation that accepts an encryption context as input, such as the following. -// -// * Encrypt -// -// * Decrypt -// -// * GenerateDataKey -// -// * GenerateDataKeyWithoutPlaintext -// -// * ReEncrypt -// -// AWS KMS does not apply the grant constraints to other operations, such as -// DescribeKey or ScheduleKeyDeletion. +// AWS KMS applies the grant constraints only to cryptographic operations that +// support an encryption context, that is, all cryptographic operations with +// a symmetric CMK (https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#symmetric-cmks). +// Grant constraints are not applied to operations that do not support an encryption +// context, such as cryptographic operations with asymmetric CMKs and management +// operations, such as DescribeKey or ScheduleKeyDeletion. // // In a cryptographic operation, the encryption context in the decryption operation // must be an exact, case-sensitive match for the keys and values in the encryption @@ -10602,16 +10615,16 @@ type GrantConstraints struct { _ struct{} `type:"structure"` // A list of key-value pairs that must match the encryption context in the cryptographic - // operation request. The grant allows the operation only when the encryption - // context in the request is the same as the encryption context specified in - // this constraint. + // operation (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // request. The grant allows the operation only when the encryption context + // in the request is the same as the encryption context specified in this constraint. EncryptionContextEquals map[string]*string `type:"map"` // A list of key-value pairs that must be included in the encryption context - // of the cryptographic operation request. The grant allows the cryptographic - // operation only when the encryption context in the request includes the key-value - // pairs specified in this constraint, although it can include additional key-value - // pairs. + // of the cryptographic operation (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // request. The grant allows the cryptographic operation only when the encryption + // context in the request includes the key-value pairs specified in this constraint, + // although it can include additional key-value pairs. EncryptionContextSubset map[string]*string `type:"map"` } @@ -10637,7 +10650,7 @@ func (s *GrantConstraints) SetEncryptionContextSubset(v map[string]*string) *Gra return s } -// Contains information about an entry in a list of grants. +// Contains information about a grant. type GrantListEntry struct { _ struct{} `type:"structure"` @@ -10651,7 +10664,13 @@ type GrantListEntry struct { // The unique identifier for the grant. GrantId *string `min:"1" type:"string"` - // The principal that receives the grant's permissions. + // The identity that gets the permissions in the grant. + // + // The GranteePrincipal field in the ListGrants response usually contains the + // user or role designated as the grantee principal in the grant. However, when + // the grantee principal in the grant is an AWS service, the GranteePrincipal + // field contains the service principal (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services), + // which might represent several different grantee principals. GranteePrincipal *string `min:"1" type:"string"` // The AWS account under which the grant was issued. @@ -11768,8 +11787,8 @@ type KeyMetadata struct { // is true, otherwise it is false. Enabled *bool `type:"boolean"` - // A list of encryption algorithms that the CMK supports. You cannot use the - // CMK with other encryption algorithms within AWS KMS. + // The encryption algorithms that the CMK supports. You cannot use the CMK with + // other encryption algorithms within AWS KMS. // // This field appears only when the KeyUsage of the CMK is ENCRYPT_DECRYPT. EncryptionAlgorithms []*string `type:"list"` @@ -11789,14 +11808,15 @@ type KeyMetadata struct { // in the AWS Key Management Service Developer Guide. KeyManager *string `type:"string" enum:"KeyManagerType"` - // The state of the CMK. + // The current status of the CMK. // - // For more information about how key state affects the use of a CMK, see How - // Key State Affects the Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) + // For more information about how key state affects the use of a CMK, see Key + // state: Effect on your CMK (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. KeyState *string `type:"string" enum:"KeyState"` - // The cryptographic operations for which you can use the CMK. + // The cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // for which you can use the CMK. KeyUsage *string `type:"string" enum:"KeyUsageType"` // The source of the CMK's key material. When this value is AWS_KMS, AWS KMS @@ -11806,8 +11826,8 @@ type KeyMetadata struct { // in the AWS CloudHSM cluster associated with a custom key store. Origin *string `type:"string" enum:"OriginType"` - // A list of signing algorithms that the CMK supports. You cannot use the CMK - // with other signing algorithms within AWS KMS. + // The signing algorithms that the CMK supports. You cannot use the CMK with + // other signing algorithms within AWS KMS. // // This field appears only when the KeyUsage of the CMK is SIGN_VERIFY. SigningAlgorithms []*string `type:"list"` @@ -13205,7 +13225,8 @@ type ReEncryptOutput struct { // The encryption algorithm that was used to reencrypt the data. DestinationEncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` - // Unique identifier of the CMK used to reencrypt the data. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that was used to reencrypt the data. KeyId *string `min:"1" type:"string"` // The encryption algorithm that was used to decrypt the ciphertext before it @@ -13491,8 +13512,8 @@ type ScheduleKeyDeletionOutput struct { // The date and time after which AWS KMS deletes the customer master key (CMK). DeletionDate *time.Time `type:"timestamp"` - // The unique identifier of the customer master key (CMK) for which deletion - // is scheduled. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK whose deletion is scheduled. KeyId *string `min:"1" type:"string"` } @@ -13644,8 +13665,8 @@ func (s *SignInput) SetSigningAlgorithm(v string) *SignInput { type SignOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the asymmetric CMK that was used to sign - // the message. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the asymmetric CMK that was used to sign the message. KeyId *string `min:"1" type:"string"` // The cryptographic signature that was generated for the message. @@ -14466,8 +14487,8 @@ func (s *VerifyInput) SetSigningAlgorithm(v string) *VerifyInput { type VerifyOutput struct { _ struct{} `type:"structure"` - // The unique identifier for the asymmetric CMK that was used to verify the - // signature. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the asymmetric CMK that was used to verify the signature. KeyId *string `min:"1" type:"string"` // A Boolean value that indicates whether the signature was verified. A value diff --git a/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go b/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go index 320025d3071..429d4cd700d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go @@ -6660,6 +6660,10 @@ func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInp // Returns the data points for the specified Amazon Lightsail instance metric, // given an instance name. // +// Metrics report the utilization of your resources, and the error counts generated +// by them. Monitor and collect metric data regularly to maintain the reliability, +// availability, and performance of your resources. +// // 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. @@ -7599,6 +7603,10 @@ func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetri // // Returns information about health metrics for your Lightsail load balancer. // +// Metrics report the utilization of your resources, and the error counts generated +// by them. Monitor and collect metric data regularly to maintain the reliability, +// availability, and performance of your resources. +// // 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. @@ -9082,6 +9090,10 @@ func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalD // Returns the data points of the specified metric for a database in Amazon // Lightsail. // +// Metrics report the utilization of your resources, and the error counts generated +// by them. Monitor and collect metric data regularly to maintain the reliability, +// availability, and performance of your resources. +// // 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. @@ -13396,7 +13408,7 @@ type Bundle struct { // instance that uses a blueprint with a minimum power value of 500. Power *int64 `locationName:"power" type:"integer"` - // The price in US dollars (e.g., 5.0). + // The price in US dollars (e.g., 5.0) of the bundle. Price *float64 `locationName:"price" type:"float"` // The amount of RAM in GB (e.g., 2.0). @@ -19571,6 +19583,27 @@ type GetInstanceMetricDataInput struct { // Valid instance metric names are listed below, along with the most useful // statistics to include in your request, and the published unit value. // + // * BurstCapacityPercentage - The percentage of CPU performance available + // for your instance to burst above its baseline. Your instance continously + // accrues and consumes burst capacity. Burst capacity stops accruing when + // your instance's BurstCapacityPercentage reaches 100%. For more information, + // see Viewing instance burst capacity in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity). + // Statistics: The most useful statistics are Maximum and Average. Unit: + // The published unit is Percent. + // + // * BurstCapacityTime - The available amount of time for your instance to + // burst at 100% CPU utilization. Your instance continously accrues and consumes + // burst capacity. Burst capacity time stops accruing when your instance's + // BurstCapacityPercentage metric reaches 100%. Burst capacity time is consumed + // at the full rate only when your instance operates at 100% CPU utilization. + // For example, if your instance operates at 50% CPU utilization in the burstable + // zone for a 5-minute period, then it consumes CPU burst capacity minutes + // at a 50% rate in that period. Your instance consumed 2 minutes and 30 + // seconds of CPU burst capacity minutes in the 5-minute period. For more + // information, see Viewing instance burst capacity in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity). + // Statistics: The most useful statistics are Maximum and Average. Unit: + // The published unit is Seconds. + // // * CPUUtilization - The percentage of allocated compute units that are // currently in use on the instance. This metric identifies the processing // power to run the applications on the instance. Tools in your operating @@ -19748,11 +19781,10 @@ func (s *GetInstanceMetricDataInput) SetUnit(v string) *GetInstanceMetricDataInp type GetInstanceMetricDataOutput struct { _ struct{} `type:"structure"` - // An array of key-value pairs containing information about the results of your - // get instance metric data request. + // An array of objects that describe the metric data returned. MetricData []*MetricDatapoint `locationName:"metricData" type:"list"` - // The metric name to return data for. + // The name of the metric returned. MetricName *string `locationName:"metricName" type:"string" enum:"InstanceMetricName"` } @@ -20405,8 +20437,8 @@ type GetLoadBalancerMetricDataInput struct { Statistics []*string `locationName:"statistics" type:"list" required:"true"` // The unit for the metric data request. Valid units depend on the metric data - // being required. For the valid units with each available metric, see the metricName - // parameter. + // being requested. For the valid units with each available metric, see the + // metricName parameter. // // Unit is a required field Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"` @@ -20501,70 +20533,10 @@ func (s *GetLoadBalancerMetricDataInput) SetUnit(v string) *GetLoadBalancerMetri type GetLoadBalancerMetricDataOutput struct { _ struct{} `type:"structure"` - // An array of metric datapoint objects. + // An array of objects that describe the metric data returned. MetricData []*MetricDatapoint `locationName:"metricData" type:"list"` - // The metric about which you are receiving information. Valid values are listed - // below, along with the most useful statistics to include in your request. - // - // * ClientTLSNegotiationErrorCount - The number of TLS connections initiated - // by the client that did not establish a session with the load balancer. - // Possible causes include a mismatch of ciphers or protocols. Statistics: - // The most useful statistic is Sum. - // - // * HealthyHostCount - The number of target instances that are considered - // healthy. Statistics: The most useful statistic are Average, Minimum, and - // Maximum. - // - // * UnhealthyHostCount - The number of target instances that are considered - // unhealthy. Statistics: The most useful statistic are Average, Minimum, - // and Maximum. - // - // * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that - // originate from the load balancer. Client errors are generated when requests - // are malformed or incomplete. These requests have not been received by - // the target instance. This count does not include any response codes generated - // by the target instances. Statistics: The most useful statistic is Sum. - // Note that Minimum, Maximum, and Average all return 1. - // - // * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that - // originate from the load balancer. This count does not include any response - // codes generated by the target instances. Statistics: The most useful statistic - // is Sum. Note that Minimum, Maximum, and Average all return 1. Note that - // Minimum, Maximum, and Average all return 1. - // - // * HTTPCode_Instance_2XX_Count - The number of HTTP response codes generated - // by the target instances. This does not include any response codes generated - // by the load balancer. Statistics: The most useful statistic is Sum. Note - // that Minimum, Maximum, and Average all return 1. - // - // * HTTPCode_Instance_3XX_Count - The number of HTTP response codes generated - // by the target instances. This does not include any response codes generated - // by the load balancer. Statistics: The most useful statistic is Sum. Note - // that Minimum, Maximum, and Average all return 1. - // - // * HTTPCode_Instance_4XX_Count - The number of HTTP response codes generated - // by the target instances. This does not include any response codes generated - // by the load balancer. Statistics: The most useful statistic is Sum. Note - // that Minimum, Maximum, and Average all return 1. - // - // * HTTPCode_Instance_5XX_Count - The number of HTTP response codes generated - // by the target instances. This does not include any response codes generated - // by the load balancer. Statistics: The most useful statistic is Sum. Note - // that Minimum, Maximum, and Average all return 1. - // - // * InstanceResponseTime - The time elapsed, in seconds, after the request - // leaves the load balancer until a response from the target instance is - // received. Statistics: The most useful statistic is Average. - // - // * RejectedConnectionCount - The number of connections that were rejected - // because the load balancer had reached its maximum number of connections. - // Statistics: The most useful statistic is Sum. - // - // * RequestCount - The number of requests processed over IPv4. This count - // includes only the requests with a response generated by a target instance - // of the load balancer. Statistics: The most useful statistic is Sum. Note - // that Minimum, Maximum, and Average all return 1. + // The name of the metric returned. MetricName *string `locationName:"metricName" type:"string" enum:"LoadBalancerMetricName"` } @@ -21712,8 +21684,8 @@ type GetRelationalDatabaseMetricDataInput struct { Statistics []*string `locationName:"statistics" type:"list" required:"true"` // The unit for the metric data request. Valid units depend on the metric data - // being required. For the valid units with each available metric, see the metricName - // parameter. + // being requested. For the valid units with each available metric, see the + // metricName parameter. // // Unit is a required field Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"` @@ -21808,11 +21780,10 @@ func (s *GetRelationalDatabaseMetricDataInput) SetUnit(v string) *GetRelationalD type GetRelationalDatabaseMetricDataOutput struct { _ struct{} `type:"structure"` - // An object describing the result of your get relational database metric data - // request. + // An array of objects that describe the metric data returned. MetricData []*MetricDatapoint `locationName:"metricData" type:"list"` - // The name of the metric. + // The name of the metric returned. MetricName *string `locationName:"metricName" type:"string" enum:"RelationalDatabaseMetricName"` } @@ -24013,7 +23984,7 @@ type LoadBalancerTlsCertificate struct { // The algorithm that was used to sign the certificate. SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"` - // The status of the SSL/TLS certificate. Valid values are below. + // The validation status of the SSL/TLS certificate. Valid values are below. Status *string `locationName:"status" type:"string" enum:"LoadBalancerTlsCertificateStatus"` // The name of the entity that is associated with the public key contained in @@ -25242,8 +25213,9 @@ type PutAlarmInput struct { // // The following metrics are available for each resource type: // - // * Instances: CPUUtilization, NetworkIn, NetworkOut, StatusCheckFailed, - // StatusCheckFailed_Instance, and StatusCheckFailed_System. + // * Instances: BurstCapacityPercentage, BurstCapacityTime, CPUUtilization, + // NetworkIn, NetworkOut, StatusCheckFailed, StatusCheckFailed_Instance, + // and StatusCheckFailed_System. // // * Load balancers: ClientTLSNegotiationErrorCount, HealthyHostCount, UnhealthyHostCount, // HTTPCode_LB_4XX_Count, HTTPCode_LB_5XX_Count, HTTPCode_Instance_2XX_Count, @@ -25253,6 +25225,9 @@ type PutAlarmInput struct { // * Relational databases: CPUUtilization, DatabaseConnections, DiskQueueDepth, // FreeStorageSpace, NetworkReceiveThroughput, and NetworkTransmitThroughput. // + // For more information about these metrics, see Metrics available in Lightsail + // (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-resource-health-metrics#available-metrics). + // // MetricName is a required field MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"MetricName"` @@ -28184,6 +28159,12 @@ const ( // InstanceMetricNameStatusCheckFailedSystem is a InstanceMetricName enum value InstanceMetricNameStatusCheckFailedSystem = "StatusCheckFailed_System" + + // InstanceMetricNameBurstCapacityTime is a InstanceMetricName enum value + InstanceMetricNameBurstCapacityTime = "BurstCapacityTime" + + // InstanceMetricNameBurstCapacityPercentage is a InstanceMetricName enum value + InstanceMetricNameBurstCapacityPercentage = "BurstCapacityPercentage" ) const ( @@ -28448,6 +28429,12 @@ const ( // MetricNameNetworkTransmitThroughput is a MetricName enum value MetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput" + + // MetricNameBurstCapacityTime is a MetricName enum value + MetricNameBurstCapacityTime = "BurstCapacityTime" + + // MetricNameBurstCapacityPercentage is a MetricName enum value + MetricNameBurstCapacityPercentage = "BurstCapacityPercentage" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/macie/api.go b/vendor/github.com/aws/aws-sdk-go/service/macie/api.go index d6728b8d182..7d4dd348ed6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/macie/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/macie/api.go @@ -57,7 +57,8 @@ func (c *Macie) AssociateMemberAccountRequest(input *AssociateMemberAccountInput // AssociateMemberAccount API operation for Amazon Macie. // -// Associates a specified AWS account with Amazon Macie as a member account. +// Associates a specified AWS account with Amazon Macie Classic as a member +// account. // // 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 @@ -144,11 +145,11 @@ func (c *Macie) AssociateS3ResourcesRequest(input *AssociateS3ResourcesInput) (r // AssociateS3Resources API operation for Amazon Macie. // -// Associates specified S3 resources with Amazon Macie for monitoring and data -// classification. If memberAccountId isn't specified, the action associates -// specified S3 resources with Macie for the current master account. If memberAccountId -// is specified, the action associates specified S3 resources with Macie for -// the specified member account. +// Associates specified S3 resources with Amazon Macie Classic for monitoring +// and data classification. If memberAccountId isn't specified, the action associates +// specified S3 resources with Macie Classic for the current master account. +// If memberAccountId is specified, the action associates specified S3 resources +// with Macie Classic for the specified member account. // // 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 @@ -239,7 +240,7 @@ func (c *Macie) DisassociateMemberAccountRequest(input *DisassociateMemberAccoun // DisassociateMemberAccount API operation for Amazon Macie. // -// Removes the specified member account from Amazon Macie. +// Removes the specified member account from Amazon Macie Classic. // // 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 @@ -322,10 +323,11 @@ func (c *Macie) DisassociateS3ResourcesRequest(input *DisassociateS3ResourcesInp // DisassociateS3Resources API operation for Amazon Macie. // -// Removes specified S3 resources from being monitored by Amazon Macie. If memberAccountId -// isn't specified, the action removes specified S3 resources from Macie for -// the current master account. If memberAccountId is specified, the action removes -// specified S3 resources from Macie for the specified member account. +// Removes specified S3 resources from being monitored by Amazon Macie Classic. +// If memberAccountId isn't specified, the action removes specified S3 resources +// from Macie Classic for the current master account. If memberAccountId is +// specified, the action removes specified S3 resources from Macie Classic for +// the specified member account. // // 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 @@ -417,8 +419,8 @@ func (c *Macie) ListMemberAccountsRequest(input *ListMemberAccountsInput) (req * // ListMemberAccounts API operation for Amazon Macie. // -// Lists all Amazon Macie member accounts for the current Amazon Macie master -// account. +// Lists all Amazon Macie Classic member accounts for the current Amazon Macie +// Classic master account. // // 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 @@ -559,11 +561,11 @@ func (c *Macie) ListS3ResourcesRequest(input *ListS3ResourcesInput) (req *reques // ListS3Resources API operation for Amazon Macie. // -// Lists all the S3 resources associated with Amazon Macie. If memberAccountId +// Lists all the S3 resources associated with Amazon Macie Classic. If memberAccountId // isn't specified, the action lists the S3 resources associated with Amazon -// Macie for the current master account. If memberAccountId is specified, the -// action lists the S3 resources associated with Amazon Macie for the specified -// member account. +// Macie Classic for the current master account. If memberAccountId is specified, +// the action lists the S3 resources associated with Amazon Macie Classic for +// the specified member account. // // 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 @@ -703,9 +705,9 @@ func (c *Macie) UpdateS3ResourcesRequest(input *UpdateS3ResourcesInput) (req *re // // Updates the classification types for the specified S3 resources. If memberAccountId // isn't specified, the action updates the classification types of the S3 resources -// associated with Amazon Macie for the current master account. If memberAccountId +// associated with Amazon Macie Classic for the current master account. If memberAccountId // is specified, the action updates the classification types of the S3 resources -// associated with Amazon Macie for the specified member account. +// associated with Amazon Macie Classic for the specified member account. // // 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 @@ -809,8 +811,8 @@ func (s *AccessDeniedException) RequestID() string { type AssociateMemberAccountInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that you want to associate with Amazon Macie as - // a member account. + // The ID of the AWS account that you want to associate with Amazon Macie Classic + // as a member account. // // MemberAccountId is a required field MemberAccountId *string `locationName:"memberAccountId" type:"string" required:"true"` @@ -862,12 +864,12 @@ func (s AssociateMemberAccountOutput) GoString() string { type AssociateS3ResourcesInput struct { _ struct{} `type:"structure"` - // The ID of the Amazon Macie member account whose resources you want to associate - // with Macie. + // The ID of the Amazon Macie Classic member account whose resources you want + // to associate with Macie Classic. MemberAccountId *string `locationName:"memberAccountId" type:"string"` - // The S3 resources that you want to associate with Amazon Macie for monitoring - // and data classification. + // The S3 resources that you want to associate with Amazon Macie Classic for + // monitoring and data classification. // // S3Resources is a required field S3Resources []*S3ResourceClassification `locationName:"s3Resources" type:"list" required:"true"` @@ -921,8 +923,8 @@ func (s *AssociateS3ResourcesInput) SetS3Resources(v []*S3ResourceClassification type AssociateS3ResourcesOutput struct { _ struct{} `type:"structure"` - // S3 resources that couldn't be associated with Amazon Macie. An error code - // and an error message are provided for each failed item. + // S3 resources that couldn't be associated with Amazon Macie Classic. An error + // code and an error message are provided for each failed item. FailedS3Resources []*FailedS3Resource `locationName:"failedS3Resources" type:"list"` } @@ -942,13 +944,14 @@ func (s *AssociateS3ResourcesOutput) SetFailedS3Resources(v []*FailedS3Resource) return s } -// The classification type that Amazon Macie applies to the associated S3 resources. +// The classification type that Amazon Macie Classic applies to the associated +// S3 resources. type ClassificationType struct { _ struct{} `type:"structure"` // A continuous classification of the objects that are added to a specified - // S3 bucket. Amazon Macie begins performing continuous classification after - // a bucket is successfully associated with Amazon Macie. + // S3 bucket. Amazon Macie Classic begins performing continuous classification + // after a bucket is successfully associated with Amazon Macie Classic. // // Continuous is a required field Continuous *string `locationName:"continuous" type:"string" required:"true" enum:"S3ContinuousClassificationType"` @@ -998,15 +1001,15 @@ func (s *ClassificationType) SetOneTime(v string) *ClassificationType { return s } -// The classification type that Amazon Macie applies to the associated S3 resources. -// At least one of the classification types (oneTime or continuous) must be -// specified. +// The classification type that Amazon Macie Classic applies to the associated +// S3 resources. At least one of the classification types (oneTime or continuous) +// must be specified. type ClassificationTypeUpdate struct { _ struct{} `type:"structure"` // A continuous classification of the objects that are added to a specified - // S3 bucket. Amazon Macie begins performing continuous classification after - // a bucket is successfully associated with Amazon Macie. + // S3 bucket. Amazon Macie Classic begins performing continuous classification + // after a bucket is successfully associated with Amazon Macie Classic. Continuous *string `locationName:"continuous" type:"string" enum:"S3ContinuousClassificationType"` // A one-time classification of all of the existing objects in a specified S3 @@ -1039,7 +1042,7 @@ func (s *ClassificationTypeUpdate) SetOneTime(v string) *ClassificationTypeUpdat type DisassociateMemberAccountInput struct { _ struct{} `type:"structure"` - // The ID of the member account that you want to remove from Amazon Macie. + // The ID of the member account that you want to remove from Amazon Macie Classic. // // MemberAccountId is a required field MemberAccountId *string `locationName:"memberAccountId" type:"string" required:"true"` @@ -1092,13 +1095,13 @@ type DisassociateS3ResourcesInput struct { _ struct{} `type:"structure"` // The S3 resources (buckets or prefixes) that you want to remove from being - // monitored and classified by Amazon Macie. + // monitored and classified by Amazon Macie Classic. // // AssociatedS3Resources is a required field AssociatedS3Resources []*S3Resource `locationName:"associatedS3Resources" type:"list" required:"true"` - // The ID of the Amazon Macie member account whose resources you want to remove - // from being monitored by Amazon Macie. + // The ID of the Amazon Macie Classic member account whose resources you want + // to remove from being monitored by Amazon Macie Classic. MemberAccountId *string `locationName:"memberAccountId" type:"string"` } @@ -1151,8 +1154,8 @@ type DisassociateS3ResourcesOutput struct { _ struct{} `type:"structure"` // S3 resources that couldn't be removed from being monitored and classified - // by Amazon Macie. An error code and an error message are provided for each - // failed item. + // by Amazon Macie Classic. An error code and an error message are provided + // for each failed item. FailedS3Resources []*FailedS3Resource `locationName:"failedS3Resources" type:"list"` } @@ -1438,8 +1441,8 @@ func (s *ListMemberAccountsInput) SetNextToken(v string) *ListMemberAccountsInpu type ListMemberAccountsOutput struct { _ struct{} `type:"structure"` - // A list of the Amazon Macie member accounts returned by the action. The current - // master account is also included in this list. + // A list of the Amazon Macie Classic member accounts returned by the action. + // The current master account is also included in this list. MemberAccounts []*MemberAccount `locationName:"memberAccounts" type:"list"` // When a response is generated, if there is more data to be listed, this parameter @@ -1478,8 +1481,8 @@ type ListS3ResourcesInput struct { // in the response. The default value is 250. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The Amazon Macie member account ID whose associated S3 resources you want - // to list. + // The Amazon Macie Classic member account ID whose associated S3 resources + // you want to list. MemberAccountId *string `locationName:"memberAccountId" type:"string"` // Use this parameter when paginating results. Set its value to null on your @@ -1552,11 +1555,11 @@ func (s *ListS3ResourcesOutput) SetS3Resources(v []*S3ResourceClassification) *L return s } -// Contains information about the Amazon Macie member account. +// Contains information about the Amazon Macie Classic member account. type MemberAccount struct { _ struct{} `type:"structure"` - // The AWS account ID of the Amazon Macie member account. + // The AWS account ID of the Amazon Macie Classic member account. AccountId *string `locationName:"accountId" type:"string"` } @@ -1626,25 +1629,26 @@ func (s *S3Resource) SetPrefix(v string) *S3Resource { return s } -// The S3 resources that you want to associate with Amazon Macie for monitoring -// and data classification. This data type is used as a request parameter in -// the AssociateS3Resources action and a response parameter in the ListS3Resources +// The S3 resources that you want to associate with Amazon Macie Classic for +// monitoring and data classification. This data type is used as a request parameter +// in the AssociateS3Resources action and a response parameter in the ListS3Resources // action. type S3ResourceClassification struct { _ struct{} `type:"structure"` - // The name of the S3 bucket that you want to associate with Amazon Macie. + // The name of the S3 bucket that you want to associate with Amazon Macie Classic. // // BucketName is a required field BucketName *string `locationName:"bucketName" type:"string" required:"true"` // The classification type that you want to specify for the resource associated - // with Amazon Macie. + // with Amazon Macie Classic. // // ClassificationType is a required field ClassificationType *ClassificationType `locationName:"classificationType" type:"structure" required:"true"` - // The prefix of the S3 bucket that you want to associate with Amazon Macie. + // The prefix of the S3 bucket that you want to associate with Amazon Macie + // Classic. Prefix *string `locationName:"prefix" type:"string"` } @@ -1708,7 +1712,7 @@ type S3ResourceClassificationUpdate struct { BucketName *string `locationName:"bucketName" type:"string" required:"true"` // The classification type that you want to update for the resource associated - // with Amazon Macie. + // with Amazon Macie Classic. // // ClassificationTypeUpdate is a required field ClassificationTypeUpdate *ClassificationTypeUpdate `locationName:"classificationTypeUpdate" type:"structure" required:"true"` @@ -1764,8 +1768,8 @@ func (s *S3ResourceClassificationUpdate) SetPrefix(v string) *S3ResourceClassifi type UpdateS3ResourcesInput struct { _ struct{} `type:"structure"` - // The AWS ID of the Amazon Macie member account whose S3 resources' classification - // types you want to update. + // The AWS ID of the Amazon Macie Classic member account whose S3 resources' + // classification types you want to update. MemberAccountId *string `locationName:"memberAccountId" type:"string"` // The S3 resources whose classification types you want to update. diff --git a/vendor/github.com/aws/aws-sdk-go/service/macie/doc.go b/vendor/github.com/aws/aws-sdk-go/service/macie/doc.go index 1b8f9632f37..1b01c35632c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/macie/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/macie/doc.go @@ -3,12 +3,18 @@ // Package macie provides the client and types for making API // requests to Amazon Macie. // -// Amazon Macie is a security service that uses machine learning to automatically -// discover, classify, and protect sensitive data in AWS. Macie recognizes sensitive -// data such as personally identifiable information (PII) or intellectual property, -// and provides you with dashboards and alerts that give visibility into how -// this data is being accessed or moved. For more information, see the Macie -// User Guide (https://docs.aws.amazon.com/macie/latest/userguide/what-is-macie.html). +// Amazon Macie Classic is a security service that uses machine learning to +// automatically discover, classify, and protect sensitive data in AWS. Macie +// Classic recognizes sensitive data such as personally identifiable information +// (PII) or intellectual property, and provides you with dashboards and alerts +// that give visibility into how this data is being accessed or moved. For more +// information, see the Amazon Macie Classic User Guide (https://docs.aws.amazon.com/macie/latest/userguide/what-is-macie.html). +// +// A new Amazon Macie is now available with significant design improvements +// and additional features, at a lower price and in most AWS Regions. We encourage +// you to explore and use the new and improved features, and benefit from the +// reduced cost. To learn about features and pricing for the new Amazon Macie, +// see Amazon Macie (https://aws.amazon.com/macie/). // // See https://docs.aws.amazon.com/goto/WebAPI/macie-2017-12-19 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/api.go b/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/api.go index 5eeb3bc7b0c..e8e31205438 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/api.go @@ -638,7 +638,17 @@ func (c *MarketplaceCatalog) StartChangeSetRequest(input *StartChangeSetInput) ( // StartChangeSet API operation for AWS Marketplace Catalog Service. // -// This operation allows you to request changes in your entities. +// This operation allows you to request changes for your entities. Within a +// single ChangeSet, you cannot start the same change type against the same +// entity multiple times. Additionally, when a ChangeSet is running, all the +// entities targeted by the different changes are locked until the ChangeSet +// has completed (either succeeded, cancelled, or failed). If you try to start +// a ChangeSet containing a change against an entity that is already locked, +// you will receive a ResourceInUseException. +// +// For example, you cannot start the ChangeSet described in the example (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_StartChangeSet.html#API_StartChangeSet_Examples) +// below because it contains two changes to execute the same change type (AddRevisions) +// against the same entity (entity-id@1). // // 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 @@ -1011,6 +1021,10 @@ type ChangeSummary struct { // The type of the change. ChangeType *string `min:"1" type:"string"` + // This object contains details specific to the change type of the requested + // change. + Details *string `min:"2" type:"string"` + // The entity to be changed. Entity *Entity `type:"structure"` @@ -1034,6 +1048,12 @@ func (s *ChangeSummary) SetChangeType(v string) *ChangeSummary { return s } +// SetDetails sets the Details field's value. +func (s *ChangeSummary) SetDetails(v string) *ChangeSummary { + s.Details = &v + return s +} + // SetEntity sets the Entity field's value. func (s *ChangeSummary) SetEntity(v *Entity) *ChangeSummary { s.Entity = v @@ -1388,13 +1408,13 @@ type EntitySummary struct { // The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z). LastModifiedDate *string `type:"string"` - // The name for the entity. This value is not unique. It is defined by the provider. + // The name for the entity. This value is not unique. It is defined by the seller. Name *string `type:"string"` - // The visibility status of the entity to subscribers. This value can be Public - // (everyone can view the entity), Limited (the entity is visible to limited - // accounts only), or Restricted (the entity was published and then unpublished - // and only existing subscribers can view it). + // The visibility status of the entity to buyers. This value can be Public (everyone + // can view the entity), Limited (the entity is visible to limited accounts + // only), or Restricted (the entity was published and then unpublished and only + // existing buyers can view it). Visibility *string `type:"string"` } @@ -1628,7 +1648,7 @@ type ListChangeSetsInput struct { // results. NextToken *string `min:"1" type:"string"` - // An object that contains two attributes, sortBy and sortOrder. + // An object that contains two attributes, SortBy and SortOrder. Sort *Sort `type:"structure"` } @@ -1768,7 +1788,7 @@ type ListEntitiesInput struct { // The value of the next token, if it exists. Null if there are no more results. NextToken *string `min:"1" type:"string"` - // An object that contains two attributes, sortBy and sortOrder. + // An object that contains two attributes, SortBy and SortOrder. Sort *Sort `type:"structure"` } @@ -2120,7 +2140,7 @@ func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } -// An object that contains two attributes, sortBy and sortOrder. +// An object that contains two attributes, SortBy and SortOrder. type Sort struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/doc.go b/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/doc.go index debadb7b02f..4b61f907021 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/doc.go @@ -3,8 +3,8 @@ // Package marketplacecatalog provides the client and types for making API // requests to AWS Marketplace Catalog Service. // -// Catalog API actions allow you to create, describe, list, and delete changes -// to your published entities. An entity is a product or an offer on AWS Marketplace. +// Catalog API actions allow you to manage your entities through list, describe, +// and update capabilities. An entity can be a product or an offer on AWS Marketplace. // // You can automate your entity update process by integrating the AWS Marketplace // Catalog API with your AWS Marketplace product build or deployment pipelines. diff --git a/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go b/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go index 3e7bff6c792..3a7744b14f2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go @@ -3014,7 +3014,8 @@ func (s AssociateCertificateOutput) GoString() string { // codec enum that you choose, define the corresponding settings object. The // following lists the codec enum, settings object pairs. * AAC, AacSettings // * MP2, Mp2Settings * MP3, Mp3Settings * WAV, WavSettings * AIFF, AiffSettings -// * AC3, Ac3Settings * EAC3, Eac3Settings * EAC3_ATMOS, Eac3AtmosSettings +// * AC3, Ac3Settings * EAC3, Eac3Settings * EAC3_ATMOS, Eac3AtmosSettings * +// VORBIS, VorbisSettings * OPUS, OpusSettings type AudioCodecSettings struct { _ struct{} `type:"structure"` @@ -3054,6 +3055,14 @@ type AudioCodecSettings struct { // value MP3. Mp3Settings *Mp3Settings `locationName:"mp3Settings" type:"structure"` + // Required when you set Codec, under AudioDescriptions>CodecSettings, to the + // value OPUS. + OpusSettings *OpusSettings `locationName:"opusSettings" type:"structure"` + + // Required when you set Codec, under AudioDescriptions>CodecSettings, to the + // value Vorbis. + VorbisSettings *VorbisSettings `locationName:"vorbisSettings" type:"structure"` + // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to // the value WAV. WavSettings *WavSettings `locationName:"wavSettings" type:"structure"` @@ -3107,6 +3116,16 @@ func (s *AudioCodecSettings) Validate() error { invalidParams.AddNested("Mp3Settings", err.(request.ErrInvalidParams)) } } + if s.OpusSettings != nil { + if err := s.OpusSettings.Validate(); err != nil { + invalidParams.AddNested("OpusSettings", err.(request.ErrInvalidParams)) + } + } + if s.VorbisSettings != nil { + if err := s.VorbisSettings.Validate(); err != nil { + invalidParams.AddNested("VorbisSettings", err.(request.ErrInvalidParams)) + } + } if s.WavSettings != nil { if err := s.WavSettings.Validate(); err != nil { invalidParams.AddNested("WavSettings", err.(request.ErrInvalidParams)) @@ -3167,6 +3186,18 @@ func (s *AudioCodecSettings) SetMp3Settings(v *Mp3Settings) *AudioCodecSettings return s } +// SetOpusSettings sets the OpusSettings field's value. +func (s *AudioCodecSettings) SetOpusSettings(v *OpusSettings) *AudioCodecSettings { + s.OpusSettings = v + return s +} + +// SetVorbisSettings sets the VorbisSettings field's value. +func (s *AudioCodecSettings) SetVorbisSettings(v *VorbisSettings) *AudioCodecSettings { + s.VorbisSettings = v + return s +} + // SetWavSettings sets the WavSettings field's value. func (s *AudioCodecSettings) SetWavSettings(v *WavSettings) *AudioCodecSettings { s.WavSettings = v @@ -3212,7 +3243,8 @@ type AudioDescription struct { // codec enum that you choose, define the corresponding settings object. The // following lists the codec enum, settings object pairs. * AAC, AacSettings // * MP2, Mp2Settings * MP3, Mp3Settings * WAV, WavSettings * AIFF, AiffSettings - // * AC3, Ac3Settings * EAC3, Eac3Settings * EAC3_ATMOS, Eac3AtmosSettings + // * AC3, Ac3Settings * EAC3, Eac3Settings * EAC3_ATMOS, Eac3AtmosSettings * + // VORBIS, VorbisSettings * OPUS, OpusSettings CodecSettings *AudioCodecSettings `locationName:"codecSettings" type:"structure"` // Specify the language for this audio output track. The service puts this language @@ -4632,23 +4664,23 @@ func (s *CaptionSelector) SetSourceSettings(v *CaptionSourceSettings) *CaptionSe } // Ignore this setting unless your input captions format is SCC. To have the -// service compensate for differing framerates between your input captions and -// input video, specify the framerate of the captions file. Specify this value -// as a fraction, using the settings Framerate numerator (framerateNumerator) +// service compensate for differing frame rates between your input captions +// and input video, specify the frame rate of the captions file. Specify this +// value as a fraction, using the settings Framerate numerator (framerateNumerator) // and Framerate denominator (framerateDenominator). For example, you might // specify 24 / 1 for 24 fps, 25 / 1 for 25 fps, 24000 / 1001 for 23.976 fps, // or 30000 / 1001 for 29.97 fps. type CaptionSourceFramerate struct { _ struct{} `type:"structure"` - // Specify the denominator of the fraction that represents the framerate for - // the setting Caption source framerate (CaptionSourceFramerate). Use this setting - // along with the setting Framerate numerator (framerateNumerator). + // Specify the denominator of the fraction that represents the frame rate for + // the setting Caption source frame rate (CaptionSourceFramerate). Use this + // setting along with the setting Framerate numerator (framerateNumerator). FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` - // Specify the numerator of the fraction that represents the framerate for the - // setting Caption source framerate (CaptionSourceFramerate). Use this setting - // along with the setting Framerate denominator (framerateDenominator). + // Specify the numerator of the fraction that represents the frame rate for + // the setting Caption source frame rate (CaptionSourceFramerate). Use this + // setting along with the setting Framerate denominator (framerateDenominator). FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` } @@ -8275,9 +8307,9 @@ type FileSourceSettings struct { Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"FileSourceConvert608To708"` // Ignore this setting unless your input captions format is SCC. To have the - // service compensate for differing framerates between your input captions and - // input video, specify the framerate of the captions file. Specify this value - // as a fraction, using the settings Framerate numerator (framerateNumerator) + // service compensate for differing frame rates between your input captions + // and input video, specify the frame rate of the captions file. Specify this + // value as a fraction, using the settings Framerate numerator (framerateNumerator) // and Framerate denominator (framerateDenominator). For example, you might // specify 24 / 1 for 24 fps, 25 / 1 for 25 fps, 24000 / 1001 for 23.976 fps, // or 30000 / 1001 for 29.97 fps. @@ -8887,7 +8919,8 @@ type H264Settings struct { // rate you specify in the settings FramerateNumerator and FramerateDenominator. FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H264FramerateControl"` - // When set to INTERPOLATE, produces smoother motion during frame rate conversion. + // Optional. Specify how the transcoder performs framerate conversion. The default + // behavior is to use duplicate drop conversion. FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"H264FramerateConversionAlgorithm"` // When you use the API for transcode jobs that use frame rate conversion, specify @@ -8959,9 +8992,12 @@ type H264Settings struct { // if using B-frames and/or interlaced encoding. NumberReferenceFrames *int64 `locationName:"numberReferenceFrames" min:"1" type:"integer"` - // Using the API, enable ParFollowSource if you want the service to use the - // pixel aspect ratio from the input. Using the console, do this by choosing - // Follow source for Pixel aspect ratio. + // Optional. Specify how the service determines the pixel aspect ratio (PAR) + // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), + // uses the PAR from your input video for your output. To use a different PAR, + // choose (SPECIFIED). In the console, SPECIFIED corresponds to any value other + // than Follow source. When you choose SPECIFIED for this setting, you must + // also specify values for the parNumerator and parDenominator settings. ParControl *string `locationName:"parControl" type:"string" enum:"H264ParControl"` // Pixel Aspect Ratio denominator. @@ -8970,9 +9006,9 @@ type H264Settings struct { // Pixel Aspect Ratio numerator. ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` - // Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to - // use fast single-pass, high-quality singlepass, or high-quality multipass - // video encoding. + // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you + // want to trade off encoding speed for output video quality. The default behavior + // is faster, lower quality, single-pass encoding. QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"H264QualityTuningLevel"` // Settings for quality-defined variable bitrate encoding with the H.264 codec. @@ -9434,7 +9470,7 @@ type H265Settings struct { // a frame rate from the dropdown list or choose Custom. The framerates shown // in the dropdown list are decimal approximations of fractions. If you choose // Custom, specify your frame rate as a fraction. If you are creating your transcoding - // job sepecification as a JSON file without the console, use FramerateControl + // job specification as a JSON file without the console, use FramerateControl // to specify which value the service uses for the frame rate for this output. // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate // from the input. Choose SPECIFIED if you want the service to use the frame @@ -9509,9 +9545,12 @@ type H265Settings struct { // if using B-frames and/or interlaced encoding. NumberReferenceFrames *int64 `locationName:"numberReferenceFrames" min:"1" type:"integer"` - // Using the API, enable ParFollowSource if you want the service to use the - // pixel aspect ratio from the input. Using the console, do this by choosing - // Follow source for Pixel aspect ratio. + // Optional. Specify how the service determines the pixel aspect ratio (PAR) + // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), + // uses the PAR from your input video for your output. To use a different PAR, + // choose (SPECIFIED). In the console, SPECIFIED corresponds to any value other + // than Follow source. When you choose SPECIFIED for this setting, you must + // also specify values for the parNumerator and parDenominator settings. ParControl *string `locationName:"parControl" type:"string" enum:"H265ParControl"` // Pixel Aspect Ratio denominator. @@ -9520,9 +9559,9 @@ type H265Settings struct { // Pixel Aspect Ratio numerator. ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` - // Use Quality tuning level (H265QualityTuningLevel) to specifiy whether to - // use fast single-pass, high-quality singlepass, or high-quality multipass - // video encoding. + // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you + // want to trade off encoding speed for output video quality. The default behavior + // is faster, lower quality, single-pass encoding. QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"H265QualityTuningLevel"` // Settings for quality-defined variable bitrate encoding with the H.265 codec. @@ -10862,12 +10901,12 @@ type Input struct { AudioSelectorGroups map[string]*AudioSelectorGroup `locationName:"audioSelectorGroups" type:"map"` // Use Audio selectors (AudioSelectors) to specify a track or set of tracks - // from the input that you will use in your outputs. You can use mutiple Audio + // from the input that you will use in your outputs. You can use multiple Audio // selectors per input. AudioSelectors map[string]*AudioSelector `locationName:"audioSelectors" type:"map"` // Use Captions selectors (CaptionSelectors) to specify the captions data from - // the input that you will use in your outputs. You can use mutiple captions + // the input that you will use in your outputs. You can use multiple captions // selectors per input. CaptionSelectors map[string]*CaptionSelector `locationName:"captionSelectors" type:"map"` @@ -10878,7 +10917,7 @@ type Input struct { Crop *Rectangle `locationName:"crop" type:"structure"` // Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. - // Default is disabled. Only manaully controllable for MPEG2 and uncompressed + // Default is disabled. Only manually controllable for MPEG2 and uncompressed // video inputs. DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"` @@ -11310,12 +11349,12 @@ type InputTemplate struct { AudioSelectorGroups map[string]*AudioSelectorGroup `locationName:"audioSelectorGroups" type:"map"` // Use Audio selectors (AudioSelectors) to specify a track or set of tracks - // from the input that you will use in your outputs. You can use mutiple Audio + // from the input that you will use in your outputs. You can use multiple Audio // selectors per input. AudioSelectors map[string]*AudioSelector `locationName:"audioSelectors" type:"map"` // Use Captions selectors (CaptionSelectors) to specify the captions data from - // the input that you will use in your outputs. You can use mutiple captions + // the input that you will use in your outputs. You can use multiple captions // selectors per input. CaptionSelectors map[string]*CaptionSelector `locationName:"captionSelectors" type:"map"` @@ -11326,7 +11365,7 @@ type InputTemplate struct { Crop *Rectangle `locationName:"crop" type:"structure"` // Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. - // Default is disabled. Only manaully controllable for MPEG2 and uncompressed + // Default is disabled. Only manually controllable for MPEG2 and uncompressed // video inputs. DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"` @@ -14373,14 +14412,15 @@ type Mpeg2Settings struct { // a frame rate from the dropdown list or choose Custom. The framerates shown // in the dropdown list are decimal approximations of fractions. If you choose // Custom, specify your frame rate as a fraction. If you are creating your transcoding - // job sepecification as a JSON file without the console, use FramerateControl + // job specification as a JSON file without the console, use FramerateControl // to specify which value the service uses for the frame rate for this output. // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate // from the input. Choose SPECIFIED if you want the service to use the frame // rate you specify in the settings FramerateNumerator and FramerateDenominator. FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Mpeg2FramerateControl"` - // When set to INTERPOLATE, produces smoother motion during frame rate conversion. + // Optional. Specify how the transcoder performs framerate conversion. The default + // behavior is to use duplicate drop conversion. FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Mpeg2FramerateConversionAlgorithm"` // Frame rate denominator. @@ -14445,9 +14485,12 @@ type Mpeg2Settings struct { // Number of B-frames between reference frames. NumberBFramesBetweenReferenceFrames *int64 `locationName:"numberBFramesBetweenReferenceFrames" type:"integer"` - // Using the API, enable ParFollowSource if you want the service to use the - // pixel aspect ratio from the input. Using the console, do this by choosing - // Follow source for Pixel aspect ratio. + // Optional. Specify how the service determines the pixel aspect ratio (PAR) + // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), + // uses the PAR from your input video for your output. To use a different PAR, + // choose (SPECIFIED). In the console, SPECIFIED corresponds to any value other + // than Follow source. When you choose SPECIFIED for this setting, you must + // also specify values for the parNumerator and parDenominator settings. ParControl *string `locationName:"parControl" type:"string" enum:"Mpeg2ParControl"` // Pixel Aspect Ratio denominator. @@ -14456,8 +14499,9 @@ type Mpeg2Settings struct { // Pixel Aspect Ratio numerator. ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` - // Use Quality tuning level (Mpeg2QualityTuningLevel) to specifiy whether to - // use single-pass or multipass video encoding. + // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you + // want to trade off encoding speed for output video quality. The default behavior + // is faster, lower quality, single-pass encoding. QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"Mpeg2QualityTuningLevel"` // Use Rate control mode (Mpeg2RateControlMode) to specifiy whether the bitrate @@ -15158,6 +15202,12 @@ type NoiseReducerTemporalFilterSettings struct { // and creates better VQ for low bitrate outputs. AggressiveMode *int64 `locationName:"aggressiveMode" type:"integer"` + // Optional. When you set Noise reducer (noiseReducer) to Temporal (TEMPORAL), + // you can optionally use this setting to apply additional sharpening. The default + // behavior, Auto (AUTO) allows the transcoder to determine whether to apply + // filtering, depending on input type and quality. + PostTemporalSharpening *string `locationName:"postTemporalSharpening" type:"string" enum:"NoiseFilterPostTemporalSharpening"` + // The speed of the filter (higher number is faster). Low setting reduces bit // rate at the cost of transcode time, high setting improves transcode time // at the cost of bit rate. @@ -15200,6 +15250,12 @@ func (s *NoiseReducerTemporalFilterSettings) SetAggressiveMode(v int64) *NoiseRe return s } +// SetPostTemporalSharpening sets the PostTemporalSharpening field's value. +func (s *NoiseReducerTemporalFilterSettings) SetPostTemporalSharpening(v string) *NoiseReducerTemporalFilterSettings { + s.PostTemporalSharpening = &v + return s +} + // SetSpeed sets the Speed field's value. func (s *NoiseReducerTemporalFilterSettings) SetSpeed(v int64) *NoiseReducerTemporalFilterSettings { s.Speed = &v @@ -15267,6 +15323,73 @@ func (s *NotFoundException) RequestID() string { return s.RespMetadata.RequestID } +// Required when you set Codec, under AudioDescriptions>CodecSettings, to the +// value OPUS. +type OpusSettings struct { + _ struct{} `type:"structure"` + + // Optional. Specify the average bitrate in bits per second. Valid values are + // multiples of 8000, from 32000 through 192000. The default value is 96000, + // which we recommend for quality and bandwidth. + Bitrate *int64 `locationName:"bitrate" min:"32000" type:"integer"` + + // Specify the number of channels in this output audio track. Choosing Mono + // on the console gives you 1 output channel; choosing Stereo gives you 2. In + // the API, valid values are 1 and 2. + Channels *int64 `locationName:"channels" min:"1" type:"integer"` + + // Optional. Sample rate in hz. Valid values are 16000, 24000, and 48000. The + // default value is 48000. + SampleRate *int64 `locationName:"sampleRate" min:"16000" type:"integer"` +} + +// String returns the string representation +func (s OpusSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OpusSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OpusSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OpusSettings"} + if s.Bitrate != nil && *s.Bitrate < 32000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 32000)) + } + if s.Channels != nil && *s.Channels < 1 { + invalidParams.Add(request.NewErrParamMinValue("Channels", 1)) + } + if s.SampleRate != nil && *s.SampleRate < 16000 { + invalidParams.Add(request.NewErrParamMinValue("SampleRate", 16000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitrate sets the Bitrate field's value. +func (s *OpusSettings) SetBitrate(v int64) *OpusSettings { + s.Bitrate = &v + return s +} + +// SetChannels sets the Channels field's value. +func (s *OpusSettings) SetChannels(v int64) *OpusSettings { + s.Channels = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *OpusSettings) SetSampleRate(v int64) *OpusSettings { + s.SampleRate = &v + return s +} + // An output object describes the settings for a single output file or stream // in an output group. type Output struct { @@ -15288,8 +15411,9 @@ type Output struct { // Use Extension (Extension) to specify the file extension for outputs in File // output groups. If you do not specify a value, the service will use default // extensions by container type as follows * MPEG-2 transport stream, m2ts * - // Quicktime, mov * MXF container, mxf * MPEG-4 container, mp4 * No Container, - // the service will use codec extensions (e.g. AAC, H265, H265, AC3) + // Quicktime, mov * MXF container, mxf * MPEG-4 container, mp4 * WebM container, + // webm * No Container, the service will use codec extensions (e.g. AAC, H265, + // H265, AC3) Extension *string `locationName:"extension" type:"string"` // Use Name modifier (NameModifier) to have the service add a string to the @@ -15913,14 +16037,15 @@ type ProresSettings struct { // a frame rate from the dropdown list or choose Custom. The framerates shown // in the dropdown list are decimal approximations of fractions. If you choose // Custom, specify your frame rate as a fraction. If you are creating your transcoding - // job sepecification as a JSON file without the console, use FramerateControl + // job specification as a JSON file without the console, use FramerateControl // to specify which value the service uses for the frame rate for this output. // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate // from the input. Choose SPECIFIED if you want the service to use the frame // rate you specify in the settings FramerateNumerator and FramerateDenominator. FramerateControl *string `locationName:"framerateControl" type:"string" enum:"ProresFramerateControl"` - // When set to INTERPOLATE, produces smoother motion during frame rate conversion. + // Optional. Specify how the transcoder performs framerate conversion. The default + // behavior is to use duplicate drop conversion. FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"ProresFramerateConversionAlgorithm"` // Frame rate denominator. @@ -15945,11 +16070,12 @@ type ProresSettings struct { // on which of the Follow options you chose. InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"ProresInterlaceMode"` - // Use (ProresParControl) to specify how the service determines the pixel aspect - // ratio. Set to Follow source (INITIALIZE_FROM_SOURCE) to use the pixel aspect - // ratio from the input. To specify a different pixel aspect ratio: Using the - // console, choose it from the dropdown menu. Using the API, set ProresParControl - // to (SPECIFIED) and provide for (ParNumerator) and (ParDenominator). + // Optional. Specify how the service determines the pixel aspect ratio (PAR) + // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), + // uses the PAR from your input video for your output. To use a different PAR, + // choose (SPECIFIED). In the console, SPECIFIED corresponds to any value other + // than Follow source. When you choose SPECIFIED for this setting, you must + // also specify values for the parNumerator and parDenominator settings. ParControl *string `locationName:"parControl" type:"string" enum:"ProresParControl"` // Pixel Aspect Ratio denominator. @@ -17853,7 +17979,8 @@ func (s *UpdateQueueOutput) SetQueue(v *Queue) *UpdateQueueOutput { // each codec enum that you choose, define the corresponding settings object. // The following lists the codec enum, settings object pairs. * FRAME_CAPTURE, // FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, H265Settings -// * MPEG2, Mpeg2Settings * PRORES, ProresSettings +// * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VP8, Vp8Settings * VP9, +// Vp9Settings type VideoCodecSettings struct { _ struct{} `type:"structure"` @@ -17883,6 +18010,14 @@ type VideoCodecSettings struct { // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to // the value PRORES. ProresSettings *ProresSettings `locationName:"proresSettings" type:"structure"` + + // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to + // the value VP8. + Vp8Settings *Vp8Settings `locationName:"vp8Settings" type:"structure"` + + // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to + // the value VP9. + Vp9Settings *Vp9Settings `locationName:"vp9Settings" type:"structure"` } // String returns the string representation @@ -17928,6 +18063,16 @@ func (s *VideoCodecSettings) Validate() error { invalidParams.AddNested("ProresSettings", err.(request.ErrInvalidParams)) } } + if s.Vp8Settings != nil { + if err := s.Vp8Settings.Validate(); err != nil { + invalidParams.AddNested("Vp8Settings", err.(request.ErrInvalidParams)) + } + } + if s.Vp9Settings != nil { + if err := s.Vp9Settings.Validate(); err != nil { + invalidParams.AddNested("Vp9Settings", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -17977,6 +18122,18 @@ func (s *VideoCodecSettings) SetProresSettings(v *ProresSettings) *VideoCodecSet return s } +// SetVp8Settings sets the Vp8Settings field's value. +func (s *VideoCodecSettings) SetVp8Settings(v *Vp8Settings) *VideoCodecSettings { + s.Vp8Settings = v + return s +} + +// SetVp9Settings sets the Vp9Settings field's value. +func (s *VideoCodecSettings) SetVp9Settings(v *Vp9Settings) *VideoCodecSettings { + s.Vp9Settings = v + return s +} + // Settings for video outputs type VideoDescription struct { _ struct{} `type:"structure"` @@ -18000,7 +18157,8 @@ type VideoDescription struct { // each codec enum that you choose, define the corresponding settings object. // The following lists the codec enum, settings object pairs. * FRAME_CAPTURE, // FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, H265Settings - // * MPEG2, Mpeg2Settings * PRORES, ProresSettings + // * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VP8, Vp8Settings * VP9, + // Vp9Settings CodecSettings *VideoCodecSettings `locationName:"codecSettings" type:"structure"` // Choose Insert (INSERT) for this setting to include color metadata in this @@ -18497,6 +18655,484 @@ func (s *VideoSelector) SetRotate(v string) *VideoSelector { return s } +// Required when you set Codec, under AudioDescriptions>CodecSettings, to the +// value Vorbis. +type VorbisSettings struct { + _ struct{} `type:"structure"` + + // Optional. Specify the number of channels in this output audio track. Choosing + // Mono on the console gives you 1 output channel; choosing Stereo gives you + // 2. In the API, valid values are 1 and 2. The default value is 2. + Channels *int64 `locationName:"channels" min:"1" type:"integer"` + + // Optional. Specify the audio sample rate in Hz. Valid values are 22050, 32000, + // 44100, and 48000. The default value is 48000. + SampleRate *int64 `locationName:"sampleRate" min:"22050" type:"integer"` + + // Optional. Specify the variable audio quality of this Vorbis output from -1 + // (lowest quality, ~45 kbit/s) to 10 (highest quality, ~500 kbit/s). The default + // value is 4 (~128 kbit/s). Values 5 and 6 are approximately 160 and 192 kbit/s, + // respectively. + VbrQuality *int64 `locationName:"vbrQuality" type:"integer"` +} + +// String returns the string representation +func (s VorbisSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VorbisSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VorbisSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VorbisSettings"} + if s.Channels != nil && *s.Channels < 1 { + invalidParams.Add(request.NewErrParamMinValue("Channels", 1)) + } + if s.SampleRate != nil && *s.SampleRate < 22050 { + invalidParams.Add(request.NewErrParamMinValue("SampleRate", 22050)) + } + if s.VbrQuality != nil && *s.VbrQuality < -1 { + invalidParams.Add(request.NewErrParamMinValue("VbrQuality", -1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetChannels sets the Channels field's value. +func (s *VorbisSettings) SetChannels(v int64) *VorbisSettings { + s.Channels = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *VorbisSettings) SetSampleRate(v int64) *VorbisSettings { + s.SampleRate = &v + return s +} + +// SetVbrQuality sets the VbrQuality field's value. +func (s *VorbisSettings) SetVbrQuality(v int64) *VorbisSettings { + s.VbrQuality = &v + return s +} + +// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to +// the value VP8. +type Vp8Settings struct { + _ struct{} `type:"structure"` + + // Target bitrate in bits/second. For example, enter five megabits per second + // as 5000000. + Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"` + + // If you are using the console, use the Framerate setting to specify the frame + // rate for this output. If you want to keep the same frame rate as the input + // video, choose Follow source. If you want to do frame rate conversion, choose + // a frame rate from the dropdown list or choose Custom. The framerates shown + // in the dropdown list are decimal approximations of fractions. If you choose + // Custom, specify your frame rate as a fraction. If you are creating your transcoding + // job specification as a JSON file without the console, use FramerateControl + // to specify which value the service uses for the frame rate for this output. + // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate + // from the input. Choose SPECIFIED if you want the service to use the frame + // rate you specify in the settings FramerateNumerator and FramerateDenominator. + FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Vp8FramerateControl"` + + // Optional. Specify how the transcoder performs framerate conversion. The default + // behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose + // Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. + FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Vp8FramerateConversionAlgorithm"` + + // When you use the API for transcode jobs that use frame rate conversion, specify + // the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use + // FramerateDenominator to specify the denominator of this fraction. In this + // example, use 1001 for the value of FramerateDenominator. When you use the + // console for transcode jobs that use frame rate conversion, provide the value + // as a decimal number for Framerate. In this example, specify 23.976. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` + + // When you use the API for transcode jobs that use frame rate conversion, specify + // the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use + // FramerateNumerator to specify the numerator of this fraction. In this example, + // use 24000 for the value of FramerateNumerator. When you use the console for + // transcode jobs that use frame rate conversion, provide the value as a decimal + // number for Framerate. In this example, specify 23.976. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` + + // GOP Length (keyframe interval) in frames. Must be greater than zero. + GopSize *float64 `locationName:"gopSize" type:"double"` + + // Optional. Size of buffer (HRD buffer model) in bits. For example, enter five + // megabits as 5000000. + HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"` + + // Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. + // Specify the maximum bitrate in bits/second. For example, enter five megabits + // per second as 5000000. The default behavior uses twice the target bitrate + // as the maximum bitrate. + MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"` + + // Optional. Specify how the service determines the pixel aspect ratio (PAR) + // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), + // uses the PAR from your input video for your output. To specify a different + // PAR in the console, choose any value other than Follow source. To specify + // a different PAR by editing the JSON job specification, choose SPECIFIED. + // When you choose SPECIFIED for this setting, you must also specify values + // for the parNumerator and parDenominator settings. + ParControl *string `locationName:"parControl" type:"string" enum:"Vp8ParControl"` + + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parDenominator is 33. + ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` + + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parNumerator is 40. + ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` + + // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you + // want to trade off encoding speed for output video quality. The default behavior + // is faster, lower quality, multi-pass encoding. + QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"Vp8QualityTuningLevel"` + + // With the VP8 codec, you can use only the variable bitrate (VBR) rate control + // mode. + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"Vp8RateControlMode"` +} + +// String returns the string representation +func (s Vp8Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Vp8Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Vp8Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Vp8Settings"} + if s.Bitrate != nil && *s.Bitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000)) + } + if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) + } + if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + } + if s.MaxBitrate != nil && *s.MaxBitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000)) + } + if s.ParDenominator != nil && *s.ParDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + } + if s.ParNumerator != nil && *s.ParNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitrate sets the Bitrate field's value. +func (s *Vp8Settings) SetBitrate(v int64) *Vp8Settings { + s.Bitrate = &v + return s +} + +// SetFramerateControl sets the FramerateControl field's value. +func (s *Vp8Settings) SetFramerateControl(v string) *Vp8Settings { + s.FramerateControl = &v + return s +} + +// SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value. +func (s *Vp8Settings) SetFramerateConversionAlgorithm(v string) *Vp8Settings { + s.FramerateConversionAlgorithm = &v + return s +} + +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *Vp8Settings) SetFramerateDenominator(v int64) *Vp8Settings { + s.FramerateDenominator = &v + return s +} + +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *Vp8Settings) SetFramerateNumerator(v int64) *Vp8Settings { + s.FramerateNumerator = &v + return s +} + +// SetGopSize sets the GopSize field's value. +func (s *Vp8Settings) SetGopSize(v float64) *Vp8Settings { + s.GopSize = &v + return s +} + +// SetHrdBufferSize sets the HrdBufferSize field's value. +func (s *Vp8Settings) SetHrdBufferSize(v int64) *Vp8Settings { + s.HrdBufferSize = &v + return s +} + +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *Vp8Settings) SetMaxBitrate(v int64) *Vp8Settings { + s.MaxBitrate = &v + return s +} + +// SetParControl sets the ParControl field's value. +func (s *Vp8Settings) SetParControl(v string) *Vp8Settings { + s.ParControl = &v + return s +} + +// SetParDenominator sets the ParDenominator field's value. +func (s *Vp8Settings) SetParDenominator(v int64) *Vp8Settings { + s.ParDenominator = &v + return s +} + +// SetParNumerator sets the ParNumerator field's value. +func (s *Vp8Settings) SetParNumerator(v int64) *Vp8Settings { + s.ParNumerator = &v + return s +} + +// SetQualityTuningLevel sets the QualityTuningLevel field's value. +func (s *Vp8Settings) SetQualityTuningLevel(v string) *Vp8Settings { + s.QualityTuningLevel = &v + return s +} + +// SetRateControlMode sets the RateControlMode field's value. +func (s *Vp8Settings) SetRateControlMode(v string) *Vp8Settings { + s.RateControlMode = &v + return s +} + +// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to +// the value VP9. +type Vp9Settings struct { + _ struct{} `type:"structure"` + + // Target bitrate in bits/second. For example, enter five megabits per second + // as 5000000. + Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"` + + // If you are using the console, use the Framerate setting to specify the frame + // rate for this output. If you want to keep the same frame rate as the input + // video, choose Follow source. If you want to do frame rate conversion, choose + // a frame rate from the dropdown list or choose Custom. The framerates shown + // in the dropdown list are decimal approximations of fractions. If you choose + // Custom, specify your frame rate as a fraction. If you are creating your transcoding + // job specification as a JSON file without the console, use FramerateControl + // to specify which value the service uses for the frame rate for this output. + // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate + // from the input. Choose SPECIFIED if you want the service to use the frame + // rate you specify in the settings FramerateNumerator and FramerateDenominator. + FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Vp9FramerateControl"` + + // Optional. Specify how the transcoder performs framerate conversion. The default + // behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose + // Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. + FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Vp9FramerateConversionAlgorithm"` + + // When you use the API for transcode jobs that use frame rate conversion, specify + // the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use + // FramerateDenominator to specify the denominator of this fraction. In this + // example, use 1001 for the value of FramerateDenominator. When you use the + // console for transcode jobs that use frame rate conversion, provide the value + // as a decimal number for Framerate. In this example, specify 23.976. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` + + // When you use the API for transcode jobs that use frame rate conversion, specify + // the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use + // FramerateNumerator to specify the numerator of this fraction. In this example, + // use 24000 for the value of FramerateNumerator. When you use the console for + // transcode jobs that use frame rate conversion, provide the value as a decimal + // number for Framerate. In this example, specify 23.976. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` + + // GOP Length (keyframe interval) in frames. Must be greater than zero. + GopSize *float64 `locationName:"gopSize" type:"double"` + + // Size of buffer (HRD buffer model) in bits. For example, enter five megabits + // as 5000000. + HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"` + + // Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. + // Specify the maximum bitrate in bits/second. For example, enter five megabits + // per second as 5000000. The default behavior uses twice the target bitrate + // as the maximum bitrate. + MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"` + + // Optional. Specify how the service determines the pixel aspect ratio for this + // output. The default behavior is to use the same pixel aspect ratio as your + // input video. + ParControl *string `locationName:"parControl" type:"string" enum:"Vp9ParControl"` + + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parDenominator is 33. + ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` + + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parNumerator is 40. + ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` + + // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you + // want to trade off encoding speed for output video quality. The default behavior + // is faster, lower quality, multi-pass encoding. + QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"Vp9QualityTuningLevel"` + + // With the VP9 codec, you can use only the variable bitrate (VBR) rate control + // mode. + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"Vp9RateControlMode"` +} + +// String returns the string representation +func (s Vp9Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Vp9Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Vp9Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Vp9Settings"} + if s.Bitrate != nil && *s.Bitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000)) + } + if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) + } + if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + } + if s.MaxBitrate != nil && *s.MaxBitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000)) + } + if s.ParDenominator != nil && *s.ParDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + } + if s.ParNumerator != nil && *s.ParNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitrate sets the Bitrate field's value. +func (s *Vp9Settings) SetBitrate(v int64) *Vp9Settings { + s.Bitrate = &v + return s +} + +// SetFramerateControl sets the FramerateControl field's value. +func (s *Vp9Settings) SetFramerateControl(v string) *Vp9Settings { + s.FramerateControl = &v + return s +} + +// SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value. +func (s *Vp9Settings) SetFramerateConversionAlgorithm(v string) *Vp9Settings { + s.FramerateConversionAlgorithm = &v + return s +} + +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *Vp9Settings) SetFramerateDenominator(v int64) *Vp9Settings { + s.FramerateDenominator = &v + return s +} + +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *Vp9Settings) SetFramerateNumerator(v int64) *Vp9Settings { + s.FramerateNumerator = &v + return s +} + +// SetGopSize sets the GopSize field's value. +func (s *Vp9Settings) SetGopSize(v float64) *Vp9Settings { + s.GopSize = &v + return s +} + +// SetHrdBufferSize sets the HrdBufferSize field's value. +func (s *Vp9Settings) SetHrdBufferSize(v int64) *Vp9Settings { + s.HrdBufferSize = &v + return s +} + +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *Vp9Settings) SetMaxBitrate(v int64) *Vp9Settings { + s.MaxBitrate = &v + return s +} + +// SetParControl sets the ParControl field's value. +func (s *Vp9Settings) SetParControl(v string) *Vp9Settings { + s.ParControl = &v + return s +} + +// SetParDenominator sets the ParDenominator field's value. +func (s *Vp9Settings) SetParDenominator(v int64) *Vp9Settings { + s.ParDenominator = &v + return s +} + +// SetParNumerator sets the ParNumerator field's value. +func (s *Vp9Settings) SetParNumerator(v int64) *Vp9Settings { + s.ParNumerator = &v + return s +} + +// SetQualityTuningLevel sets the QualityTuningLevel field's value. +func (s *Vp9Settings) SetQualityTuningLevel(v string) *Vp9Settings { + s.QualityTuningLevel = &v + return s +} + +// SetRateControlMode sets the RateControlMode field's value. +func (s *Vp9Settings) SetRateControlMode(v string) *Vp9Settings { + s.RateControlMode = &v + return s +} + // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to // the value WAV. type WavSettings struct { @@ -18877,6 +19513,12 @@ const ( // AudioCodecEac3Atmos is a AudioCodec enum value AudioCodecEac3Atmos = "EAC3_ATMOS" + // AudioCodecVorbis is a AudioCodec enum value + AudioCodecVorbis = "VORBIS" + + // AudioCodecOpus is a AudioCodec enum value + AudioCodecOpus = "OPUS" + // AudioCodecPassthrough is a AudioCodec enum value AudioCodecPassthrough = "PASSTHROUGH" ) @@ -19526,6 +20168,9 @@ const ( // ContainerTypeMxf is a ContainerType enum value ContainerTypeMxf = "MXF" + // ContainerTypeWebm is a ContainerType enum value + ContainerTypeWebm = "WEBM" + // ContainerTypeRaw is a ContainerType enum value ContainerTypeRaw = "RAW" ) @@ -20335,7 +20980,8 @@ const ( H264FramerateControlSpecified = "SPECIFIED" ) -// When set to INTERPOLATE, produces smoother motion during frame rate conversion. +// Optional. Specify how the transcoder performs framerate conversion. The default +// behavior is to use duplicate drop conversion. const ( // H264FramerateConversionAlgorithmDuplicateDrop is a H264FramerateConversionAlgorithm enum value H264FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" @@ -20392,9 +21038,12 @@ const ( H264InterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD" ) -// Using the API, enable ParFollowSource if you want the service to use the -// pixel aspect ratio from the input. Using the console, do this by choosing -// Follow source for Pixel aspect ratio. +// Optional. Specify how the service determines the pixel aspect ratio (PAR) +// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), +// uses the PAR from your input video for your output. To use a different PAR, +// choose (SPECIFIED). In the console, SPECIFIED corresponds to any value other +// than Follow source. When you choose SPECIFIED for this setting, you must +// also specify values for the parNumerator and parDenominator settings. const ( // H264ParControlInitializeFromSource is a H264ParControl enum value H264ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" @@ -20403,9 +21052,9 @@ const ( H264ParControlSpecified = "SPECIFIED" ) -// Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to -// use fast single-pass, high-quality singlepass, or high-quality multipass -// video encoding. +// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you +// want to trade off encoding speed for output video quality. The default behavior +// is faster, lower quality, single-pass encoding. const ( // H264QualityTuningLevelSinglePass is a H264QualityTuningLevel enum value H264QualityTuningLevelSinglePass = "SINGLE_PASS" @@ -20655,7 +21304,7 @@ const ( // a frame rate from the dropdown list or choose Custom. The framerates shown // in the dropdown list are decimal approximations of fractions. If you choose // Custom, specify your frame rate as a fraction. If you are creating your transcoding -// job sepecification as a JSON file without the console, use FramerateControl +// job specification as a JSON file without the console, use FramerateControl // to specify which value the service uses for the frame rate for this output. // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate // from the input. Choose SPECIFIED if you want the service to use the frame @@ -20726,9 +21375,12 @@ const ( H265InterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD" ) -// Using the API, enable ParFollowSource if you want the service to use the -// pixel aspect ratio from the input. Using the console, do this by choosing -// Follow source for Pixel aspect ratio. +// Optional. Specify how the service determines the pixel aspect ratio (PAR) +// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), +// uses the PAR from your input video for your output. To use a different PAR, +// choose (SPECIFIED). In the console, SPECIFIED corresponds to any value other +// than Follow source. When you choose SPECIFIED for this setting, you must +// also specify values for the parNumerator and parDenominator settings. const ( // H265ParControlInitializeFromSource is a H265ParControl enum value H265ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" @@ -20737,9 +21389,9 @@ const ( H265ParControlSpecified = "SPECIFIED" ) -// Use Quality tuning level (H265QualityTuningLevel) to specifiy whether to -// use fast single-pass, high-quality singlepass, or high-quality multipass -// video encoding. +// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you +// want to trade off encoding speed for output video quality. The default behavior +// is faster, lower quality, single-pass encoding. const ( // H265QualityTuningLevelSinglePass is a H265QualityTuningLevel enum value H265QualityTuningLevelSinglePass = "SINGLE_PASS" @@ -21127,7 +21779,7 @@ const ( ) // Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. -// Default is disabled. Only manaully controllable for MPEG2 and uncompressed +// Default is disabled. Only manually controllable for MPEG2 and uncompressed // video inputs. const ( // InputDeblockFilterEnabled is a InputDeblockFilter enum value @@ -22253,7 +22905,7 @@ const ( // a frame rate from the dropdown list or choose Custom. The framerates shown // in the dropdown list are decimal approximations of fractions. If you choose // Custom, specify your frame rate as a fraction. If you are creating your transcoding -// job sepecification as a JSON file without the console, use FramerateControl +// job specification as a JSON file without the console, use FramerateControl // to specify which value the service uses for the frame rate for this output. // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate // from the input. Choose SPECIFIED if you want the service to use the frame @@ -22266,7 +22918,8 @@ const ( Mpeg2FramerateControlSpecified = "SPECIFIED" ) -// When set to INTERPOLATE, produces smoother motion during frame rate conversion. +// Optional. Specify how the transcoder performs framerate conversion. The default +// behavior is to use duplicate drop conversion. const ( // Mpeg2FramerateConversionAlgorithmDuplicateDrop is a Mpeg2FramerateConversionAlgorithm enum value Mpeg2FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" @@ -22334,9 +22987,12 @@ const ( Mpeg2IntraDcPrecisionIntraDcPrecision11 = "INTRA_DC_PRECISION_11" ) -// Using the API, enable ParFollowSource if you want the service to use the -// pixel aspect ratio from the input. Using the console, do this by choosing -// Follow source for Pixel aspect ratio. +// Optional. Specify how the service determines the pixel aspect ratio (PAR) +// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), +// uses the PAR from your input video for your output. To use a different PAR, +// choose (SPECIFIED). In the console, SPECIFIED corresponds to any value other +// than Follow source. When you choose SPECIFIED for this setting, you must +// also specify values for the parNumerator and parDenominator settings. const ( // Mpeg2ParControlInitializeFromSource is a Mpeg2ParControl enum value Mpeg2ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" @@ -22345,8 +23001,9 @@ const ( Mpeg2ParControlSpecified = "SPECIFIED" ) -// Use Quality tuning level (Mpeg2QualityTuningLevel) to specifiy whether to -// use single-pass or multipass video encoding. +// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you +// want to trade off encoding speed for output video quality. The default behavior +// is faster, lower quality, single-pass encoding. const ( // Mpeg2QualityTuningLevelSinglePass is a Mpeg2QualityTuningLevel enum value Mpeg2QualityTuningLevelSinglePass = "SINGLE_PASS" @@ -22466,6 +23123,21 @@ const ( MxfAfdSignalingCopyFromVideo = "COPY_FROM_VIDEO" ) +// Optional. When you set Noise reducer (noiseReducer) to Temporal (TEMPORAL), +// you can optionally use this setting to apply additional sharpening. The default +// behavior, Auto (AUTO) allows the transcoder to determine whether to apply +// filtering, depending on input type and quality. +const ( + // NoiseFilterPostTemporalSharpeningDisabled is a NoiseFilterPostTemporalSharpening enum value + NoiseFilterPostTemporalSharpeningDisabled = "DISABLED" + + // NoiseFilterPostTemporalSharpeningEnabled is a NoiseFilterPostTemporalSharpening enum value + NoiseFilterPostTemporalSharpeningEnabled = "ENABLED" + + // NoiseFilterPostTemporalSharpeningAuto is a NoiseFilterPostTemporalSharpening enum value + NoiseFilterPostTemporalSharpeningAuto = "AUTO" +) + // Use Noise reducer filter (NoiseReducerFilter) to select one of the following // spatial image filtering functions. To use this setting, you must also enable // Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing @@ -22597,7 +23269,7 @@ const ( // a frame rate from the dropdown list or choose Custom. The framerates shown // in the dropdown list are decimal approximations of fractions. If you choose // Custom, specify your frame rate as a fraction. If you are creating your transcoding -// job sepecification as a JSON file without the console, use FramerateControl +// job specification as a JSON file without the console, use FramerateControl // to specify which value the service uses for the frame rate for this output. // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate // from the input. Choose SPECIFIED if you want the service to use the frame @@ -22610,7 +23282,8 @@ const ( ProresFramerateControlSpecified = "SPECIFIED" ) -// When set to INTERPOLATE, produces smoother motion during frame rate conversion. +// Optional. Specify how the transcoder performs framerate conversion. The default +// behavior is to use duplicate drop conversion. const ( // ProresFramerateConversionAlgorithmDuplicateDrop is a ProresFramerateConversionAlgorithm enum value ProresFramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" @@ -22647,11 +23320,12 @@ const ( ProresInterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD" ) -// Use (ProresParControl) to specify how the service determines the pixel aspect -// ratio. Set to Follow source (INITIALIZE_FROM_SOURCE) to use the pixel aspect -// ratio from the input. To specify a different pixel aspect ratio: Using the -// console, choose it from the dropdown menu. Using the API, set ProresParControl -// to (SPECIFIED) and provide for (ParNumerator) and (ParDenominator). +// Optional. Specify how the service determines the pixel aspect ratio (PAR) +// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), +// uses the PAR from your input video for your output. To use a different PAR, +// choose (SPECIFIED). In the console, SPECIFIED corresponds to any value other +// than Follow source. When you choose SPECIFIED for this setting, you must +// also specify values for the parNumerator and parDenominator settings. const ( // ProresParControlInitializeFromSource is a ProresParControl enum value ProresParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" @@ -22994,6 +23668,12 @@ const ( // VideoCodecProres is a VideoCodec enum value VideoCodecProres = "PRORES" + + // VideoCodecVp8 is a VideoCodec enum value + VideoCodecVp8 = "VP8" + + // VideoCodecVp9 is a VideoCodec enum value + VideoCodecVp9 = "VP9" ) // Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode @@ -23016,6 +23696,132 @@ const ( VideoTimecodeInsertionPicTimingSei = "PIC_TIMING_SEI" ) +// If you are using the console, use the Framerate setting to specify the frame +// rate for this output. If you want to keep the same frame rate as the input +// video, choose Follow source. If you want to do frame rate conversion, choose +// a frame rate from the dropdown list or choose Custom. The framerates shown +// in the dropdown list are decimal approximations of fractions. If you choose +// Custom, specify your frame rate as a fraction. If you are creating your transcoding +// job specification as a JSON file without the console, use FramerateControl +// to specify which value the service uses for the frame rate for this output. +// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate +// from the input. Choose SPECIFIED if you want the service to use the frame +// rate you specify in the settings FramerateNumerator and FramerateDenominator. +const ( + // Vp8FramerateControlInitializeFromSource is a Vp8FramerateControl enum value + Vp8FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // Vp8FramerateControlSpecified is a Vp8FramerateControl enum value + Vp8FramerateControlSpecified = "SPECIFIED" +) + +// Optional. Specify how the transcoder performs framerate conversion. The default +// behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose +// Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. +const ( + // Vp8FramerateConversionAlgorithmDuplicateDrop is a Vp8FramerateConversionAlgorithm enum value + Vp8FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" + + // Vp8FramerateConversionAlgorithmInterpolate is a Vp8FramerateConversionAlgorithm enum value + Vp8FramerateConversionAlgorithmInterpolate = "INTERPOLATE" +) + +// Optional. Specify how the service determines the pixel aspect ratio (PAR) +// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), +// uses the PAR from your input video for your output. To specify a different +// PAR in the console, choose any value other than Follow source. To specify +// a different PAR by editing the JSON job specification, choose SPECIFIED. +// When you choose SPECIFIED for this setting, you must also specify values +// for the parNumerator and parDenominator settings. +const ( + // Vp8ParControlInitializeFromSource is a Vp8ParControl enum value + Vp8ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // Vp8ParControlSpecified is a Vp8ParControl enum value + Vp8ParControlSpecified = "SPECIFIED" +) + +// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you +// want to trade off encoding speed for output video quality. The default behavior +// is faster, lower quality, multi-pass encoding. +const ( + // Vp8QualityTuningLevelMultiPass is a Vp8QualityTuningLevel enum value + Vp8QualityTuningLevelMultiPass = "MULTI_PASS" + + // Vp8QualityTuningLevelMultiPassHq is a Vp8QualityTuningLevel enum value + Vp8QualityTuningLevelMultiPassHq = "MULTI_PASS_HQ" +) + +// With the VP8 codec, you can use only the variable bitrate (VBR) rate control +// mode. +const ( + // Vp8RateControlModeVbr is a Vp8RateControlMode enum value + Vp8RateControlModeVbr = "VBR" +) + +// If you are using the console, use the Framerate setting to specify the frame +// rate for this output. If you want to keep the same frame rate as the input +// video, choose Follow source. If you want to do frame rate conversion, choose +// a frame rate from the dropdown list or choose Custom. The framerates shown +// in the dropdown list are decimal approximations of fractions. If you choose +// Custom, specify your frame rate as a fraction. If you are creating your transcoding +// job specification as a JSON file without the console, use FramerateControl +// to specify which value the service uses for the frame rate for this output. +// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate +// from the input. Choose SPECIFIED if you want the service to use the frame +// rate you specify in the settings FramerateNumerator and FramerateDenominator. +const ( + // Vp9FramerateControlInitializeFromSource is a Vp9FramerateControl enum value + Vp9FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // Vp9FramerateControlSpecified is a Vp9FramerateControl enum value + Vp9FramerateControlSpecified = "SPECIFIED" +) + +// Optional. Specify how the transcoder performs framerate conversion. The default +// behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose +// Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. +const ( + // Vp9FramerateConversionAlgorithmDuplicateDrop is a Vp9FramerateConversionAlgorithm enum value + Vp9FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" + + // Vp9FramerateConversionAlgorithmInterpolate is a Vp9FramerateConversionAlgorithm enum value + Vp9FramerateConversionAlgorithmInterpolate = "INTERPOLATE" +) + +// Optional. Specify how the service determines the pixel aspect ratio (PAR) +// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), +// uses the PAR from your input video for your output. To specify a different +// PAR in the console, choose any value other than Follow source. To specify +// a different PAR by editing the JSON job specification, choose SPECIFIED. +// When you choose SPECIFIED for this setting, you must also specify values +// for the parNumerator and parDenominator settings. +const ( + // Vp9ParControlInitializeFromSource is a Vp9ParControl enum value + Vp9ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // Vp9ParControlSpecified is a Vp9ParControl enum value + Vp9ParControlSpecified = "SPECIFIED" +) + +// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you +// want to trade off encoding speed for output video quality. The default behavior +// is faster, lower quality, multi-pass encoding. +const ( + // Vp9QualityTuningLevelMultiPass is a Vp9QualityTuningLevel enum value + Vp9QualityTuningLevelMultiPass = "MULTI_PASS" + + // Vp9QualityTuningLevelMultiPassHq is a Vp9QualityTuningLevel enum value + Vp9QualityTuningLevelMultiPassHq = "MULTI_PASS_HQ" +) + +// With the VP9 codec, you can use only the variable bitrate (VBR) rate control +// mode. +const ( + // Vp9RateControlModeVbr is a Vp9RateControlMode enum value + Vp9RateControlModeVbr = "VBR" +) + // The service defaults to using RIFF for WAV outputs. If your output audio // is likely to exceed 4 GB in file size, or if you otherwise need the extended // support of the RF64 format, set your output WAV file format to RF64. diff --git a/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go b/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go index 77af5917c09..958551035d5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go @@ -727,6 +727,95 @@ func (c *Personalize) CreateEventTrackerWithContext(ctx aws.Context, input *Crea return out, req.Send() } +const opCreateFilter = "CreateFilter" + +// CreateFilterRequest generates a "aws/request.Request" representing the +// client's request for the CreateFilter 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 CreateFilter for more information on using the CreateFilter +// 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 CreateFilterRequest method. +// req, resp := client.CreateFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateFilter +func (c *Personalize) CreateFilterRequest(input *CreateFilterInput) (req *request.Request, output *CreateFilterOutput) { + op := &request.Operation{ + Name: opCreateFilter, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateFilterInput{} + } + + output = &CreateFilterOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateFilter API operation for Amazon Personalize. +// +// Creates a recommendation filter. For more information, see Using Filters +// with Amazon Personalize. +// +// 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 Personalize's +// API operation CreateFilter for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// Provide a valid value for the field or parameter. +// +// * ResourceAlreadyExistsException +// The specified resource already exists. +// +// * ResourceNotFoundException +// Could not find the specified resource. +// +// * LimitExceededException +// The limit on the number of requests per second has been exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateFilter +func (c *Personalize) CreateFilter(input *CreateFilterInput) (*CreateFilterOutput, error) { + req, out := c.CreateFilterRequest(input) + return out, req.Send() +} + +// CreateFilterWithContext is the same as CreateFilter with the addition of +// the ability to pass a context and additional request options. +// +// See CreateFilter 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 *Personalize) CreateFilterWithContext(ctx aws.Context, input *CreateFilterInput, opts ...request.Option) (*CreateFilterOutput, error) { + req, out := c.CreateFilterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateSchema = "CreateSchema" // CreateSchemaRequest generates a "aws/request.Request" representing the @@ -1429,6 +1518,89 @@ func (c *Personalize) DeleteEventTrackerWithContext(ctx aws.Context, input *Dele return out, req.Send() } +const opDeleteFilter = "DeleteFilter" + +// DeleteFilterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFilter 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 DeleteFilter for more information on using the DeleteFilter +// 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 DeleteFilterRequest method. +// req, resp := client.DeleteFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteFilter +func (c *Personalize) DeleteFilterRequest(input *DeleteFilterInput) (req *request.Request, output *DeleteFilterOutput) { + op := &request.Operation{ + Name: opDeleteFilter, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteFilterInput{} + } + + output = &DeleteFilterOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteFilter API operation for Amazon Personalize. +// +// Deletes a filter. +// +// 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 Personalize's +// API operation DeleteFilter for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// Provide a valid value for the field or parameter. +// +// * ResourceNotFoundException +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteFilter +func (c *Personalize) DeleteFilter(input *DeleteFilterInput) (*DeleteFilterOutput, error) { + req, out := c.DeleteFilterRequest(input) + return out, req.Send() +} + +// DeleteFilterWithContext is the same as DeleteFilter with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteFilter 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 *Personalize) DeleteFilterWithContext(ctx aws.Context, input *DeleteFilterInput, opts ...request.Option) (*DeleteFilterOutput, error) { + req, out := c.DeleteFilterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteSchema = "DeleteSchema" // DeleteSchemaRequest generates a "aws/request.Request" representing the @@ -2279,6 +2451,88 @@ func (c *Personalize) DescribeFeatureTransformationWithContext(ctx aws.Context, return out, req.Send() } +const opDescribeFilter = "DescribeFilter" + +// DescribeFilterRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFilter 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 DescribeFilter for more information on using the DescribeFilter +// 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 DescribeFilterRequest method. +// req, resp := client.DescribeFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFilter +func (c *Personalize) DescribeFilterRequest(input *DescribeFilterInput) (req *request.Request, output *DescribeFilterOutput) { + op := &request.Operation{ + Name: opDescribeFilter, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeFilterInput{} + } + + output = &DescribeFilterOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFilter API operation for Amazon Personalize. +// +// Describes a filter's properties. +// +// 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 Personalize's +// API operation DescribeFilter for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// Provide a valid value for the field or parameter. +// +// * ResourceNotFoundException +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFilter +func (c *Personalize) DescribeFilter(input *DescribeFilterInput) (*DescribeFilterOutput, error) { + req, out := c.DescribeFilterRequest(input) + return out, req.Send() +} + +// DescribeFilterWithContext is the same as DescribeFilter with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFilter 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 *Personalize) DescribeFilterWithContext(ctx aws.Context, input *DescribeFilterInput, opts ...request.Option) (*DescribeFilterOutput, error) { + req, out := c.DescribeFilterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeRecipe = "DescribeRecipe" // DescribeRecipeRequest generates a "aws/request.Request" representing the @@ -3561,6 +3815,88 @@ func (c *Personalize) ListEventTrackersPagesWithContext(ctx aws.Context, input * return p.Err() } +const opListFilters = "ListFilters" + +// ListFiltersRequest generates a "aws/request.Request" representing the +// client's request for the ListFilters 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 ListFilters for more information on using the ListFilters +// 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 ListFiltersRequest method. +// req, resp := client.ListFiltersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListFilters +func (c *Personalize) ListFiltersRequest(input *ListFiltersInput) (req *request.Request, output *ListFiltersOutput) { + op := &request.Operation{ + Name: opListFilters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListFiltersInput{} + } + + output = &ListFiltersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFilters API operation for Amazon Personalize. +// +// Lists all filters that belong to a given dataset group. +// +// 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 Personalize's +// API operation ListFilters for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// Provide a valid value for the field or parameter. +// +// * InvalidNextTokenException +// The token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListFilters +func (c *Personalize) ListFilters(input *ListFiltersInput) (*ListFiltersOutput, error) { + req, out := c.ListFiltersRequest(input) + return out, req.Send() +} + +// ListFiltersWithContext is the same as ListFilters with the addition of +// the ability to pass a context and additional request options. +// +// See ListFilters 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 *Personalize) ListFiltersWithContext(ctx aws.Context, input *ListFiltersInput, opts ...request.Option) (*ListFiltersOutput, error) { + req, out := c.ListFiltersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListRecipes = "ListRecipes" // ListRecipesRequest generates a "aws/request.Request" representing the @@ -4437,6 +4773,9 @@ type BatchInferenceJob struct { // If the batch inference job failed, the reason for the failure. FailureReason *string `locationName:"failureReason" type:"string"` + // The ARN of the filter used on the batch inference job. + FilterArn *string `locationName:"filterArn" type:"string"` + // The Amazon S3 path that leads to the input data used to generate the batch // inference job. JobInput *BatchInferenceJobInput `locationName:"jobInput" type:"structure"` @@ -4504,6 +4843,12 @@ func (s *BatchInferenceJob) SetFailureReason(v string) *BatchInferenceJob { return s } +// SetFilterArn sets the FilterArn field's value. +func (s *BatchInferenceJob) SetFilterArn(v string) *BatchInferenceJob { + s.FilterArn = &v + return s +} + // SetJobInput sets the JobInput field's value. func (s *BatchInferenceJob) SetJobInput(v *BatchInferenceJobInput) *BatchInferenceJob { s.JobInput = v @@ -5082,6 +5427,10 @@ func (s *ContinuousHyperParameterRange) SetName(v string) *ContinuousHyperParame type CreateBatchInferenceJobInput struct { _ struct{} `type:"structure"` + // The ARN of the filter to apply to the batch inference job. For more information + // on using filters, see Using Filters with Amazon Personalize. + FilterArn *string `locationName:"filterArn" type:"string"` + // The Amazon S3 path that leads to the input file to base your recommendations // on. The input material must be in JSON format. // @@ -5162,6 +5511,12 @@ func (s *CreateBatchInferenceJobInput) Validate() error { return nil } +// SetFilterArn sets the FilterArn field's value. +func (s *CreateBatchInferenceJobInput) SetFilterArn(v string) *CreateBatchInferenceJobInput { + s.FilterArn = &v + return s +} + // SetJobInput sets the JobInput field's value. func (s *CreateBatchInferenceJobInput) SetJobInput(v *BatchInferenceJobInput) *CreateBatchInferenceJobInput { s.JobInput = v @@ -5713,6 +6068,108 @@ func (s *CreateEventTrackerOutput) SetTrackingId(v string) *CreateEventTrackerOu return s } +type CreateFilterInput struct { + _ struct{} `type:"structure"` + + // The ARN of the dataset group that the filter will belong to. + // + // DatasetGroupArn is a required field + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"` + + // The filter expression that designates the interaction types that the filter + // will filter out. A filter expression must follow the following format: + // + // EXCLUDE itemId WHERE INTERACTIONS.event_type in ("EVENT_TYPE") + // + // Where "EVENT_TYPE" is the type of event to filter out. To filter out all + // items with any interactions history, set "*" as the EVENT_TYPE. For more + // information, see Using Filters with Amazon Personalize. + // + // FilterExpression is a required field + FilterExpression *string `locationName:"filterExpression" min:"1" type:"string" required:"true" sensitive:"true"` + + // The name of the filter to create. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateFilterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFilterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFilterInput"} + if s.DatasetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn")) + } + if s.FilterExpression == nil { + invalidParams.Add(request.NewErrParamRequired("FilterExpression")) + } + if s.FilterExpression != nil && len(*s.FilterExpression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FilterExpression", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *CreateFilterInput) SetDatasetGroupArn(v string) *CreateFilterInput { + s.DatasetGroupArn = &v + return s +} + +// SetFilterExpression sets the FilterExpression field's value. +func (s *CreateFilterInput) SetFilterExpression(v string) *CreateFilterInput { + s.FilterExpression = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateFilterInput) SetName(v string) *CreateFilterInput { + s.Name = &v + return s +} + +type CreateFilterOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the new filter. + FilterArn *string `locationName:"filterArn" type:"string"` +} + +// String returns the string representation +func (s CreateFilterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFilterOutput) GoString() string { + return s.String() +} + +// SetFilterArn sets the FilterArn field's value. +func (s *CreateFilterOutput) SetFilterArn(v string) *CreateFilterOutput { + s.FilterArn = &v + return s +} + type CreateSchemaInput struct { _ struct{} `type:"structure"` @@ -7097,6 +7554,58 @@ func (s DeleteEventTrackerOutput) GoString() string { return s.String() } +type DeleteFilterInput struct { + _ struct{} `type:"structure"` + + // The ARN of the filter to delete. + // + // FilterArn is a required field + FilterArn *string `locationName:"filterArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteFilterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFilterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFilterInput"} + if s.FilterArn == nil { + invalidParams.Add(request.NewErrParamRequired("FilterArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilterArn sets the FilterArn field's value. +func (s *DeleteFilterInput) SetFilterArn(v string) *DeleteFilterInput { + s.FilterArn = &v + return s +} + +type DeleteFilterOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteFilterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFilterOutput) GoString() string { + return s.String() +} + type DeleteSchemaInput struct { _ struct{} `type:"structure"` @@ -7699,6 +8208,67 @@ func (s *DescribeFeatureTransformationOutput) SetFeatureTransformation(v *Featur return s } +type DescribeFilterInput struct { + _ struct{} `type:"structure"` + + // The ARN of the filter to describe. + // + // FilterArn is a required field + FilterArn *string `locationName:"filterArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeFilterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFilterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFilterInput"} + if s.FilterArn == nil { + invalidParams.Add(request.NewErrParamRequired("FilterArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilterArn sets the FilterArn field's value. +func (s *DescribeFilterInput) SetFilterArn(v string) *DescribeFilterInput { + s.FilterArn = &v + return s +} + +type DescribeFilterOutput struct { + _ struct{} `type:"structure"` + + // The filter's details. + Filter *Filter `locationName:"filter" type:"structure"` +} + +// String returns the string representation +func (s DescribeFilterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFilterOutput) GoString() string { + return s.String() +} + +// SetFilter sets the Filter field's value. +func (s *DescribeFilterOutput) SetFilter(v *Filter) *DescribeFilterOutput { + s.Filter = v + return s +} + type DescribeRecipeInput struct { _ struct{} `type:"structure"` @@ -8180,6 +8750,178 @@ func (s *FeatureTransformation) SetStatus(v string) *FeatureTransformation { return s } +// Contains information on a recommendation filter, including its ARN, status, +// and filter expression. +type Filter struct { + _ struct{} `type:"structure"` + + // The time at which the filter was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The ARN of the dataset group to which the filter belongs. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // If the filter failed, the reason for its failure. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The ARN of the filter. + FilterArn *string `locationName:"filterArn" type:"string"` + + // Specifies the type of item interactions to filter out of recommendation results. + // The filter expression must follow the following format: + // + // EXCLUDE itemId WHERE INTERACTIONS.event_type in ("EVENT_TYPE") + // + // Where "EVENT_TYPE" is the type of event to filter out. For more information, + // see Using Filters with Amazon Personalize. + FilterExpression *string `locationName:"filterExpression" min:"1" type:"string" sensitive:"true"` + + // The time at which the filter was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the filter. + Name *string `locationName:"name" min:"1" type:"string"` + + // The status of the filter. + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *Filter) SetCreationDateTime(v time.Time) *Filter { + s.CreationDateTime = &v + return s +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *Filter) SetDatasetGroupArn(v string) *Filter { + s.DatasetGroupArn = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *Filter) SetFailureReason(v string) *Filter { + s.FailureReason = &v + return s +} + +// SetFilterArn sets the FilterArn field's value. +func (s *Filter) SetFilterArn(v string) *Filter { + s.FilterArn = &v + return s +} + +// SetFilterExpression sets the FilterExpression field's value. +func (s *Filter) SetFilterExpression(v string) *Filter { + s.FilterExpression = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *Filter) SetLastUpdatedDateTime(v time.Time) *Filter { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Filter) SetStatus(v string) *Filter { + s.Status = &v + return s +} + +// A short summary of a filter's attributes. +type FilterSummary struct { + _ struct{} `type:"structure"` + + // The time at which the filter was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The ARN of the dataset group to which the filter belongs. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // If the filter failed, the reason for the failure. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The ARN of the filter. + FilterArn *string `locationName:"filterArn" type:"string"` + + // The time at which the filter was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the filter. + Name *string `locationName:"name" min:"1" type:"string"` + + // The status of the filter. + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s FilterSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FilterSummary) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *FilterSummary) SetCreationDateTime(v time.Time) *FilterSummary { + s.CreationDateTime = &v + return s +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *FilterSummary) SetDatasetGroupArn(v string) *FilterSummary { + s.DatasetGroupArn = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *FilterSummary) SetFailureReason(v string) *FilterSummary { + s.FailureReason = &v + return s +} + +// SetFilterArn sets the FilterArn field's value. +func (s *FilterSummary) SetFilterArn(v string) *FilterSummary { + s.FilterArn = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *FilterSummary) SetLastUpdatedDateTime(v time.Time) *FilterSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *FilterSummary) SetName(v string) *FilterSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *FilterSummary) SetStatus(v string) *FilterSummary { + s.Status = &v + return s +} + type GetSolutionMetricsInput struct { _ struct{} `type:"structure"` @@ -9201,6 +9943,93 @@ func (s *ListEventTrackersOutput) SetNextToken(v string) *ListEventTrackersOutpu return s } +type ListFiltersInput struct { + _ struct{} `type:"structure"` + + // The ARN of the dataset group that contains the filters. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // The maximum number of filters to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListFilters for getting the next + // set of filters (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListFiltersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFiltersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFiltersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *ListFiltersInput) SetDatasetGroupArn(v string) *ListFiltersInput { + s.DatasetGroupArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput { + s.NextToken = &v + return s +} + +type ListFiltersOutput struct { + _ struct{} `type:"structure"` + + // A list of returned filters. + Filters []*FilterSummary `type:"list"` + + // A token for getting the next set of filters (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListFiltersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFiltersOutput) GoString() string { + return s.String() +} + +// SetFilters sets the Filters field's value. +func (s *ListFiltersOutput) SetFilters(v []*FilterSummary) *ListFiltersOutput { + s.Filters = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput { + s.NextToken = &v + return s +} + type ListRecipesInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go index d0798a85c60..fd791c40bd8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go @@ -12569,6 +12569,10 @@ func (s *ActivitiesResponse) SetNextToken(v string) *ActivitiesResponse { type Activity struct { _ struct{} `type:"structure"` + // The settings for a custom message activity. This type of activity calls an + // AWS Lambda function or web hook that sends messages to participants. + CUSTOM *CustomMessageActivity `type:"structure"` + // The settings for a yes/no split activity. This type of activity sends participants // down one of two paths in a journey, based on conditions that you specify. ConditionalSplit *ConditionalSplitActivity `type:"structure"` @@ -12589,11 +12593,19 @@ type Activity struct { // path) in a journey, based on conditions that you specify. MultiCondition *MultiConditionalSplitActivity `type:"structure"` + // The settings for a push notification activity. This type of activity sends + // a push notification to participants. + PUSH *PushMessageActivity `type:"structure"` + // The settings for a random split activity. This type of activity randomly // sends specified percentages of participants down one of as many as five paths // in a journey, based on conditions that you specify. RandomSplit *RandomSplitActivity `type:"structure"` + // The settings for an SMS activity. This type of activity sends a text message + // to participants. + SMS *SMSMessageActivity `type:"structure"` + // The settings for a wait activity. This type of activity waits for a certain // amount of time or until a specific date and time before moving participants // to the next activity in a journey. @@ -12635,6 +12647,12 @@ func (s *Activity) Validate() error { return nil } +// SetCUSTOM sets the CUSTOM field's value. +func (s *Activity) SetCUSTOM(v *CustomMessageActivity) *Activity { + s.CUSTOM = v + return s +} + // SetConditionalSplit sets the ConditionalSplit field's value. func (s *Activity) SetConditionalSplit(v *ConditionalSplitActivity) *Activity { s.ConditionalSplit = v @@ -12665,12 +12683,24 @@ func (s *Activity) SetMultiCondition(v *MultiConditionalSplitActivity) *Activity return s } +// SetPUSH sets the PUSH field's value. +func (s *Activity) SetPUSH(v *PushMessageActivity) *Activity { + s.PUSH = v + return s +} + // SetRandomSplit sets the RandomSplit field's value. func (s *Activity) SetRandomSplit(v *RandomSplitActivity) *Activity { s.RandomSplit = v return s } +// SetSMS sets the SMS field's value. +func (s *Activity) SetSMS(v *SMSMessageActivity) *Activity { + s.SMS = v + return s +} + // SetWait sets the Wait field's value. func (s *Activity) SetWait(v *WaitActivity) *Activity { s.Wait = v @@ -14452,10 +14482,10 @@ type CampaignSmsMessage struct { // The body of the SMS message. Body *string `type:"string"` - // The type of SMS message. Valid values are: TRANSACTIONAL, the message is - // critical or time-sensitive, such as a one-time password that supports a customer - // transaction; and, PROMOTIONAL, the message isn't critical or time-sensitive, - // such as a marketing message. + // The SMS message type. Valid values are TRANSACTIONAL (for messages that are + // critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL + // (for messsages that aren't critical or time-sensitive, such as marketing + // messages). MessageType *string `type:"string" enum:"MessageType"` // The sender ID to display on recipients' devices when they receive the SMS @@ -16029,6 +16059,97 @@ func (s *CustomDeliveryConfiguration) SetEndpointTypes(v []*string) *CustomDeliv return s } +// The settings for a custom message activity. This type of activity calls an +// AWS Lambda function or web hook that sends messages to participants. +type CustomMessageActivity struct { + _ struct{} `type:"structure"` + + // The destination to send the custom message to. This value can be one of the + // following: + // + // * The name or Amazon Resource Name (ARN) of an AWS Lambda function to + // invoke to handle delivery of the custom message. + // + // * The URL for a web application or service that supports HTTPS and can + // receive the message. The URL has to be a full URL, including the HTTPS + // protocol. + DeliveryUri *string `type:"string"` + + // The types of endpoints to send the custom message to. Each valid value maps + // to a type of channel that you can associate with an endpoint by using the + // ChannelType property of an endpoint. + EndpointTypes []*string `type:"list"` + + // Specifies the message data included in a custom channel message that's sent + // to participants in a journey. + MessageConfig *JourneyCustomMessage `type:"structure"` + + // The unique identifier for the next activity to perform, after Amazon Pinpoint + // calls the AWS Lambda function or web hook. + NextActivity *string `type:"string"` + + // The name of the custom message template to use for the message. If specified, + // this value must match the name of an existing message template. + TemplateName *string `type:"string"` + + // The unique identifier for the version of the message template to use for + // the message. If specified, this value must match the identifier for an existing + // template version. To retrieve a list of versions and version identifiers + // for a template, use the Template Versions resource. + // + // If you don't specify a value for this property, Amazon Pinpoint uses the + // active version of the template. The active version is typically the version + // of a template that's been most recently reviewed and approved for use, depending + // on your workflow. It isn't necessarily the latest version of a template. + TemplateVersion *string `type:"string"` +} + +// String returns the string representation +func (s CustomMessageActivity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomMessageActivity) GoString() string { + return s.String() +} + +// SetDeliveryUri sets the DeliveryUri field's value. +func (s *CustomMessageActivity) SetDeliveryUri(v string) *CustomMessageActivity { + s.DeliveryUri = &v + return s +} + +// SetEndpointTypes sets the EndpointTypes field's value. +func (s *CustomMessageActivity) SetEndpointTypes(v []*string) *CustomMessageActivity { + s.EndpointTypes = v + return s +} + +// SetMessageConfig sets the MessageConfig field's value. +func (s *CustomMessageActivity) SetMessageConfig(v *JourneyCustomMessage) *CustomMessageActivity { + s.MessageConfig = v + return s +} + +// SetNextActivity sets the NextActivity field's value. +func (s *CustomMessageActivity) SetNextActivity(v string) *CustomMessageActivity { + s.NextActivity = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CustomMessageActivity) SetTemplateName(v string) *CustomMessageActivity { + s.TemplateName = &v + return s +} + +// SetTemplateVersion sets the TemplateVersion field's value. +func (s *CustomMessageActivity) SetTemplateVersion(v string) *CustomMessageActivity { + s.TemplateVersion = &v + return s +} + // Specifies the default message for all channels. type DefaultMessage struct { _ struct{} `type:"structure"` @@ -18218,14 +18339,16 @@ func (s *EmailMessage) SetSubstitutions(v map[string][]*string) *EmailMessage { type EmailMessageActivity struct { _ struct{} `type:"structure"` - // The "From" address to use for the message. + // Specifies the sender address for an email message that's sent to participants + // in the journey. MessageConfig *JourneyEmailMessage `type:"structure"` // The unique identifier for the next activity to perform, after the message // is sent. NextActivity *string `type:"string"` - // The name of the email template to use for the message. + // The name of the email message template to use for the message. If specified, + // this value must match the name of an existing message template. TemplateName *string `type:"string"` // The unique identifier for the version of the email template to use for the @@ -25025,6 +25148,31 @@ func (s *ItemResponse) SetEventsItemResponse(v map[string]*EventItemResponse) *I return s } +// Specifies the message content for a custom channel message that's sent to +// participants in a journey. +type JourneyCustomMessage struct { + _ struct{} `type:"structure"` + + // The message content that's passed to an AWS Lambda function or to a web hook. + Data *string `type:"string"` +} + +// String returns the string representation +func (s JourneyCustomMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JourneyCustomMessage) GoString() string { + return s.String() +} + +// SetData sets the Data field's value. +func (s *JourneyCustomMessage) SetData(v string) *JourneyCustomMessage { + s.Data = &v + return s +} + // Provides the results of a query that retrieved the data for a standard engagement // metric that applies to a journey, and provides information about that query. type JourneyDateRangeKpiResponse struct { @@ -25200,7 +25348,7 @@ type JourneyExecutionActivityMetricsResponse struct { // A JSON object that contains the results of the query. The results vary depending // on the type of activity (ActivityType). For information about the structure - // and contents of the results, see the Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). + // and contents of the results, see the Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html). // // Metrics is a required field Metrics map[string]*string `type:"map" required:"true"` @@ -25275,7 +25423,7 @@ type JourneyExecutionMetricsResponse struct { // A JSON object that contains the results of the query. For information about // the structure and contents of the results, see the Amazon Pinpoint Developer - // Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). + // Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html). // // Metrics is a required field Metrics map[string]*string `type:"map" required:"true"` @@ -25361,6 +25509,39 @@ func (s *JourneyLimits) SetMessagesPerSecond(v int64) *JourneyLimits { return s } +// Specifies the message configuration for a push notification that's sent to +// participants in a journey. +type JourneyPushMessage struct { + _ struct{} `type:"structure"` + + // The number of seconds that the push notification service should keep the + // message, if the service is unable to deliver the notification the first time. + // This value is converted to an expiration value when it's sent to a push-notification + // service. If this value is 0, the service treats the notification as if it + // expires immediately and the service doesn't store or try to deliver the notification + // again. + // + // This value doesn't apply to messages that are sent through the Amazon Device + // Messaging (ADM) service. + TimeToLive *string `type:"string"` +} + +// String returns the string representation +func (s JourneyPushMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JourneyPushMessage) GoString() string { + return s.String() +} + +// SetTimeToLive sets the TimeToLive field's value. +func (s *JourneyPushMessage) SetTimeToLive(v string) *JourneyPushMessage { + s.TimeToLive = &v + return s +} + // Provides information about the status, configuration, and other settings // for a journey. type JourneyResponse struct { @@ -25559,6 +25740,46 @@ func (s *JourneyResponse) SetTags(v map[string]*string) *JourneyResponse { return s } +// Specifies the sender ID and message type for an SMS message that's sent to +// participants in a journey. +type JourneySMSMessage struct { + _ struct{} `type:"structure"` + + // The SMS message type. Valid values are TRANSACTIONAL (for messages that are + // critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL + // (for messsages that aren't critical or time-sensitive, such as marketing + // messages). + MessageType *string `type:"string" enum:"MessageType"` + + // The sender ID to display as the sender of the message on a recipient's device. + // Support for sender IDs varies by country or region. For more information, + // see Supported Countries and Regions (https://docs.aws.amazon.com.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html) + // in the Amazon Pinpoint User Guide. + SenderId *string `type:"string"` +} + +// String returns the string representation +func (s JourneySMSMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JourneySMSMessage) GoString() string { + return s.String() +} + +// SetMessageType sets the MessageType field's value. +func (s *JourneySMSMessage) SetMessageType(v string) *JourneySMSMessage { + s.MessageType = &v + return s +} + +// SetSenderId sets the SenderId field's value. +func (s *JourneySMSMessage) SetSenderId(v string) *JourneySMSMessage { + s.SenderId = &v + return s +} + // Specifies the schedule settings for a journey. type JourneySchedule struct { _ struct{} `type:"structure"` @@ -27280,6 +27501,69 @@ func (s *PublicEndpoint) SetUser(v *EndpointUser) *PublicEndpoint { return s } +// Specifies the settings for a push notification activity in a journey. This +// type of activity sends a push notification to participants. +type PushMessageActivity struct { + _ struct{} `type:"structure"` + + // Specifies the time to live (TTL) value for push notifications that are sent + // to participants in a journey. + MessageConfig *JourneyPushMessage `type:"structure"` + + // The unique identifier for the next activity to perform, after the message + // is sent. + NextActivity *string `type:"string"` + + // The name of the push notification template to use for the message. If specified, + // this value must match the name of an existing message template. + TemplateName *string `type:"string"` + + // The unique identifier for the version of the push notification template to + // use for the message. If specified, this value must match the identifier for + // an existing template version. To retrieve a list of versions and version + // identifiers for a template, use the Template Versions resource. + // + // If you don't specify a value for this property, Amazon Pinpoint uses the + // active version of the template. The active version is typically the version + // of a template that's been most recently reviewed and approved for use, depending + // on your workflow. It isn't necessarily the latest version of a template. + TemplateVersion *string `type:"string"` +} + +// String returns the string representation +func (s PushMessageActivity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PushMessageActivity) GoString() string { + return s.String() +} + +// SetMessageConfig sets the MessageConfig field's value. +func (s *PushMessageActivity) SetMessageConfig(v *JourneyPushMessage) *PushMessageActivity { + s.MessageConfig = v + return s +} + +// SetNextActivity sets the NextActivity field's value. +func (s *PushMessageActivity) SetNextActivity(v string) *PushMessageActivity { + s.NextActivity = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *PushMessageActivity) SetTemplateName(v string) *PushMessageActivity { + s.TemplateName = &v + return s +} + +// SetTemplateVersion sets the TemplateVersion field's value. +func (s *PushMessageActivity) SetTemplateVersion(v string) *PushMessageActivity { + s.TemplateVersion = &v + return s +} + // Specifies the content and settings for a message template that can be used // in messages that are sent through a push notification channel. type PushNotificationTemplateRequest struct { @@ -28499,10 +28783,10 @@ type SMSMessage struct { // The URL of an image or video to display in the SMS message. MediaUrl *string `type:"string"` - // The SMS message type. Valid values are: TRANSACTIONAL, the message is critical - // or time-sensitive, such as a one-time password that supports a customer transaction; - // and, PROMOTIONAL, the message is not critical or time-sensitive, such as - // a marketing message. + // The SMS message type. Valid values are TRANSACTIONAL (for messages that are + // critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL + // (for messsages that aren't critical or time-sensitive, such as marketing + // messages). MessageType *string `type:"string" enum:"MessageType"` // The number to send the SMS message from. This value should be one of the @@ -28572,6 +28856,69 @@ func (s *SMSMessage) SetSubstitutions(v map[string][]*string) *SMSMessage { return s } +// Specifies the settings for an SMS activity in a journey. This type of activity +// sends a text message to participants. +type SMSMessageActivity struct { + _ struct{} `type:"structure"` + + // Specifies the sender ID and message type for an SMS message that's sent to + // participants in a journey. + MessageConfig *JourneySMSMessage `type:"structure"` + + // The unique identifier for the next activity to perform, after the message + // is sent. + NextActivity *string `type:"string"` + + // The name of the SMS message template to use for the message. If specified, + // this value must match the name of an existing message template. + TemplateName *string `type:"string"` + + // The unique identifier for the version of the SMS template to use for the + // message. If specified, this value must match the identifier for an existing + // template version. To retrieve a list of versions and version identifiers + // for a template, use the Template Versions resource. + // + // If you don't specify a value for this property, Amazon Pinpoint uses the + // active version of the template. The active version is typically the version + // of a template that's been most recently reviewed and approved for use, depending + // on your workflow. It isn't necessarily the latest version of a template. + TemplateVersion *string `type:"string"` +} + +// String returns the string representation +func (s SMSMessageActivity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SMSMessageActivity) GoString() string { + return s.String() +} + +// SetMessageConfig sets the MessageConfig field's value. +func (s *SMSMessageActivity) SetMessageConfig(v *JourneySMSMessage) *SMSMessageActivity { + s.MessageConfig = v + return s +} + +// SetNextActivity sets the NextActivity field's value. +func (s *SMSMessageActivity) SetNextActivity(v string) *SMSMessageActivity { + s.NextActivity = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *SMSMessageActivity) SetTemplateName(v string) *SMSMessageActivity { + s.TemplateName = &v + return s +} + +// SetTemplateVersion sets the TemplateVersion field's value. +func (s *SMSMessageActivity) SetTemplateVersion(v string) *SMSMessageActivity { + s.TemplateVersion = &v + return s +} + // Specifies the content and settings for a message template that can be used // in text messages that are sent through the SMS channel. type SMSTemplateRequest struct { @@ -34642,6 +34989,9 @@ const ( ) const ( + // ChannelTypePush is a ChannelType enum value + ChannelTypePush = "PUSH" + // ChannelTypeGcm is a ChannelType enum value ChannelTypeGcm = "GCM" @@ -34722,6 +35072,9 @@ const ( ) const ( + // EndpointTypesElementPush is a EndpointTypesElement enum value + EndpointTypesElementPush = "PUSH" + // EndpointTypesElementGcm is a EndpointTypesElement enum value EndpointTypesElementGcm = "GCM" diff --git a/vendor/github.com/aws/aws-sdk-go/service/quicksight/api.go b/vendor/github.com/aws/aws-sdk-go/service/quicksight/api.go index 9fe23e9cd6f..4cb27237e75 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/quicksight/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/quicksight/api.go @@ -796,7 +796,7 @@ func (c *QuickSight) CreateIngestionRequest(input *CreateIngestionInput) (req *r // // Any ingestions operating on tagged datasets inherit the same tags automatically // for use in access control. For an example, see How do I create an IAM policy -// to control access to Amazon EC2 resources using tags? (https://aws.example.com/premiumsupport/knowledge-center/iam-ec2-resource-tags/) +// to control access to Amazon EC2 resources using tags? (https://aws.amazon.com/premiumsupport/knowledge-center/iam-ec2-resource-tags/) // in the AWS Knowledge Center. Tags are visible on the tagged dataset, but // not on the ingestion resource. // @@ -10102,7 +10102,7 @@ type Dashboard struct { // The last time that this dataset was updated. LastUpdatedTime *time.Time `type:"timestamp"` - // A display name for the dataset. + // A display name for the dashboard. Name *string `min:"1" type:"string"` // Version. @@ -10489,6 +10489,10 @@ type DashboardVersion struct { // The time that this dashboard version was created. CreatedTime *time.Time `type:"timestamp"` + // The Amazon Resource Numbers (ARNs) for the datasets that are associated with + // a version of the dashboard. + DataSetArns []*string `type:"list"` + // Description. Description *string `min:"1" type:"string"` @@ -10527,6 +10531,12 @@ func (s *DashboardVersion) SetCreatedTime(v time.Time) *DashboardVersion { return s } +// SetDataSetArns sets the DataSetArns field's value. +func (s *DashboardVersion) SetDataSetArns(v []*string) *DashboardVersion { + s.DataSetArns = v + return s +} + // SetDescription sets the Description field's value. func (s *DashboardVersion) SetDescription(v string) *DashboardVersion { s.Description = &v @@ -15649,7 +15659,7 @@ func (s *ListDashboardsInput) SetNextToken(v string) *ListDashboardsInput { type ListDashboardsOutput struct { _ struct{} `type:"structure"` - // A structure that contains all of the dashboards shared with the user. This + // A structure that contains all of the dashboards in your AWS account. This // structure provides basic information about the dashboards. DashboardSummaryList []*DashboardSummary `type:"list"` @@ -18358,7 +18368,7 @@ type RegisterUserInput struct { // scenarios, for example when you are registering an IAM user or an Amazon // QuickSight user. You can register multiple users using the same IAM role // if each user has a different session name. For more information on assuming - // IAM roles, see assume-role (https://docs.aws.example.com/cli/latest/reference/sts/assume-role.html) + // IAM roles, see assume-role (https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/assume-role.html) // in the AWS CLI Reference. SessionName *string `min:"2" type:"string"` @@ -20380,7 +20390,7 @@ func (s *TemplateVersion) SetVersionNumber(v int64) *TemplateVersion { type TemplateVersionSummary struct { _ struct{} `type:"structure"` - // The ARN of the template version. + // The Amazon Resource Name (ARN) of the template version. Arn *string `type:"string"` // The time that this template version was created. @@ -23397,6 +23407,12 @@ const ( ) const ( + // DashboardErrorTypeAccessDenied is a DashboardErrorType enum value + DashboardErrorTypeAccessDenied = "ACCESS_DENIED" + + // DashboardErrorTypeSourceNotFound is a DashboardErrorType enum value + DashboardErrorTypeSourceNotFound = "SOURCE_NOT_FOUND" + // DashboardErrorTypeDataSetNotFound is a DashboardErrorType enum value DashboardErrorTypeDataSetNotFound = "DATA_SET_NOT_FOUND" @@ -23848,6 +23864,9 @@ const ( ) const ( + // TemplateErrorTypeSourceNotFound is a TemplateErrorType enum value + TemplateErrorTypeSourceNotFound = "SOURCE_NOT_FOUND" + // TemplateErrorTypeDataSetNotFound is a TemplateErrorType enum value TemplateErrorTypeDataSetNotFound = "DATA_SET_NOT_FOUND" diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go index 52e87308f69..228cd3cfe59 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go @@ -14,6 +14,7 @@ import ( "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/client" "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/checksum" "github.com/aws/aws-sdk-go/private/protocol" "github.com/aws/aws-sdk-go/private/protocol/eventstream" "github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi" @@ -217,7 +218,7 @@ func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) // does not exist. The upload ID might be invalid, or the multipart upload // might have been aborted or completed. 404 Not Found // -// The following operations are related to DeleteBucketMetricsConfiguration: +// The following operations are related to CompleteMultipartUpload: // // * CreateMultipartUpload // @@ -305,20 +306,9 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou // // You can store individual objects of up to 5 TB in Amazon S3. You create a // copy of your object up to 5 GB in size in a single atomic operation using -// this API. However, for copying an object greater than 5 GB, you must use -// the multipart upload Upload Part - Copy API. For more information, see Copy -// Object Using the REST Multipart Upload API (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html). -// -// When copying an object, you can preserve all metadata (default) or specify -// new metadata. However, the ACL is not preserved and is set to private for -// the user making the request. To override the default ACL setting, specify -// a new ACL when generating a copy request. For more information, see Using -// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html). -// -// Amazon S3 transfer acceleration does not support cross-region copies. If -// you request a cross-region copy using a transfer acceleration endpoint, you -// get a 400 Bad Request error. For more information about transfer acceleration, -// see Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html). +// this API. However, to copy an object greater than 5 GB, you must use the +// multipart upload Upload Part - Copy API. For more information, see Copy Object +// Using the REST Multipart Upload API (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html). // // All copy requests must be authenticated. Additionally, you must have read // access to the source object and write access to the destination bucket. For @@ -326,28 +316,6 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou // Both the Region that you want to copy the object from and the Region that // you want to copy the object to must be enabled for your account. // -// To only copy an object under certain conditions, such as whether the Etag -// matches or whether the object was modified before or after a specified date, -// use the request parameters x-amz-copy-source-if-match, x-amz-copy-source-if-none-match, -// x-amz-copy-source-if-unmodified-since, or x-amz-copy-source-if-modified-since. -// -// All headers with the x-amz- prefix, including x-amz-copy-source, must be -// signed. -// -// You can use this operation to change the storage class of an object that -// is already stored in Amazon S3 using the StorageClass parameter. For more -// information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html). -// -// The source object that you are copying can be encrypted or unencrypted. If -// the source object is encrypted, it can be encrypted by server-side encryption -// using AWS managed encryption keys or by using a customer-provided encryption -// key. When copying an object, you can request that Amazon S3 encrypt the target -// object by using either the AWS managed encryption keys or by using your own -// encryption key. You can do this regardless of the form of server-side encryption -// that was used to encrypt the source, or even if the source object was not -// encrypted. For more information about server-side encryption, see Using Server-Side -// Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html). -// // A copy request might return an error when Amazon S3 receives the copy request // or while Amazon S3 is copying the files. If the error occurs before the copy // operation starts, you receive a standard Amazon S3 error. If the error occurs @@ -363,125 +331,117 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou // it were not, it would not contain the content-length, and you would need // to read the entire body. // -// Consider the following when using request headers: +// The copy request charge is based on the storage class and Region that you +// specify for the destination object. For pricing information, see Amazon S3 +// pricing (https://aws.amazon.com/s3/pricing/). // -// * Consideration 1 – If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since -// headers are present in the request and evaluate as follows, Amazon S3 -// returns 200 OK and copies the data: x-amz-copy-source-if-match condition -// evaluates to true x-amz-copy-source-if-unmodified-since condition evaluates -// to false +// Amazon S3 transfer acceleration does not support cross-Region copies. If +// you request a cross-Region copy using a transfer acceleration endpoint, you +// get a 400 Bad Request error. For more information, see Transfer Acceleration +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html). // -// * Consideration 2 – If both of the x-amz-copy-source-if-none-match and -// x-amz-copy-source-if-modified-since headers are present in the request -// and evaluate as follows, Amazon S3 returns the 412 Precondition Failed -// response code: x-amz-copy-source-if-none-match condition evaluates to -// false x-amz-copy-source-if-modified-since condition evaluates to true +// Metadata // -// The copy request charge is based on the storage class and Region you specify -// for the destination object. For pricing information, see Amazon S3 Pricing -// (https://aws.amazon.com/s3/pricing/). +// When copying an object, you can preserve all metadata (default) or specify +// new metadata. However, the ACL is not preserved and is set to private for +// the user making the request. To override the default ACL setting, specify +// a new ACL when generating a copy request. For more information, see Using +// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html). // -// Following are other considerations when using CopyObject: +// To specify whether you want the object metadata copied from the source object +// or replaced with metadata provided in the request, you can optionally add +// the x-amz-metadata-directive header. When you grant permissions, you can +// use the s3:x-amz-metadata-directive condition key to enforce certain metadata +// behavior when objects are uploaded. For more information, see Specifying +// Conditions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html) +// in the Amazon S3 Developer Guide. For a complete list of Amazon S3-specific +// condition keys, see Actions, Resources, and Condition Keys for Amazon S3 +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html). // -// Versioning +// x-amz-copy-source-if Headers // -// By default, x-amz-copy-source identifies the current version of an object -// to copy. (If the current version is a delete marker, Amazon S3 behaves as -// if the object was deleted.) To copy a different version, use the versionId -// subresource. +// To only copy an object under certain conditions, such as whether the Etag +// matches or whether the object was modified before or after a specified date, +// use the following request parameters: // -// If you enable versioning on the target bucket, Amazon S3 generates a unique -// version ID for the object being copied. This version ID is different from -// the version ID of the source object. Amazon S3 returns the version ID of -// the copied object in the x-amz-version-id response header in the response. +// * x-amz-copy-source-if-match // -// If you do not enable versioning or suspend it on the target bucket, the version -// ID that Amazon S3 generates is always null. +// * x-amz-copy-source-if-none-match // -// If the source object's storage class is GLACIER, you must restore a copy -// of this object before you can use it as a source object for the copy operation. -// For more information, see . +// * x-amz-copy-source-if-unmodified-since // -// Access Permissions +// * x-amz-copy-source-if-modified-since // -// When copying an object, you can optionally specify the accounts or groups -// that should be granted specific permissions on the new object. There are -// two ways to grant the permissions using the request headers: +// If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since +// headers are present in the request and evaluate as follows, Amazon S3 returns +// 200 OK and copies the data: // -// * Specify a canned ACL with the x-amz-acl request header. For more information, -// see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL). +// * x-amz-copy-source-if-match condition evaluates to true // -// * Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, -// x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters -// map to the set of permissions that Amazon S3 supports in an ACL. For more -// information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). +// * x-amz-copy-source-if-unmodified-since condition evaluates to false // -// You can use either a canned ACL or specify access permissions explicitly. -// You cannot do both. +// If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since +// headers are present in the request and evaluate as follows, Amazon S3 returns +// the 412 Precondition Failed response code: // -// Server-Side- Encryption-Specific Request Headers +// * x-amz-copy-source-if-none-match condition evaluates to false // -// To encrypt the target object, you must provide the appropriate encryption-related -// request headers. The one you use depends on whether you want to use AWS managed -// encryption keys or provide your own encryption key. +// * x-amz-copy-source-if-modified-since condition evaluates to true // -// * To encrypt the target object using server-side encryption with an AWS -// managed encryption key, provide the following request headers, as appropriate. -// x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id -// x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, -// but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon -// S3 uses the AWS managed CMK in AWS KMS to protect the data. If you want -// to use a customer managed AWS KMS CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id -// of the symmetric customer managed CMK. Amazon S3 only supports symmetric -// CMKs and not asymmetric CMKs. For more information, see Using Symmetric -// and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) -// in the AWS Key Management Service Developer Guide. All GET and PUT requests -// for an object protected by AWS KMS fail if you don't make them with SSL -// or by using SigV4. For more information about server-side encryption with -// CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side -// Encryption with CMKs stored in KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). -// -// * To encrypt the target object using server-side encryption with an encryption -// key that you provide, use the following headers. x-amz-server-side​-encryption​-customer-algorithm -// x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5 -// -// * If the source object is encrypted using server-side encryption with -// customer-provided encryption keys, you must use the following headers. -// x-amz-copy-source​-server-side​-encryption​-customer-algorithm x-amz-copy-source​-server-side​-encryption​-customer-key -// x-amz-copy-source-​server-side​-encryption​-customer-key-MD5 For -// more information about server-side encryption with CMKs stored in AWS -// KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs -// stored in Amazon KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). +// All headers with the x-amz- prefix, including x-amz-copy-source, must be +// signed. // -// Access-Control-List (ACL)-Specific Request Headers +// Encryption // -// You also can use the following access control–related headers with this -// operation. By default, all objects are private. Only the owner has full access -// control. When adding a new object, you can grant permissions to individual +// The source object that you are copying can be encrypted or unencrypted. The +// source object can be encrypted with server-side encryption using AWS managed +// encryption keys (SSE-S3 or SSE-KMS) or by using a customer-provided encryption +// key. With server-side encryption, Amazon S3 encrypts your data as it writes +// it to disks in its data centers and decrypts the data when you access it. +// +// You can optionally use the appropriate encryption-related headers to request +// server-side encryption for the target object. You have the option to provide +// your own encryption key or use SSE-S3 or SSE-KMS, regardless of the form +// of server-side encryption that was used to encrypt the source object. You +// can even request encryption if the source object was not encrypted. For more +// information about server-side encryption, see Using Server-Side Encryption +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html). +// +// Access Control List (ACL)-Specific Request Headers +// +// When copying an object, you can optionally use headers to grant ACL-based +// permissions. By default, all objects are private. Only the owner has full +// access control. When adding a new object, you can grant permissions to individual // AWS accounts or to predefined groups defined by Amazon S3. These permissions -// are then added to the access control list (ACL) on the object. For more information, -// see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html). -// With this operation, you can grant access permissions using one of the following -// two methods: +// are then added to the ACL on the object. For more information, see Access +// Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) +// and Managing ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html). // -// * Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined -// ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees -// and permissions. For more information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL). +// Storage Class Options // -// * Specify access permissions explicitly — To explicitly grant access -// permissions to specific AWS accounts or groups, use the following headers. -// Each header maps to specific permissions that Amazon S3 supports in an -// ACL. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). -// In the header, you specify a list of grantees who get the specific permission. -// To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write -// x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You -// specify each grantee as a type=value pair, where the type is one of the -// following: emailAddress – if the value specified is the email address -// of an AWS account id – if the value specified is the canonical user -// ID of an AWS account uri – if you are granting permissions to a predefined -// group For example, the following x-amz-grant-read header grants the AWS -// accounts identified by email addresses permissions to read object data -// and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" +// You can use the CopyObject operation to change the storage class of an object +// that is already stored in Amazon S3 using the StorageClass parameter. For +// more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) +// in the Amazon S3 Service Developer Guide. +// +// Versioning +// +// By default, x-amz-copy-source identifies the current version of an object +// to copy. If the current version is a delete marker, Amazon S3 behaves as +// if the object was deleted. To copy a different version, use the versionId +// subresource. +// +// If you enable versioning on the target bucket, Amazon S3 generates a unique +// version ID for the object being copied. This version ID is different from +// the version ID of the source object. Amazon S3 returns the version ID of +// the copied object in the x-amz-version-id response header in the response. +// +// If you do not enable versioning or suspend it on the target bucket, the version +// ID that Amazon S3 generates is always null. +// +// If the source object's storage class is GLACIER, you must restore a copy +// of this object before you can use it as a source object for the copy operation. +// For more information, see . // // The following operations are related to CopyObject: // @@ -581,8 +541,8 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request // can optionally specify a Region in the request body. You might choose a Region // to optimize latency, minimize costs, or address regulatory requirements. // For example, if you reside in Europe, you will probably find it advantageous -// to create buckets in the EU (Ireland) Region. For more information, see How -// to Select a Region for Your Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro). +// to create buckets in the Europe (Ireland) Region. For more information, see +// How to Select a Region for Your Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro). // // If you send your create bucket request to the s3.amazonaws.com endpoint, // the request goes to the us-east-1 Region. Accordingly, the signature calculations @@ -608,12 +568,19 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request // in an ACL. For more information, see Access Control List (ACL) Overview // (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). You // specify each grantee as a type=value pair, where the type is one of the -// following: emailAddress – if the value specified is the email address -// of an AWS account id – if the value specified is the canonical user -// ID of an AWS account uri – if you are granting permissions to a predefined -// group For example, the following x-amz-grant-read header grants the AWS -// accounts identified by email addresses permissions to read object data -// and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" +// following: id – if the value specified is the canonical user ID of an +// AWS account uri – if you are granting permissions to a predefined group +// emailAddress – if the value specified is the email address of an AWS +// account Using email addresses to specify a grantee is only supported in +// the following AWS Regions: US East (N. Virginia) US West (N. California) +// US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific +// (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all +// the Amazon S3 supported Regions and endpoints, see Regions and Endpoints +// (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in +// the AWS General Reference. For example, the following x-amz-grant-read +// header grants the AWS accounts identified by account IDs permissions to +// read object data and its metadata: x-amz-grant-read: id="11112222333", +// id="444455556666" // // You can use either a canned ACL or specify access permissions explicitly. // You cannot do both. @@ -832,12 +799,19 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re // To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write // x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You // specify each grantee as a type=value pair, where the type is one of the -// following: emailAddress – if the value specified is the email address -// of an AWS account id – if the value specified is the canonical user -// ID of an AWS account uri – if you are granting permissions to a predefined -// group For example, the following x-amz-grant-read header grants the AWS -// accounts identified by email addresses permissions to read object data -// and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" +// following: id – if the value specified is the canonical user ID of an +// AWS account uri – if you are granting permissions to a predefined group +// emailAddress – if the value specified is the email address of an AWS +// account Using email addresses to specify a grantee is only supported in +// the following AWS Regions: US East (N. Virginia) US West (N. California) +// US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific +// (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all +// the Amazon S3 supported Regions and endpoints, see Regions and Endpoints +// (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in +// the AWS General Reference. For example, the following x-amz-grant-read +// header grants the AWS accounts identified by account IDs permissions to +// read object data and its metadata: x-amz-grant-read: id="11112222333", +// id="444455556666" // // The following operations are related to CreateMultipartUpload: // @@ -1012,7 +986,7 @@ func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyt // To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration // action. The bucket owner has this permission by default. The bucket owner // can grant this permission to others. For more information about permissions, -// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) +// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html). // // For information about the Amazon S3 analytics feature, see Amazon S3 Analytics @@ -1189,14 +1163,14 @@ func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) ( // // This implementation of the DELETE operation removes default encryption from // the bucket. For information about the Amazon S3 default encryption feature, -// see Amazon S3 Default Bucket Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev//bucket-encryption.html) +// see Amazon S3 Default Bucket Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) // in the Amazon Simple Storage Service Developer Guide. // // To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration // action. The bucket owner has this permission by default. The bucket owner // can grant this permission to others. For more information about permissions, -// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) -// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html) +// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) +// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) // in the Amazon Simple Storage Service Developer Guide. // // Related Resources @@ -2112,6 +2086,10 @@ func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Reque output = &DeleteObjectsOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -2239,7 +2217,7 @@ func (c *S3) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput) // Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html). // -// The following operations are related to DeleteBucketMetricsConfiguration: +// The following operations are related to DeletePublicAccessBlock: // // * Using Amazon S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html) // @@ -2329,8 +2307,8 @@ func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateC // To use this operation, you must have permission to perform the s3:GetAccelerateConfiguration // action. The bucket owner has this permission by default. The bucket owner // can grant this permission to others. For more information about permissions, -// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) -// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html) +// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) +// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) // in the Amazon Simple Storage Service Developer Guide. // // You set the Transfer Acceleration state of an existing bucket to Enabled @@ -2341,7 +2319,7 @@ func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateC // state if a state has never been set on the bucket. // // For more information about transfer acceleration, see Transfer Acceleration -// (https://docs.aws.amazon.com/AmazonS3/latest/dev//transfer-acceleration.html) +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) // in the Amazon Simple Storage Service Developer Guide. // // Related Resources @@ -2997,7 +2975,7 @@ func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleCon // configuration does not exist. HTTP Status Code: 404 Not Found SOAP Fault // Code Prefix: Client // -// The following operations are related to DeleteBucketMetricsConfiguration: +// The following operations are related to GetBucketLifecycleConfiguration: // // * GetBucketLifecycle // @@ -6430,6 +6408,10 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request output = &PutBucketAclOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -6473,14 +6455,20 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request // Amazon S3 supports in an ACL. For more information, see Access Control // List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). // You specify each grantee as a type=value pair, where the type is one of -// the following: emailAddress – if the value specified is the email address -// of an AWS account id – if the value specified is the canonical user -// ID of an AWS account uri – if you are granting permissions to a predefined -// group For example, the following x-amz-grant-write header grants create, -// overwrite, and delete objects permission to LogDelivery group predefined -// by Amazon S3 and two AWS accounts identified by their email addresses. -// x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", -// emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" +// the following: id – if the value specified is the canonical user ID +// of an AWS account uri – if you are granting permissions to a predefined +// group emailAddress – if the value specified is the email address of +// an AWS account Using email addresses to specify a grantee is only supported +// in the following AWS Regions: US East (N. Virginia) US West (N. California) +// US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific +// (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all +// the Amazon S3 supported Regions and endpoints, see Regions and Endpoints +// (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in +// the AWS General Reference. For example, the following x-amz-grant-write +// header grants create, overwrite, and delete objects permission to LogDelivery +// group predefined by Amazon S3 and two AWS accounts identified by their +// email addresses. x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", +// id="111122223333", id="555566667777" // // You can use either a canned ACL or specify access permissions explicitly. // You cannot do both. @@ -6490,11 +6478,6 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request // You can specify the person (grantee) to whom you're assigning access rights // (using request elements) in the following ways: // -// * By Email address: <>Grantees@email.com<>lt;/Grantee> -// The grantee is resolved to the CanonicalUser and, in a response to a GET -// Object acl request, appears as the CanonicalUser. -// // * By the person's ID: <>ID<><>GranteesEmail<> // DisplayName is optional and ignored in the request @@ -6502,6 +6485,17 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request // * By URI: <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<> // +// * By Email address: <>Grantees@email.com<>lt;/Grantee> +// The grantee is resolved to the CanonicalUser and, in a response to a GET +// Object acl request, appears as the CanonicalUser. Using email addresses +// to specify a grantee is only supported in the following AWS Regions: US +// East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific +// (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) +// South America (São Paulo) For a list of all the Amazon S3 supported Regions +// and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) +// in the AWS General Reference. +// // Related Resources // // * CreateBucket @@ -6697,6 +6691,10 @@ func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Reque output = &PutBucketCorsOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -6814,6 +6812,10 @@ func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *r output = &PutBucketEncryptionOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -6824,7 +6826,8 @@ func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *r // // This implementation of the PUT operation sets default encryption for a bucket // using server-side encryption with Amazon S3-managed keys SSE-S3 or AWS KMS -// customer master keys (CMKs) (SSE-KMS). +// customer master keys (CMKs) (SSE-KMS). For information about the Amazon S3 +// default encryption feature, see Amazon S3 Default Bucket Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html). // // This operation requires AWS Signature Version 4. For more information, see // Authenticating Requests (AWS Signature Version 4) (sig-v4-authenticating-requests.html). @@ -6929,19 +6932,19 @@ func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryCon // bucket where you want the inventory to be stored, and whether to generate // the inventory daily or weekly. You can also configure what object metadata // to include and whether to inventory all object versions or only current versions. -// For more information, see Amazon S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev//storage-inventory.html) +// For more information, see Amazon S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) // in the Amazon Simple Storage Service Developer Guide. // // You must create a bucket policy on the destination bucket to grant permissions // to Amazon S3 to write objects to the bucket in the defined location. For // an example policy, see Granting Permissions for Amazon S3 Inventory and Storage -// Class Analysis. (https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9) +// Class Analysis (https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9). // // To use this operation, you must have permissions to perform the s3:PutInventoryConfiguration // action. The bucket owner has this permission by default and can grant this // permission to others. For more information about permissions, see Permissions -// Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) -// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html) +// Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) +// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) // in the Amazon Simple Storage Service Developer Guide. // // Special Errors @@ -6954,7 +6957,7 @@ func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryCon // // * HTTP 403 Forbidden Error Code: AccessDenied Cause: You are not the owner // of the specified bucket, or you do not have the s3:PutInventoryConfiguration -// bucket permission to set the configuration on the bucket +// bucket permission to set the configuration on the bucket. // // Related Resources // @@ -7037,6 +7040,10 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req output = &PutBucketLifecycleOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -7049,7 +7056,7 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req // // Creates a new lifecycle configuration for the bucket or replaces an existing // lifecycle configuration. For information about lifecycle configuration, see -// Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev//object-lifecycle-mgmt.html) +// Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) // in the Amazon Simple Storage Service Developer Guide. // // By default, all Amazon S3 resources, including buckets, objects, and related @@ -7071,11 +7078,11 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req // * s3:PutLifecycleConfiguration // // For more information about permissions, see Managing Access Permissions to -// your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html) +// your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) // in the Amazon Simple Storage Service Developer Guide. // // For more examples of transitioning objects to storage classes such as STANDARD_IA -// or ONEZONE_IA, see Examples of Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev//intro-lifecycle-rules.html#lifecycle-configuration-examples). +// or ONEZONE_IA, see Examples of Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#lifecycle-configuration-examples). // // Related Resources // @@ -7089,8 +7096,8 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req // the AWS account that created the bucket—can perform any of the operations. // A resource owner can also grant others permission to perform the operation. // For more information, see the following topics in the Amazon Simple Storage -// Service Developer Guide: Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html) -// Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html) +// Service Developer Guide: Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html) +// Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) // // 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 @@ -7164,6 +7171,10 @@ func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleCon output = &PutBucketLifecycleConfigurationOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -7301,6 +7312,10 @@ func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request output = &PutBucketLoggingOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -7528,6 +7543,10 @@ func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (re output = &PutBucketNotificationOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -7730,6 +7749,10 @@ func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.R output = &PutBucketPolicyOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -7826,6 +7849,10 @@ func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req output = &PutBucketReplicationOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -7950,6 +7977,10 @@ func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) output = &PutBucketRequestPaymentOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -8035,6 +8066,10 @@ func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request output = &PutBucketTaggingOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -8065,8 +8100,8 @@ func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request // * Error code: InvalidTagError Description: The tag provided was not a // valid tag. This error can occur if the tag did not pass input validation. // For information about tag restrictions, see User-Defined Tag Restrictions -// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//allocation-tag-restrictions.html) -// and AWS-Generated Cost Allocation Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//aws-tag-restrictions.html). +// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) +// and AWS-Generated Cost Allocation Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html). // // * Error code: MalformedXMLError Description: The XML provided does not // match the schema. @@ -8151,6 +8186,10 @@ func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *r output = &PutBucketVersioningOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -8259,6 +8298,10 @@ func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request output = &PutBucketWebsiteOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -8326,6 +8369,11 @@ func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request // // * HttpRedirectCode // +// Amazon S3 has a limitation of 50 routing rules per website configuration. +// If you require more than 50 routing rules, you can use object redirect. For +// more information, see Configuring an Object Redirect (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html) +// in the Amazon Simple Storage Service Developer 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. @@ -8415,12 +8463,12 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp // you can calculate the MD5 while putting an object to Amazon S3 and compare // the returned ETag to the calculated MD5 value. // -// To configure your application to send the request headers before sending -// the request body, use the 100-continue HTTP status code. For PUT operations, -// this helps you avoid sending the message body if the message is rejected -// based on the headers (for example, because authentication fails or a redirect -// occurs). For more information on the 100-continue HTTP status code, see Section -// 8.2.3 of http://www.ietf.org/rfc/rfc2616.txt (http://www.ietf.org/rfc/rfc2616.txt). +// The Content-MD5 header is required for any request to upload an object with +// a retention period configured using Amazon S3 Object Lock. For more information +// about Amazon S3 Object Lock, see Amazon S3 Object Lock Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html) +// in the Amazon Simple Storage Service Developer Guide. +// +// Server-side Encryption // // You can optionally request server-side encryption. With server-side encryption, // Amazon S3 encrypts your data as it writes it to disks in its data centers @@ -8428,143 +8476,34 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp // your own encryption key or use AWS managed encryption keys. For more information, // see Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html). // -// Access Permissions -// -// You can optionally specify the accounts or groups that should be granted -// specific permissions on the new object. There are two ways to grant the permissions -// using the request headers: -// -// * Specify a canned ACL with the x-amz-acl request header. For more information, -// see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL). -// -// * Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, -// x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters -// map to the set of permissions that Amazon S3 supports in an ACL. For more -// information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). -// -// You can use either a canned ACL or specify access permissions explicitly. -// You cannot do both. -// -// Server-Side- Encryption-Specific Request Headers -// -// You can optionally tell Amazon S3 to encrypt data at rest using server-side -// encryption. Server-side encryption is for data encryption at rest. Amazon -// S3 encrypts your data as it writes it to disks in its data centers and decrypts -// it when you access it. The option you use depends on whether you want to -// use AWS managed encryption keys or provide your own encryption key. -// -// * Use encryption keys managed by Amazon S3 or customer master keys (CMKs) -// stored in AWS Key Management Service (AWS KMS) – If you want AWS to -// manage the keys used to encrypt data, specify the following headers in -// the request. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id -// x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, -// but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon -// S3 uses the AWS managed CMK in AWS KMS to protect the data. If you want -// to use a customer managed AWS KMS CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id -// of the symmetric customer managed CMK. Amazon S3 only supports symmetric -// CMKs and not asymmetric CMKs. For more information, see Using Symmetric -// and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) -// in the AWS Key Management Service Developer Guide. All GET and PUT requests -// for an object protected by AWS KMS fail if you don't make them with SSL -// or by using SigV4. For more information about server-side encryption with -// CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side -// Encryption with CMKs stored in AWS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). -// -// * Use customer-provided encryption keys – If you want to manage your -// own encryption keys, provide all the following headers in the request. -// x-amz-server-side​-encryption​-customer-algorithm x-amz-server-side​-encryption​-customer-key -// x-amz-server-side​-encryption​-customer-key-MD5 For more information -// about server-side encryption with CMKs stored in KMS (SSE-KMS), see Protecting -// Data Using Server-Side Encryption with CMKs stored in AWS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). -// -// Access-Control-List (ACL)-Specific Request Headers -// -// You also can use the following access control–related headers with this -// operation. By default, all objects are private. Only the owner has full access -// control. When adding a new object, you can grant permissions to individual -// AWS accounts or to predefined groups defined by Amazon S3. These permissions -// are then added to the Access Control List (ACL) on the object. For more information, -// see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html). -// With this operation, you can grant access permissions using one of the following -// two methods: -// -// * Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined -// ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees -// and permissions. For more information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL). +// Access Control List (ACL)-Specific Request Headers // -// * Specify access permissions explicitly — To explicitly grant access -// permissions to specific AWS accounts or groups, use the following headers. -// Each header maps to specific permissions that Amazon S3 supports in an -// ACL. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). -// In the header, you specify a list of grantees who get the specific permission. -// To grant permissions explicitly use: x-amz-grant-read x-amz-grant-write -// x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You -// specify each grantee as a type=value pair, where the type is one of the -// following: emailAddress – if the value specified is the email address -// of an AWS account Using email addresses to specify a grantee is only supported -// in the following AWS Regions: US East (N. Virginia) US West (N. California) -// US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific -// (Tokyo) EU (Ireland) South America (São Paulo) For a list of all the -// Amazon S3 supported Regions and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) -// in the AWS General Reference id – if the value specified is the canonical -// user ID of an AWS account uri – if you are granting permissions to a -// predefined group For example, the following x-amz-grant-read header grants -// the AWS accounts identified by email addresses permissions to read object -// data and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", -// emailAddress="abc@amazon.com" -// -// Server-Side- Encryption-Specific Request Headers -// -// You can optionally tell Amazon S3 to encrypt data at rest using server-side -// encryption. Server-side encryption is for data encryption at rest. Amazon -// S3 encrypts your data as it writes it to disks in its data centers and decrypts -// it when you access it. The option you use depends on whether you want to -// use AWS-managed encryption keys or provide your own encryption key. -// -// * Use encryption keys managed by Amazon S3 or customer master keys (CMKs) -// stored in AWS Key Management Service (AWS KMS) – If you want AWS to -// manage the keys used to encrypt data, specify the following headers in -// the request. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id -// x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, -// but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon -// S3 uses the AWS managed CMK in AWS KMS to protect the data. If you want -// to use a customer managed AWS KMS CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id -// of the symmetric customer managed CMK. Amazon S3 only supports symmetric -// CMKs and not asymmetric CMKs. For more information, see Using Symmetric -// and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) -// in the AWS Key Management Service Developer Guide. All GET and PUT requests -// for an object protected by AWS KMS fail if you don't make them with SSL -// or by using SigV4. For more information about server-side encryption with -// CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side -// Encryption with CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). -// -// * Use customer-provided encryption keys – If you want to manage your -// own encryption keys, provide all the following headers in the request. -// If you use this feature, the ETag value that Amazon S3 returns in the -// response is not the MD5 of the object. x-amz-server-side​-encryption​-customer-algorithm -// x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5 -// For more information about server-side encryption with CMKs stored in -// AWS KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with -// CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). +// You can use headers to grant ACL- based permissions. By default, all objects +// are private. Only the owner has full access control. When adding a new object, +// you can grant permissions to individual AWS accounts or to predefined groups +// defined by Amazon S3. These permissions are then added to the ACL on the +// object. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) +// and Managing ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html). // // Storage Class Options // -// By default, Amazon S3 uses the Standard storage class to store newly created -// objects. The Standard storage class provides high durability and high availability. -// You can specify other storage classes depending on the performance needs. +// By default, Amazon S3 uses the STANDARD storage class to store newly created +// objects. The STANDARD storage class provides high durability and high availability. +// Depending on performance needs, you can specify a different storage class. // For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) -// in the Amazon Simple Storage Service Developer Guide. +// in the Amazon S3 Service Developer Guide. // // Versioning // // If you enable versioning for a bucket, Amazon S3 automatically generates // a unique version ID for the object being stored. Amazon S3 returns this ID -// in the response using the x-amz-version-id response header. If versioning -// is suspended, Amazon S3 always uses null as the version ID for the object -// stored. For more information about returning the versioning state of a bucket, -// see GetBucketVersioning. If you enable versioning for a bucket, when Amazon -// S3 receives multiple write requests for the same object simultaneously, it -// stores all of the objects. +// in the response. When you enable versioning for a bucket, if Amazon S3 receives +// multiple write requests for the same object simultaneously, it stores all +// of the objects. +// +// For more information about versioning, see Adding Objects to Versioning Enabled +// Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html). +// For information about returning the versioning state of a bucket, see GetBucketVersioning. // // Related Resources // @@ -8639,6 +8578,10 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request output = &PutObjectAclOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -8651,7 +8594,9 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request // Depending on your application needs, you can choose to set the ACL on an // object using either the request body or the headers. For example, if you // have an existing application that updates a bucket ACL using the request -// body, you can continue to use that approach. +// body, you can continue to use that approach. For more information, see Access +// Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) +// in the Amazon S3 Developer Guide. // // Access Permissions // @@ -8673,12 +8618,19 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request // S3 supports in an ACL. For more information, see Access Control List (ACL) // Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). // You specify each grantee as a type=value pair, where the type is one of -// the following: emailAddress – if the value specified is the email address -// of an AWS account id – if the value specified is the canonical user -// ID of an AWS account uri – if you are granting permissions to a predefined -// group For example, the following x-amz-grant-read header grants list objects -// permission to the two AWS accounts identified by their email addresses. -// x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" +// the following: id – if the value specified is the canonical user ID +// of an AWS account uri – if you are granting permissions to a predefined +// group emailAddress – if the value specified is the email address of +// an AWS account Using email addresses to specify a grantee is only supported +// in the following AWS Regions: US East (N. Virginia) US West (N. California) +// US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific +// (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all +// the Amazon S3 supported Regions and endpoints, see Regions and Endpoints +// (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in +// the AWS General Reference. For example, the following x-amz-grant-read +// header grants list objects permission to the two AWS accounts identified +// by their email addresses. x-amz-grant-read: emailAddress="xyz@amazon.com", +// emailAddress="abc@amazon.com" // // You can use either a canned ACL or specify access permissions explicitly. // You cannot do both. @@ -8688,11 +8640,6 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request // You can specify the person (grantee) to whom you're assigning access rights // (using request elements) in the following ways: // -// * By Email address: <>Grantees@email.com<>lt;/Grantee> -// The grantee is resolved to the CanonicalUser and, in a response to a GET -// Object acl request, appears as the CanonicalUser. -// // * By the person's ID: <>ID<><>GranteesEmail<> // DisplayName is optional and ignored in the request. @@ -8700,6 +8647,17 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request // * By URI: <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<> // +// * By Email address: <>Grantees@email.com<>lt;/Grantee> +// The grantee is resolved to the CanonicalUser and, in a response to a GET +// Object acl request, appears as the CanonicalUser. Using email addresses +// to specify a grantee is only supported in the following AWS Regions: US +// East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific +// (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) +// South America (São Paulo) For a list of all the Amazon S3 supported Regions +// and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) +// in the AWS General Reference. +// // Versioning // // The ACL of an object is set at the object version level. By default, PUT @@ -8784,6 +8742,10 @@ func (c *S3) PutObjectLegalHoldRequest(input *PutObjectLegalHoldInput) (req *req output = &PutObjectLegalHoldOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -8862,6 +8824,10 @@ func (c *S3) PutObjectLockConfigurationRequest(input *PutObjectLockConfiguration output = &PutObjectLockConfigurationOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -8945,6 +8911,10 @@ func (c *S3) PutObjectRetentionRequest(input *PutObjectRetentionInput) (req *req output = &PutObjectRetentionOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -9023,12 +8993,16 @@ func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request output = &PutObjectTaggingOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } // PutObjectTagging API operation for Amazon Simple Storage Service. // -// Sets the supplied tag-set to an object that already exists in a bucket +// Sets the supplied tag-set to an object that already exists in a bucket. // // A tag is a key-value pair. You can associate tags with an object by sending // a PUT request against the tagging subresource that is associated with the @@ -9135,6 +9109,10 @@ func (c *S3) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req output = &PutPublicAccessBlockOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -9246,9 +9224,9 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque // * restore an archive - Restore an archived object // // To use this operation, you must have permissions to perform the s3:RestoreObject -// and s3:GetObject actions. The bucket owner has this permission by default -// and can grant this permission to others. For more information about permissions, -// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) +// action. The bucket owner has this permission by default and can grant this +// permission to others. For more information about permissions, see Permissions +// Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) // in the Amazon Simple Storage Service Developer Guide. // @@ -9290,8 +9268,8 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque // the query.) You cannot mix ordinal positions with header column names. // SELECT s.Id, s.FirstName, s.SSN FROM S3Object s // -// For more information about using SQL with Glacier Select restore, see SQL -// Reference for Amazon S3 Select and Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html) +// For more information about using SQL with S3 Glacier Select restore, see +// SQL Reference for Amazon S3 Select and S3 Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html) // in the Amazon Simple Storage Service Developer Guide. // // When making a select request, you can also do the following: @@ -9344,12 +9322,12 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque // retrievals and provisioned capacity are not available for the DEEP_ARCHIVE // storage class. // -// * Standard - Standard retrievals allow you to access any of your archived +// * Standard - S3 Standard retrievals allow you to access any of your archived // objects within several hours. This is the default option for the GLACIER // and DEEP_ARCHIVE retrieval requests that do not specify the retrieval -// option. Standard retrievals typically complete within 3-5 hours from the -// GLACIER storage class and typically complete within 12 hours from the -// DEEP_ARCHIVE storage class. +// option. S3 Standard retrievals typically complete within 3-5 hours from +// the GLACIER storage class and typically complete within 12 hours from +// the DEEP_ARCHIVE storage class. // // * Bulk - Bulk retrievals are Amazon S3 Glacier’s lowest-cost retrieval // option, enabling you to retrieve large amounts, even petabytes, of data @@ -9408,10 +9386,10 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque // (This error does not apply to SELECT type requests.) HTTP Status Code: // 409 Conflict SOAP Fault Code Prefix: Client // -// * Code: GlacierExpeditedRetrievalNotAvailable Cause: Glacier expedited +// * Code: GlacierExpeditedRetrievalNotAvailable Cause: S3 Glacier expedited // retrievals are currently not available. Try again later. (Returned if // there is insufficient capacity to process the Expedited request. This -// error applies only to Expedited retrievals and not to Standard or Bulk +// error applies only to Expedited retrievals and not to S3 Standard or Bulk // retrievals.) HTTP Status Code: 503 SOAP Fault Code Prefix: N/A // // Related Resources @@ -9420,7 +9398,7 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque // // * GetBucketNotificationConfiguration // -// * SQL Reference for Amazon S3 Select and Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html) +// * SQL Reference for Amazon S3 Select and S3 Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html) // in the Amazon Simple Storage Service Developer Guide // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -9522,7 +9500,7 @@ func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *r // in the Amazon Simple Storage Service Developer Guide. // // For more information about using SQL with Amazon S3 Select, see SQL Reference -// for Amazon S3 Select and Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html) +// for Amazon S3 Select and S3 Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html) // in the Amazon Simple Storage Service Developer Guide. // // Permissions @@ -9572,8 +9550,8 @@ func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *r // The SelectObjectContent operation does not support the following GetObject // functionality. For more information, see GetObject. // -// * Range: While you can specify a scan range for a Amazon S3 Select request, -// see SelectObjectContentRequest$ScanRange in the request parameters below, +// * Range: Although you can specify a scan range for an Amazon S3 Select +// request (see SelectObjectContentRequest$ScanRange in the request parameters), // you cannot specify the range of bytes of an object to return. // // * GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot @@ -9583,8 +9561,7 @@ func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *r // // Special Errors // -// For a list of special errors for this operation and for general information -// about Amazon S3 errors and a list of error codes, see ErrorResponses +// For a list of special errors for this operation, see SelectObjectContentErrorCodeList // // Related Resources // @@ -10615,8 +10592,11 @@ type AnalyticsS3BucketDestination struct { // Bucket is a required field Bucket *string `type:"string" required:"true"` - // The account ID that owns the destination bucket. If no account ID is provided, - // the owner will not be validated prior to exporting data. + // The account ID that owns the destination S3 bucket. If no account ID is provided, + // the owner is not validated before exporting data. + // + // Although this value is optional, we strongly recommend that you set it to + // help prevent problems if the destination bucket ownership changes. BucketAccountId *string `type:"string"` // Specifies the file format used when exporting data to Amazon S3. @@ -14575,9 +14555,9 @@ type Destination struct { // must be replicated. Must be specified together with a Metrics block. ReplicationTime *ReplicationTime `type:"structure"` - // The storage class to use when replicating objects, such as standard or reduced - // redundancy. By default, Amazon S3 uses the storage class of the source object - // to create the object replica. + // The storage class to use when replicating objects, such as S3 Standard or + // reduced redundancy. By default, Amazon S3 uses the storage class of the source + // object to create the object replica. // // For valid values, see the StorageClass element of the PUT Bucket replication // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) @@ -16110,6 +16090,7 @@ type GetBucketLocationOutput struct { // Specifies the Region where the bucket resides. For a list of all the Amazon // S3 supported location constraints by Region, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region). + // Buckets in Region us-east-1 have a LocationConstraint of null. LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"` } @@ -16319,7 +16300,7 @@ func (s *GetBucketMetricsConfigurationOutput) SetMetricsConfiguration(v *Metrics type GetBucketNotificationConfigurationRequest struct { _ struct{} `locationName:"GetBucketNotificationConfigurationRequest" type:"structure"` - // Name of the bucket for which to get the notification configuration + // Name of the bucket for which to get the notification configuration. // // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` @@ -16967,10 +16948,10 @@ func (s *GetBucketWebsiteInput) hasEndpointARN() bool { type GetBucketWebsiteOutput struct { _ struct{} `type:"structure"` - // The name of the error document for the website. + // The object key name of the website error document to use for 4XX class errors. ErrorDocument *ErrorDocument `type:"structure"` - // The name of the index document for the website. + // The name of the index document for the website (for example index.html). IndexDocument *IndexDocument `type:"structure"` // Specifies the redirect behavior of all requests to a website endpoint of @@ -17207,7 +17188,10 @@ type GetObjectInput struct { PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"` // Downloads the specified range bytes of an object. For more information about - // the HTTP Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. + // the HTTP Range header, see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35 + // (https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35). + // + // Amazon S3 doesn't support retrieving multiple ranges of data per GET request. Range *string `location:"header" locationName:"Range" type:"string"` // Confirms that the requester knows that they will be charged for the request. @@ -17756,7 +17740,7 @@ type GetObjectOutput struct { ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` // Provides storage class information of the object. Amazon S3 returns this - // header for all objects except for Standard storage class objects. + // header for all objects except for S3 Standard storage class objects. StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` // The number of tags, if any, on the object. @@ -18441,11 +18425,11 @@ func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *Public return s } -// Container for Glacier job parameters. +// Container for S3 Glacier job parameters. type GlacierJobParameters struct { _ struct{} `type:"structure"` - // Glacier retrieval tier at which the restore will be processed. + // S3 Glacier retrieval tier at which the restore will be processed. // // Tier is a required field Tier *string `type:"string" required:"true" enum:"Tier"` @@ -18536,6 +18520,29 @@ type Grantee struct { DisplayName *string `type:"string"` // Email address of the grantee. + // + // Using email addresses to specify a grantee is only supported in the following + // AWS Regions: + // + // * US East (N. Virginia) + // + // * US West (N. California) + // + // * US West (Oregon) + // + // * Asia Pacific (Singapore) + // + // * Asia Pacific (Sydney) + // + // * Asia Pacific (Tokyo) + // + // * Europe (Ireland) + // + // * South America (São Paulo) + // + // For a list of all the Amazon S3 supported Regions and endpoints, see Regions + // and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) + // in the AWS General Reference. EmailAddress *string `type:"string"` // The canonical user ID of the grantee. @@ -18716,6 +18723,8 @@ type HeadObjectInput struct { // Downloads the specified range bytes of an object. For more information about // the HTTP Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. + // + // Amazon S3 doesn't support retrieving multiple ranges of data per GET request. Range *string `location:"header" locationName:"Range" type:"string"` // Confirms that the requester knows that they will be charged for the request. @@ -19029,7 +19038,7 @@ type HeadObjectOutput struct { ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` // Provides storage class information of the object. Amazon S3 returns this - // header for all objects except for Standard storage class objects. + // header for all objects except for S3 Standard storage class objects. // // For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html). StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` @@ -19624,7 +19633,11 @@ func (s *InventoryFilter) SetPrefix(v string) *InventoryFilter { type InventoryS3BucketDestination struct { _ struct{} `type:"structure"` - // The ID of the account that owns the destination bucket. + // The account ID that owns the destination S3 bucket. If no account ID is provided, + // the owner is not validated before exporting data. + // + // Although this value is optional, we strongly recommend that you set it to + // help prevent problems if the destination bucket ownership changes. AccountId *string `type:"string"` // The Amazon Resource Name (ARN) of the bucket where inventory results will @@ -19781,7 +19794,8 @@ func (s *JSONInput) SetType(v string) *JSONInput { type JSONOutput struct { _ struct{} `type:"structure"` - // The value used to separate individual records in the output. + // The value used to separate individual records in the output. If no value + // is specified, Amazon S3 uses a newline character ('\n'). RecordDelimiter *string `type:"string"` } @@ -21017,11 +21031,12 @@ type ListObjectVersionsInput struct { // Specifies the key to start with when listing objects in a bucket. KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"` - // Sets the maximum number of keys returned in the response. The response might - // contain fewer keys but will never contain more. If additional keys satisfy - // the search criteria, but were not returned because max-keys was exceeded, - // the response contains true. To return the additional - // keys, see key-marker and version-id-marker. + // Sets the maximum number of keys returned in the response. By default the + // API returns up to 1,000 key names. The response might contain fewer keys + // but will never contain more. If additional keys satisfy the search criteria, + // but were not returned because max-keys was exceeded, the response contains + // true. To return the additional keys, see key-marker + // and version-id-marker. MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` // Use this parameter to select only those keys that begin with the specified @@ -21298,8 +21313,9 @@ type ListObjectsInput struct { // Specifies the key to start with when listing objects in a bucket. Marker *string `location:"querystring" locationName:"marker" type:"string"` - // Sets the maximum number of keys returned in the response. The response might - // contain fewer keys but will never contain more. + // Sets the maximum number of keys returned in the response. By default the + // API returns up to 1,000 key names. The response might contain fewer keys + // but will never contain more. MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` // Limits the response to keys that begin with the specified prefix. @@ -21561,8 +21577,9 @@ type ListObjectsV2Input struct { // true. FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"` - // Sets the maximum number of keys returned in the response. The response might - // contain fewer keys but will never contain more. + // Sets the maximum number of keys returned in the response. By default the + // API returns up to 1,000 key names. The response might contain fewer keys + // but will never contain more. MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` // Limits the response to keys that begin with the specified prefix. @@ -21731,8 +21748,9 @@ type ListObjectsV2Output struct { // result will include less than equals 50 keys KeyCount *int64 `type:"integer"` - // Sets the maximum number of keys returned in the response. The response might - // contain fewer keys but will never contain more. + // Sets the maximum number of keys returned in the response. By default the + // API returns up to 1,000 key names. The response might contain fewer keys + // but will never contain more. MaxKeys *int64 `type:"integer"` // Bucket name. @@ -23976,7 +23994,7 @@ type PutBucketCorsInput struct { // Describes the cross-origin access configuration for objects in an Amazon // S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing - // (https://docs.aws.amazon.com/AmazonS3/latest/dev//cors.html) in the Amazon + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon // Simple Storage Service Developer Guide. // // CORSConfiguration is a required field @@ -25767,8 +25785,8 @@ type PutObjectInput struct { // S3 (for example, AES256, aws:kms). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` - // If you don't specify, Standard is the default storage class. Amazon S3 supports - // other storage classes. + // If you don't specify, S3 Standard is the default storage class. Amazon S3 + // supports other storage classes. StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` // The tag-set for the object. The tag-set must be encoded as URL Query parameters. @@ -27784,7 +27802,7 @@ type RestoreRequest struct { // The optional description for the job. Description *string `type:"string"` - // Glacier related parameters pertaining to this job. Do not use with restores + // S3 Glacier related parameters pertaining to this job. Do not use with restores // that specify OutputLocation. GlacierJobParameters *GlacierJobParameters `type:"structure"` @@ -27794,7 +27812,7 @@ type RestoreRequest struct { // Describes the parameters for Select job types. SelectParameters *SelectParameters `type:"structure"` - // Glacier retrieval tier at which the restore will be processed. + // S3 Glacier retrieval tier at which the restore will be processed. Tier *string `type:"string" enum:"Tier"` // Type of restore request. @@ -27932,8 +27950,9 @@ func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule { } // Specifies lifecycle rules for an Amazon S3 bucket. For more information, -// see PUT Bucket lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) -// in the Amazon Simple Storage Service API Reference. +// see Put Bucket Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) +// in the Amazon Simple Storage Service API Reference. For examples, see Put +// Bucket Lifecycle Configuration Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html#API_PutBucketLifecycleConfiguration_Examples) type Rule struct { _ struct{} `type:"structure"` @@ -27978,7 +27997,10 @@ type Rule struct { // Status is a required field Status *string `type:"string" required:"true" enum:"ExpirationStatus"` - // Specifies when an object transitions to a specified storage class. + // Specifies when an object transitions to a specified storage class. For more + // information about Amazon S3 lifecycle configuration rules, see Transitioning + // Objects Using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) + // in the Amazon Simple Storage Service Developer Guide. Transition *Transition `type:"structure"` } @@ -28623,8 +28645,24 @@ func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *Selec type ServerSideEncryptionByDefault struct { _ struct{} `type:"structure"` - // KMS master key ID to use for the default encryption. This parameter is allowed - // if and only if SSEAlgorithm is set to aws:kms. + // AWS Key Management Service (KMS) customer master key ID to use for the default + // encryption. This parameter is allowed if and only if SSEAlgorithm is set + // to aws:kms. + // + // You can specify the key ID or the Amazon Resource Name (ARN) of the CMK. + // However, if you are using encryption with cross-account operations, you must + // use a fully qualified CMK ARN. For more information, see Using encryption + // for cross-account operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy). + // + // For example: + // + // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // Amazon S3 only supports symmetric CMKs and not asymmetric CMKs. For more + // information, see Using Symmetric and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) + // in the AWS Key Management Service Developer Guide. KMSMasterKeyID *string `type:"string" sensitive:"true"` // Server-side encryption algorithm to use for the default encryption. @@ -29329,7 +29367,10 @@ func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDep return s } -// Specifies when an object transitions to a specified storage class. +// Specifies when an object transitions to a specified storage class. For more +// information about Amazon S3 lifecycle configuration rules, see Transitioning +// Objects Using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) +// in the Amazon Simple Storage Service Developer Guide. type Transition struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/body_hash.go b/vendor/github.com/aws/aws-sdk-go/service/s3/body_hash.go index 5c8ce5cc8a5..407f06b6ede 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/body_hash.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/body_hash.go @@ -13,7 +13,6 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/internal/sdkio" ) const ( @@ -25,30 +24,6 @@ const ( appendMD5TxEncoding = "append-md5" ) -// contentMD5 computes and sets the HTTP Content-MD5 header for requests that -// require it. -func contentMD5(r *request.Request) { - h := md5.New() - - if !aws.IsReaderSeekable(r.Body) { - if r.Config.Logger != nil { - r.Config.Logger.Log(fmt.Sprintf( - "Unable to compute Content-MD5 for unseekable body, S3.%s", - r.Operation.Name)) - } - return - } - - if _, err := copySeekableBody(h, r.Body); err != nil { - r.Error = awserr.New("ContentMD5", "failed to compute body MD5", err) - return - } - - // encode the md5 checksum in base64 and set the request header. - v := base64.StdEncoding.EncodeToString(h.Sum(nil)) - r.HTTPRequest.Header.Set(contentMD5Header, v) -} - // computeBodyHashes will add Content MD5 and Content Sha256 hashes to the // request. If the body is not seekable or S3DisableContentMD5Validation set // this handler will be ignored. @@ -90,7 +65,7 @@ func computeBodyHashes(r *request.Request) { dst = io.MultiWriter(hashers...) } - if _, err := copySeekableBody(dst, r.Body); err != nil { + if _, err := aws.CopySeekableBody(dst, r.Body); err != nil { r.Error = awserr.New("BodyHashError", "failed to compute body hashes", err) return } @@ -119,28 +94,6 @@ const ( sha256HexEncLen = sha256.Size * 2 // hex.EncodedLen ) -func copySeekableBody(dst io.Writer, src io.ReadSeeker) (int64, error) { - curPos, err := src.Seek(0, sdkio.SeekCurrent) - if err != nil { - return 0, err - } - - // hash the body. seek back to the first position after reading to reset - // the body for transmission. copy errors may be assumed to be from the - // body. - n, err := io.Copy(dst, src) - if err != nil { - return n, err - } - - _, err = src.Seek(curPos, sdkio.SeekStart) - if err != nil { - return n, err - } - - return n, nil -} - // Adds the x-amz-te: append_md5 header to the request. This requests the service // responds with a trailing MD5 checksum. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go index 036d0b2e013..a7698d5eb94 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go @@ -33,12 +33,6 @@ func defaultInitRequestFn(r *request.Request) { platformRequestHandlers(r) switch r.Operation.Name { - case opPutBucketCors, opPutBucketLifecycle, opPutBucketPolicy, - opPutBucketTagging, opDeleteObjects, opPutBucketLifecycleConfiguration, - opPutObjectLegalHold, opPutObjectRetention, opPutObjectLockConfiguration, - opPutBucketReplication: - // These S3 operations require Content-MD5 to be set - r.Handlers.Build.PushBack(contentMD5) case opGetBucketLocation: // GetBucketLocation has custom parsing logic r.Handlers.Unmarshal.PushFront(buildGetBucketLocation) 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 9a7070b9b55..28059331e70 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 @@ -308,12 +308,10 @@ func (c *SageMaker) CreateAppRequest(input *CreateAppInput) (req *request.Reques // // Creates a running App for the specified UserProfile. Supported Apps are JupyterServer, // KernelGateway, and TensorBoard. This operation is automatically invoked by -// Amazon SageMaker Studio upon access to the associated Studio Domain, and -// when new kernel configurations are selected by the user. A user may have -// multiple Apps active simultaneously. Apps will automatically terminate and -// be deleted when stopped from within Studio, or when the DeleteApp API is -// manually called. UserProfiles are limited to 5 concurrently running Apps -// at a time. +// Amazon SageMaker Studio upon access to the associated Domain, and when new +// kernel configurations are selected by the user. A user may have multiple +// Apps active simultaneously. UserProfiles are limited to 5 concurrently running +// Apps at a time. // // 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 @@ -678,15 +676,24 @@ func (c *SageMaker) CreateDomainRequest(input *CreateDomainInput) (req *request. // CreateDomain API operation for Amazon SageMaker Service. // -// Creates a Domain for Amazon SageMaker Studio, which can be accessed by end-users -// in a web browser. A Domain has an associated directory, list of authorized -// users, and a variety of security, application, policies, and Amazon Virtual -// Private Cloud configurations. An AWS account is limited to one Domain, per -// region. Users within a domain can share notebook files and other artifacts -// with each other. When a Domain is created, an Amazon Elastic File System -// (EFS) is also created for use by all of the users within the Domain. Each -// user receives a private home directory within the EFS for notebooks, Git -// repositories, and data files. +// Creates a Domain used by SageMaker Studio. A domain consists of an associated +// directory, a list of authorized users, and a variety of security, application, +// policy, and Amazon Virtual Private Cloud (VPC) configurations. An AWS account +// is limited to one domain per region. Users within a domain can share notebook +// files and other artifacts with each other. +// +// When a domain is created, an Amazon Elastic File System (EFS) volume is also +// created for use by all of the users within the domain. Each user receives +// a private home directory within the EFS for notebooks, Git repositories, +// and data files. +// +// All traffic between the domain and the EFS volume is communicated through +// the specified subnet IDs. All other traffic goes over the Internet through +// an Amazon SageMaker system VPC. The EFS traffic uses the NFS/TCP protocol +// over port 2049. +// +// NFS traffic over TCP on port 2049 needs to be allowed in both inbound and +// outbound rules in order to launch a SageMaker Studio app successfully. // // 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 @@ -788,6 +795,17 @@ func (c *SageMaker) CreateEndpointRequest(input *CreateEndpointInput) (req *requ // When it receives the request, Amazon SageMaker creates the endpoint, launches // the resources (ML compute instances), and deploys the model(s) on them. // +// When you call CreateEndpoint, a load call is made to DynamoDB to verify that +// your endpoint configuration exists. When you read data from a DynamoDB table +// supporting Eventually Consistent Reads (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html), +// the response might not reflect the results of a recently completed write +// operation. The response might include some stale data. If the dependent entities +// are not yet in DynamoDB, this causes a validation error. If you repeat your +// read request after a short time, the response should return the latest data. +// So retry logic is recommended to handle these possible issues. We also recommend +// that customers call DescribeEndpointConfig before calling CreateEndpoint +// to minimize the potential impact of a DynamoDB eventually consistent read. +// // When Amazon SageMaker receives the request, it sets the endpoint status to // Creating. After it creates the endpoint, it sets the status to InService. // Amazon SageMaker can then process incoming requests for inferences. To check @@ -902,6 +920,17 @@ func (c *SageMaker) CreateEndpointConfigRequest(input *CreateEndpointConfigInput // hosting services, see Deploy the Model to Amazon SageMaker Hosting Services // (AWS SDK for Python (Boto 3)). (https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-deploy-model.html#ex1-deploy-model-boto) // +// When you call CreateEndpoint, a load call is made to DynamoDB to verify that +// your endpoint configuration exists. When you read data from a DynamoDB table +// supporting Eventually Consistent Reads (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html), +// the response might not reflect the results of a recently completed write +// operation. The response might include some stale data. If the dependent entities +// are not yet in DynamoDB, this causes a validation error. If you repeat your +// read request after a short time, the response should return the latest data. +// So retry logic is recommended to handle these possible issues. We also recommend +// that customers call DescribeEndpointConfig before calling CreateEndpoint +// to minimize the potential impact of a DynamoDB eventually consistent read. +// // 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. @@ -1941,9 +1970,9 @@ func (c *SageMaker) CreatePresignedDomainUrlRequest(input *CreatePresignedDomain // // Creates a URL for a specified UserProfile in a Domain. When accessed in a // web browser, the user will be automatically signed in to Amazon SageMaker -// Studio, and granted access to all of the Apps and files associated with that -// Amazon Elastic File System (EFS). This operation can only be called when -// AuthMode equals IAM. +// Studio, and granted access to all of the Apps and files associated with the +// Domain's Amazon Elastic File System (EFS) volume. This operation can only +// be called when the authentication mode equals IAM. // // 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 @@ -2028,13 +2057,17 @@ func (c *SageMaker) CreatePresignedNotebookInstanceUrlRequest(input *CreatePresi // home page from the notebook instance. The console uses this API to get the // URL and show the page. // -// IAM authorization policies for this API are also enforced for every HTTP -// request and WebSocket frame that attempts to connect to the notebook instance.For -// example, you can restrict access to this API and to the URL that it returns -// to a list of IP addresses that you specify. Use the NotIpAddress condition -// operator and the aws:SourceIP condition context key to specify the list of -// IP addresses that you want to have access to the notebook instance. For more -// information, see Limit Access to a Notebook Instance by IP Address (https://docs.aws.amazon.com/sagemaker/latest/dg/security_iam_id-based-policy-examples.html#nbi-ip-filter). +// The IAM role or user used to call this API defines the permissions to access +// the notebook instance. Once the presigned URL is created, no additional permission +// is required to access this URL. IAM authorization policies for this API are +// also enforced for every HTTP request and WebSocket frame that attempts to +// connect to the notebook instance. +// +// You can restrict access to this API and to the URL that it returns to a list +// of IP addresses that you specify. Use the NotIpAddress condition operator +// and the aws:SourceIP condition context key to specify the list of IP addresses +// that you want to have access to the notebook instance. For more information, +// see Limit Access to a Notebook Instance by IP Address (https://docs.aws.amazon.com/sagemaker/latest/dg/security_iam_id-based-policy-examples.html#nbi-ip-filter). // // The URL that you get from a call to CreatePresignedNotebookInstanceUrl is // valid only for 5 minutes. If you try to use the URL after the 5-minute limit @@ -2632,14 +2665,13 @@ func (c *SageMaker) CreateUserProfileRequest(input *CreateUserProfileInput) (req // CreateUserProfile API operation for Amazon SageMaker Service. // // Creates a user profile. A user profile represents a single user within a -// Domain, and is the main way to reference a "person" for the purposes of sharing, -// reporting and other user-oriented features. This entity is created during -// on-boarding to Amazon SageMaker Studio. If an administrator invites a person -// by email or imports them from SSO, a UserProfile is automatically created. -// -// This entity is the primary holder of settings for an individual user and, -// through the domain, has a reference to the user's private Amazon Elastic -// File System (EFS) home directory. +// domain, and is the main way to reference a "person" for the purposes of sharing, +// reporting, and other user-oriented features. This entity is created when +// a user onboards to Amazon SageMaker Studio. If an administrator invites a +// person by email or imports them from SSO, a user profile is automatically +// created. A user profile is the primary holder of settings for an individual +// user and has a reference to the user's private Amazon Elastic File System +// (EFS) home directory. // // 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 @@ -3043,9 +3075,10 @@ func (c *SageMaker) DeleteDomainRequest(input *DeleteDomainInput) (req *request. // DeleteDomain API operation for Amazon SageMaker Service. // -// Used to delete a domain. Use with caution. If RetentionPolicy is set to Delete, -// all of the members of the domain will lose access to their EFS volume, including -// data, notebooks, and other artifacts. +// Used to delete a domain. If you onboarded with IAM mode, you will need to +// delete your domain to onboard again using SSO. Use with caution. All of the +// members of the domain will lose access to their EFS volume, including data, +// notebooks, and other artifacts. // // 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 @@ -3212,6 +3245,13 @@ func (c *SageMaker) DeleteEndpointConfigRequest(input *DeleteEndpointConfigInput // the specified configuration. It does not delete endpoints created using the // configuration. // +// You must not delete an EndpointConfig in use by an endpoint that is live +// or while the UpdateEndpoint or CreateEndpoint operations are being performed +// on the endpoint. If you delete the EndpointConfig of an endpoint that is +// active or being created or updated you may lose visibility into the instance +// type the endpoint is using. The endpoint must be deleted in order to stop +// incurring charges. +// // 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. @@ -4083,7 +4123,8 @@ func (c *SageMaker) DeleteUserProfileRequest(input *DeleteUserProfileInput) (req // DeleteUserProfile API operation for Amazon SageMaker Service. // -// Deletes a user profile. +// Deletes a user profile. When a user profile is deleted, the user loses access +// to their EFS volume, including data, notebooks, and other artifacts. // // 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 @@ -4633,7 +4674,7 @@ func (c *SageMaker) DescribeDomainRequest(input *DescribeDomainInput) (req *requ // DescribeDomain API operation for Amazon SageMaker Service. // -// The desciption of the domain. +// The description of the domain. // // 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 @@ -6108,7 +6149,7 @@ func (c *SageMaker) DescribeUserProfileRequest(input *DescribeUserProfileInput) // DescribeUserProfile API operation for Amazon SageMaker Service. // -// Describes the user profile. +// Describes a user profile. For more information, see CreateUserProfile. // // 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 @@ -11854,7 +11895,7 @@ func (c *SageMaker) UpdateDomainRequest(input *UpdateDomainInput) (req *request. // UpdateDomain API operation for Amazon SageMaker Service. // -// Updates a domain. Changes will impact all of the people in the domain. +// Updates the default settings for new user profiles in the domain. // // 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 @@ -11952,6 +11993,10 @@ func (c *SageMaker) UpdateEndpointRequest(input *UpdateEndpointInput) (req *requ // or while the UpdateEndpoint or CreateEndpoint operations are being performed // on the endpoint. To update an endpoint, you must create a new EndpointConfig. // +// If you delete the EndpointConfig of an endpoint that is active or being created +// or updated you may lose visibility into the instance type the endpoint is +// using. The endpoint must be deleted in order to stop incurring charges. +// // 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. @@ -13350,29 +13395,34 @@ type AnnotationConsolidationConfig struct { // and text classification task types, Amazon SageMaker Ground Truth provides // the following Lambda functions: // - // * Bounding box - Finds the most similar boxes from different workers based - // on the Jaccard index of the boxes. arn:aws:lambda:us-east-1:432418664414:function:ACS-BoundingBox - // arn:aws:lambda:us-east-2:266458841044:function:ACS-BoundingBox arn:aws:lambda:us-west-2:081040173940:function:ACS-BoundingBox - // arn:aws:lambda:eu-west-1:568282634449:function:ACS-BoundingBox arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-BoundingBox - // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-BoundingBox arn:aws:lambda:ap-south-1:565803892007:function:ACS-BoundingBox - // arn:aws:lambda:eu-central-1:203001061592:function:ACS-BoundingBox arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-BoundingBox - // arn:aws:lambda:eu-west-2:487402164563:function:ACS-BoundingBox arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-BoundingBox - // arn:aws:lambda:ca-central-1:918755190332:function:ACS-BoundingBox - // - // * Image classification - Uses a variant of the Expectation Maximization - // approach to estimate the true class of an image based on annotations from - // individual workers. arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClass - // arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClass arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClass - // arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClass arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-ImageMultiClass + // Bounding box - Finds the most similar boxes from different workers based + // on the Jaccard index of the boxes. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-BoundingBox arn:aws:lambda:us-east-2:266458841044:function:ACS-BoundingBox + // arn:aws:lambda:us-west-2:081040173940:function:ACS-BoundingBox arn:aws:lambda:eu-west-1:568282634449:function:ACS-BoundingBox + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-BoundingBox arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-BoundingBox + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-BoundingBox arn:aws:lambda:eu-central-1:203001061592:function:ACS-BoundingBox + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-BoundingBox arn:aws:lambda:eu-west-2:487402164563:function:ACS-BoundingBox + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-BoundingBox arn:aws:lambda:ca-central-1:918755190332:function:ACS-BoundingBox + // + // Image classification - Uses a variant of the Expectation Maximization approach + // to estimate the true class of an image based on annotations from individual + // workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClass arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClass + // arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClass arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClass + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-ImageMultiClass // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-ImageMultiClass // arn:aws:lambda:ap-south-1:565803892007:function:ACS-ImageMultiClass arn:aws:lambda:eu-central-1:203001061592:function:ACS-ImageMultiClass // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-ImageMultiClass // arn:aws:lambda:eu-west-2:487402164563:function:ACS-ImageMultiClass arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-ImageMultiClass // arn:aws:lambda:ca-central-1:918755190332:function:ACS-ImageMultiClass // - // * Multi-label image classification - Uses a variant of the Expectation - // Maximization approach to estimate the true classes of an image based on - // annotations from individual workers. arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClassMultiLabel + // Multi-label image classification - Uses a variant of the Expectation Maximization + // approach to estimate the true classes of an image based on annotations from + // individual workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClassMultiLabel // arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClassMultiLabel // arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClassMultiLabel // arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClassMultiLabel @@ -13385,9 +13435,10 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-ImageMultiClassMultiLabel // arn:aws:lambda:ca-central-1:918755190332:function:ACS-ImageMultiClassMultiLabel // - // * Semantic segmentation - Treats each pixel in an image as a multi-class - // classification and treats pixel annotations from workers as "votes" for - // the correct label. arn:aws:lambda:us-east-1:432418664414:function:ACS-SemanticSegmentation + // Semantic segmentation - Treats each pixel in an image as a multi-class classification + // and treats pixel annotations from workers as "votes" for the correct label. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-SemanticSegmentation // arn:aws:lambda:us-east-2:266458841044:function:ACS-SemanticSegmentation // arn:aws:lambda:us-west-2:081040173940:function:ACS-SemanticSegmentation // arn:aws:lambda:eu-west-1:568282634449:function:ACS-SemanticSegmentation @@ -13400,20 +13451,23 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-SemanticSegmentation // arn:aws:lambda:ca-central-1:918755190332:function:ACS-SemanticSegmentation // - // * Text classification - Uses a variant of the Expectation Maximization - // approach to estimate the true class of text based on annotations from - // individual workers. arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass - // arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClass arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClass - // arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClass arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-TextMultiClass + // Text classification - Uses a variant of the Expectation Maximization approach + // to estimate the true class of text based on annotations from individual workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClass + // arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClass 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 // arn:aws:lambda:ap-south-1:565803892007:function:ACS-TextMultiClass arn:aws:lambda:eu-central-1:203001061592:function:ACS-TextMultiClass // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-TextMultiClass // arn:aws:lambda:eu-west-2:487402164563:function:ACS-TextMultiClass arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-TextMultiClass // arn:aws:lambda:ca-central-1:918755190332:function:ACS-TextMultiClass // - // * Multi-label text classification - Uses a variant of the Expectation - // Maximization approach to estimate the true classes of text based on annotations - // from individual workers. arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClassMultiLabel + // Multi-label text classification - Uses a variant of the Expectation Maximization + // approach to estimate the true classes of text based on annotations from individual + // workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClassMultiLabel // arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClassMultiLabel // arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClassMultiLabel // arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClassMultiLabel @@ -13426,8 +13480,10 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-TextMultiClassMultiLabel // arn:aws:lambda:ca-central-1:918755190332:function:ACS-TextMultiClassMultiLabel // - // * Named entity recognition - Groups similar selections and calculates - // aggregate boundaries, resolving to most-assigned label. arn:aws:lambda:us-east-1:432418664414:function:ACS-NamedEntityRecognition + // Named entity recognition - 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 @@ -13440,9 +13496,11 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-NamedEntityRecognition // arn:aws:lambda:ca-central-1:918755190332:function:ACS-NamedEntityRecognition // - // * Bounding box verification - Uses a variant of the Expectation Maximization - // approach to estimate the true class of verification judgement for bounding - // box labels based on annotations from individual workers. arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationBoundingBox + // Bounding box verification - Uses a variant of the Expectation Maximization + // approach to estimate the true class of verification judgement for bounding + // box labels based on annotations from individual workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationBoundingBox // arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationBoundingBox // arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationBoundingBox // arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationBoundingBox @@ -13455,10 +13513,11 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationBoundingBox // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationBoundingBox // - // * Semantic segmentation verification - Uses a variant of the Expectation - // Maximization approach to estimate the true class of verification judgment - // for semantic segmentation labels based on annotations from individual - // workers. arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationSemanticSegmentation + // Semantic segmentation verification - Uses a variant of the Expectation Maximization + // approach to estimate the true class of verification judgment for semantic + // segmentation labels based on annotations from individual workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationSemanticSegmentation // arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationSemanticSegmentation // arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationSemanticSegmentation // arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationSemanticSegmentation @@ -13471,8 +13530,10 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationSemanticSegmentation // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationSemanticSegmentation // - // * Bounding box adjustment - Finds the most similar boxes from different - // workers based on the Jaccard index of the adjusted annotations. arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentBoundingBox + // Bounding box adjustment - Finds the most similar boxes from different workers + // based on the Jaccard index of the adjusted annotations. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentBoundingBox // arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentBoundingBox // arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentBoundingBox // arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentBoundingBox @@ -13485,9 +13546,11 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentBoundingBox // arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentBoundingBox // - // * Semantic segmentation adjustment - Treats each pixel in an image as - // a multi-class classification and treats pixel adjusted annotations from - // workers as "votes" for the correct label. arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentSemanticSegmentation + // Semantic segmentation adjustment - Treats each pixel in an image as a multi-class + // classification and treats pixel adjusted annotations from workers as "votes" + // for the correct label. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentSemanticSegmentation // arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentSemanticSegmentation // arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentSemanticSegmentation // arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentSemanticSegmentation @@ -15916,7 +15979,7 @@ func (s *CreateAppInput) SetUserProfileName(v string) *CreateAppInput { type CreateAppOutput struct { _ struct{} `type:"structure"` - // The app's Amazon Resource Name (ARN). + // The App's Amazon Resource Name (ARN). AppArn *string `type:"string"` } @@ -16391,7 +16454,7 @@ func (s *CreateCompilationJobOutput) SetCompilationJobArn(v string) *CreateCompi type CreateDomainInput struct { _ struct{} `type:"structure"` - // The mode of authentication that member use to access the domain. + // The mode of authentication that members use to access the domain. // // AuthMode is a required field AuthMode *string `type:"string" required:"true" enum:"AuthMode"` @@ -16410,17 +16473,18 @@ type CreateDomainInput struct { // customer master key (CMK) is not supported. HomeEfsFileSystemKmsKeyId *string `type:"string"` - // Security setting to limit to a set of subnets. + // The VPC subnets to use for communication with the EFS volume. // // SubnetIds is a required field SubnetIds []*string `min:"1" type:"list" required:"true"` - // Each tag consists of a key and an optional value. Tag keys must be unique - // per resource. + // Tags to associated with the Domain. Each tag consists of a key and an optional + // value. Tag keys must be unique per resource. Tags are searchable using the + // Search API. Tags []*Tag `type:"list"` - // Security setting to limit the domain's communication to a Amazon Virtual - // Private Cloud. + // The ID of the Amazon Virtual Private Cloud (VPC) to use for communication + // with the EFS volume. // // VpcId is a required field VpcId *string `type:"string" required:"true"` @@ -17240,6 +17304,8 @@ type CreateHyperParameterTuningJobInput struct { // stopping condition. TrainingJobDefinition *HyperParameterTrainingJobDefinition `type:"structure"` + // A list of the HyperParameterTrainingJobDefinition objects launched for this + // tuning job. TrainingJobDefinitions []*HyperParameterTrainingJobDefinition `min:"1" type:"list"` // Specifies the configuration for starting the hyperparameter tuning job using @@ -23610,6 +23676,8 @@ type DescribeHyperParameterTuningJobOutput struct { // of the training jobs that this tuning job launches. TrainingJobDefinition *HyperParameterTrainingJobDefinition `type:"structure"` + // A list of the HyperParameterTrainingJobDefinition objects launched for this + // tuning job. TrainingJobDefinitions []*HyperParameterTrainingJobDefinition `min:"1" type:"list"` // The TrainingJobStatusCounters object that specifies the number of training @@ -26298,13 +26366,13 @@ type DescribeUserProfileOutput struct { // The creation time. CreationTime *time.Time `type:"timestamp"` - // The domain ID. + // The ID of the domain that contains the profile. DomainId *string `type:"string"` // The failure reason. FailureReason *string `type:"string"` - // The home Amazon Elastic File System (EFS) Uid. + // The ID of the user's profile in the Amazon Elastic File System (EFS) volume. HomeEfsFileSystemUid *string `type:"string"` // The last modified time. @@ -28425,291 +28493,306 @@ type HumanTaskConfig struct { // and text classification task types, Amazon SageMaker Ground Truth provides // the following Lambda functions: // - // US East (Northern Virginia) (us-east-1): + // Bounding box - Finds the most similar boxes from different workers based + // on the Jaccard index of the boxes. // // * arn:aws:lambda:us-east-1:432418664414:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-SemanticSegmentation + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-BoundingBox // - // US East (Ohio) (us-east-2): + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-BoundingBox + // Image classification - Uses a variant of the Expectation Maximization approach + // to estimate the true class of an image based on annotations from individual + // workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClass // // * arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-SemanticSegmentation + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClass + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClass // - // US West (Oregon) (us-west-2): + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-BoundingBox + // Multi-label image classification - Uses a variant of the Expectation Maximization + // approach to estimate the true classes of an image based on annotations from + // individual workers. // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClassMultiLabel + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClassMultiLabel // // * arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-SemanticSegmentation + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClass + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClassMultiLabel + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClassMultiLabel // - // Canada (Central) (ca-central-1): + // Semantic segmentation - Treats each pixel in an image as a multi-class classification + // and treats pixel annotations from workers as "votes" for the correct label. // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-BoundingBox + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-SemanticSegmentation // // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClass + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-SemanticSegmentation // - // EU (Ireland) (eu-west-1): + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-BoundingBox + // Text classification - Uses a variant of the Expectation Maximization approach + // to estimate the true class of text based on annotations from individual workers. // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-SemanticSegmentation + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClass + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClass // // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClass // - // EU (London) (eu-west-2): + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-BoundingBox + // Multi-label text classification - Uses a variant of the Expectation Maximization + // approach to estimate the true classes of text based on annotations from individual + // workers. // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-SemanticSegmentation + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClass + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClassMultiLabel + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClassMultiLabel // // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClassMultiLabel // - // EU Frankfurt (eu-central-1): + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-BoundingBox + // Named entity recognition - Groups similar selections and calculates aggregate + // boundaries, resolving to most-assigned label. // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-SemanticSegmentation + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClass + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-NamedEntityRecognition + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-NamedEntityRecognition // // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-NamedEntityRecognition // - // Asia Pacific (Tokyo) (ap-northeast-1): + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-BoundingBox + // Bounding box verification - Uses a variant of the Expectation Maximization + // approach to estimate the true class of verification judgement for bounding + // box labels based on annotations from individual workers. // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationBoundingBox // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationBoundingBox // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-SemanticSegmentation + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationBoundingBox // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClass + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationBoundingBox // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationBoundingBox // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationBoundingBox + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationBoundingBox // // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationBoundingBox // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationBoundingBox // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationBoundingBox // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationBoundingBox // - // Asia Pacific (Seoul) (ap-northeast-2): + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationBoundingBox // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-BoundingBox + // Bounding box adjustment - Finds the most similar boxes from different workers + // based on the Jaccard index of the adjusted annotations. // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentBoundingBox // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentBoundingBox // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-SemanticSegmentation + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentBoundingBox // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClass + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentBoundingBox // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentBoundingBox // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentBoundingBox // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentBoundingBox // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentBoundingBox // // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentBoundingBox // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentSemanticSegmentation - // - // Asia Pacific (Mumbai) (ap-south-1): - // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-BoundingBox - // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClass - // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClassMultiLabel - // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-SemanticSegmentation - // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClass - // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClassMultiLabel - // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentBoundingBox // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentBoundingBox // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentBoundingBox // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentBoundingBox + // Semantic segmentation verification - Uses a variant of the Expectation Maximization + // approach to estimate the true class of verification judgment for semantic + // segmentation labels based on annotations from individual workers. // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationSemanticSegmentation // - // Asia Pacific (Singapore) (ap-southeast-1): + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-BoundingBox + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClass + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-SemanticSegmentation + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClass + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationSemanticSegmentation // // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentSemanticSegmentation + // Semantic segmentation adjustment - Treats each pixel in an image as a multi-class + // classification and treats pixel adjusted annotations from workers as "votes" + // for the correct label. // - // Asia Pacific (Sydney) (ap-southeast-2): + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-BoundingBox + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-SemanticSegmentation + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClass + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentSemanticSegmentation // // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentSemanticSegmentation // @@ -35628,6 +35711,10 @@ func (s *MetricDefinition) SetRegex(v string) *MetricDefinition { // Provides information about the location that is configured for storing model // artifacts. +// +// Model artifacts are the output that results from training a model, and typically +// consist of trained parameters, a model defintion that desribes how to compute +// inferences, and other metadata. type ModelArtifacts struct { _ struct{} `type:"structure"` @@ -39216,6 +39303,10 @@ func (s *PublicWorkforceTaskPrice) SetAmountInUsd(v *USD) *PublicWorkforceTaskPr type RenderUiTemplateInput struct { _ struct{} `type:"structure"` + // The HumanTaskUiArn of the worker UI that you want to render. Do not provide + // a HumanTaskUiArn if you use the UiTemplate parameter. + HumanTaskUiArn *string `type:"string"` + // The Amazon Resource Name (ARN) that has access to the S3 objects that are // used by the template. // @@ -39270,6 +39361,12 @@ func (s *RenderUiTemplateInput) Validate() error { return nil } +// SetHumanTaskUiArn sets the HumanTaskUiArn field's value. +func (s *RenderUiTemplateInput) SetHumanTaskUiArn(v string) *RenderUiTemplateInput { + s.HumanTaskUiArn = &v + return s +} + // SetRoleArn sets the RoleArn field's value. func (s *RenderUiTemplateInput) SetRoleArn(v string) *RenderUiTemplateInput { s.RoleArn = &v @@ -39803,8 +39900,8 @@ func (s *ResourceNotFound) RequestID() string { } // The instance type and the Amazon Resource Name (ARN) of the SageMaker image -// created on the instance. The ARN is stored as metadata in Amazon SageMaker -// Studio notebooks. +// created on the instance. The ARN is stored as metadata in SageMaker Studio +// notebooks. type ResourceSpec struct { _ struct{} `type:"structure"` @@ -40501,17 +40598,25 @@ func (s *SecondaryStatusTransition) SetStatusMessage(v string) *SecondaryStatusT return s } -// The sharing settings. +// Specifies options when sharing an Amazon SageMaker Studio notebook. These +// settings are specified as part of DefaultUserSettings when the CreateDomain +// API is called, and as part of UserSettings when the CreateUserProfile API +// is called. type SharingSettings struct { _ struct{} `type:"structure"` - // The notebook output option. + // Whether to include the notebook cell output when sharing the notebook. The + // default is Disabled. NotebookOutputOption *string `type:"string" enum:"NotebookOutputOption"` - // The AWS Key Management Service encryption key ID. + // When NotebookOutputOption is Allowed, the AWS Key Management Service (KMS) + // encryption key ID used to encrypt the notebook cell output in the Amazon + // S3 bucket. S3KmsKeyId *string `type:"string"` - // The Amazon S3 output path. + // When NotebookOutputOption is Allowed, the Amazon S3 bucket used to save the + // notebook cell output. If S3OutputPath isn't specified, a default bucket is + // used. S3OutputPath *string `type:"string"` } @@ -44137,9 +44242,14 @@ func (s *USD) SetTenthFractionsOfACent(v int64) *USD { type UiConfig struct { _ struct{} `type:"structure"` - // The Amazon S3 bucket location of the UI template. For more information about - // the contents of a UI template, see Creating Your Custom Labeling Task Template - // (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step2.html). + // The ARN of the worker task template used to render the worker UI and tools + // for labeling job tasks. Do not use this parameter if you use UiTemplateS3Uri. + HumanTaskUiArn *string `type:"string"` + + // The Amazon S3 bucket location of the UI template, or worker task template. + // This is the template used to render the worker UI and tools for labeling + // job tasks. For more information about the contents of a UI template, see + // Creating Your Custom Labeling Task Template (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step2.html). UiTemplateS3Uri *string `type:"string"` } @@ -44153,6 +44263,12 @@ func (s UiConfig) GoString() string { return s.String() } +// SetHumanTaskUiArn sets the HumanTaskUiArn field's value. +func (s *UiConfig) SetHumanTaskUiArn(v string) *UiConfig { + s.HumanTaskUiArn = &v + return s +} + // SetUiTemplateS3Uri sets the UiTemplateS3Uri field's value. func (s *UiConfig) SetUiTemplateS3Uri(v string) *UiConfig { s.UiTemplateS3Uri = &v @@ -44325,7 +44441,7 @@ type UpdateDomainInput struct { // A collection of settings. DefaultUserSettings *UserSettings `type:"structure"` - // The domain ID. + // The ID of the domain to be updated. // // DomainId is a required field DomainId *string `type:"string" required:"true"` @@ -44374,7 +44490,7 @@ func (s *UpdateDomainInput) SetDomainId(v string) *UpdateDomainInput { type UpdateDomainOutput struct { _ struct{} `type:"structure"` - // The domain Amazon Resource Name (ARN). + // The Amazon Resource Name (ARN) of the domain. DomainArn *string `type:"string"` } diff --git a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go index ef25beaffd9..1d70aad139b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go @@ -2708,6 +2708,9 @@ func (c *ServiceCatalog) DescribeProductAsAdminRequest(input *DescribeProductAsA // * ResourceNotFoundException // The specified resource was not found. // +// * InvalidParametersException +// One or more parameters provided to the operation are not valid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductAsAdmin func (c *ServiceCatalog) DescribeProductAsAdmin(input *DescribeProductAsAdminInput) (*DescribeProductAsAdminOutput, error) { req, out := c.DescribeProductAsAdminRequest(input) @@ -3031,6 +3034,9 @@ func (c *ServiceCatalog) DescribeProvisioningArtifactRequest(input *DescribeProv // * ResourceNotFoundException // The specified resource was not found. // +// * InvalidParametersException +// One or more parameters provided to the operation are not valid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningArtifact func (c *ServiceCatalog) DescribeProvisioningArtifact(input *DescribeProvisioningArtifactInput) (*DescribeProvisioningArtifactOutput, error) { req, out := c.DescribeProvisioningArtifactRequest(input) @@ -10256,7 +10262,11 @@ type CreateServiceActionInput struct { // // Name // - // The name of the AWS Systems Manager Document. For example, AWS-RestartEC2Instance. + // The name of the AWS Systems Manager document (SSM document). For example, + // AWS-RestartEC2Instance. + // + // If you are using a shared SSM document, you must provide the ARN instead + // of the name. // // Version // @@ -11491,9 +11501,10 @@ type DescribeProductAsAdminInput struct { AcceptLanguage *string `type:"string"` // The product identifier. - // - // Id is a required field - Id *string `min:"1" type:"string" required:"true"` + Id *string `min:"1" type:"string"` + + // The product name. + Name *string `type:"string"` } // String returns the string representation @@ -11509,9 +11520,6 @@ func (s DescribeProductAsAdminInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeProductAsAdminInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeProductAsAdminInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } @@ -11534,6 +11542,12 @@ func (s *DescribeProductAsAdminInput) SetId(v string) *DescribeProductAsAdminInp return s } +// SetName sets the Name field's value. +func (s *DescribeProductAsAdminInput) SetName(v string) *DescribeProductAsAdminInput { + s.Name = &v + return s +} + type DescribeProductAsAdminOutput struct { _ struct{} `type:"structure"` @@ -11607,9 +11621,10 @@ type DescribeProductInput struct { AcceptLanguage *string `type:"string"` // The product identifier. - // - // Id is a required field - Id *string `min:"1" type:"string" required:"true"` + Id *string `min:"1" type:"string"` + + // The product name. + Name *string `type:"string"` } // String returns the string representation @@ -11625,9 +11640,6 @@ func (s DescribeProductInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeProductInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeProductInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } @@ -11650,12 +11662,21 @@ func (s *DescribeProductInput) SetId(v string) *DescribeProductInput { return s } +// SetName sets the Name field's value. +func (s *DescribeProductInput) SetName(v string) *DescribeProductInput { + s.Name = &v + return s +} + type DescribeProductOutput struct { _ struct{} `type:"structure"` // Information about the associated budgets. Budgets []*BudgetDetail `type:"list"` + // Information about the associated launch paths. + LaunchPaths []*LaunchPath `type:"list"` + // Summary information about the product view. ProductViewSummary *ProductViewSummary `type:"structure"` @@ -11679,6 +11700,12 @@ func (s *DescribeProductOutput) SetBudgets(v []*BudgetDetail) *DescribeProductOu return s } +// SetLaunchPaths sets the LaunchPaths field's value. +func (s *DescribeProductOutput) SetLaunchPaths(v []*LaunchPath) *DescribeProductOutput { + s.LaunchPaths = v + return s +} + // SetProductViewSummary sets the ProductViewSummary field's value. func (s *DescribeProductOutput) SetProductViewSummary(v *ProductViewSummary) *DescribeProductOutput { s.ProductViewSummary = v @@ -11997,14 +12024,16 @@ type DescribeProvisioningArtifactInput struct { AcceptLanguage *string `type:"string"` // The product identifier. - // - // ProductId is a required field - ProductId *string `min:"1" type:"string" required:"true"` + ProductId *string `min:"1" type:"string"` + + // The product name. + ProductName *string `type:"string"` // The identifier of the provisioning artifact. - // - // ProvisioningArtifactId is a required field - ProvisioningArtifactId *string `min:"1" type:"string" required:"true"` + ProvisioningArtifactId *string `min:"1" type:"string"` + + // The provisioning artifact name. + ProvisioningArtifactName *string `type:"string"` // Indicates whether a verbose level of detail is enabled. Verbose *bool `type:"boolean"` @@ -12023,15 +12052,9 @@ func (s DescribeProvisioningArtifactInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeProvisioningArtifactInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningArtifactInput"} - if s.ProductId == nil { - invalidParams.Add(request.NewErrParamRequired("ProductId")) - } if s.ProductId != nil && len(*s.ProductId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProductId", 1)) } - if s.ProvisioningArtifactId == nil { - invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId")) - } if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1)) } @@ -12054,12 +12077,24 @@ func (s *DescribeProvisioningArtifactInput) SetProductId(v string) *DescribeProv return s } +// SetProductName sets the ProductName field's value. +func (s *DescribeProvisioningArtifactInput) SetProductName(v string) *DescribeProvisioningArtifactInput { + s.ProductName = &v + return s +} + // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value. func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DescribeProvisioningArtifactInput { s.ProvisioningArtifactId = &v return s } +// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value. +func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactName(v string) *DescribeProvisioningArtifactInput { + s.ProvisioningArtifactName = &v + return s +} + // SetVerbose sets the Verbose field's value. func (s *DescribeProvisioningArtifactInput) SetVerbose(v bool) *DescribeProvisioningArtifactInput { s.Verbose = &v @@ -13619,6 +13654,39 @@ func (s *InvalidStateException) RequestID() string { return s.RespMetadata.RequestID } +// A launch path object. +type LaunchPath struct { + _ struct{} `type:"structure"` + + // The identifier of the launch path. + Id *string `min:"1" type:"string"` + + // The name of the launch path. + Name *string `type:"string"` +} + +// String returns the string representation +func (s LaunchPath) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LaunchPath) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *LaunchPath) SetId(v string) *LaunchPath { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *LaunchPath) SetName(v string) *LaunchPath { + s.Name = &v + return s +} + // Summary information about a product path for a user. type LaunchPathSummary struct { _ struct{} `type:"structure"` @@ -20043,9 +20111,9 @@ type UpdateProvisionedProductPropertiesInput struct { // A map that contains the provisioned product properties to be updated. // - // The OWNER key only accepts user ARNs. The owner is the user that is allowed - // to see, update, terminate, and execute service actions in the provisioned - // product. + // The OWNER key accepts user ARNs and role ARNs. The owner is the user that + // is allowed to see, update, terminate, and execute service actions in the + // provisioned product. // // The administrator can change the owner of a provisioned product to another // IAM user within the same account. Both end user owners and administrators diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go index e02de1a4b05..91104f0ca7e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go @@ -452,10 +452,8 @@ func (c *SSM) CreateAssociationRequest(input *CreateAssociationInput) (req *requ // Associates the specified Systems Manager document with the specified instances // or targets. // -// When you associate a document with one or more instances using instance IDs -// or tags, SSM Agent running on the instance processes the document and configures -// the instance as specified. -// +// When you associate a document with one or more instances, SSM Agent running +// on the instance processes the document and configures the instance as specified. // If you associate a document with an instance that already has an associated // document, the system returns the AssociationAlreadyExists exception. // @@ -12610,6 +12608,12 @@ func (s *AssociationAlreadyExists) RequestID() string { type AssociationDescription struct { _ struct{} `type:"structure"` + // By default, when you create a new associations, the system runs it immediately + // after it is created and then according to the schedule you specified. Specify + // this option if you don't want an association to run immediately after you + // create it. + ApplyOnlyAtCronInterval *bool `type:"boolean"` + // The association ID. AssociationId *string `type:"string"` @@ -12716,6 +12720,12 @@ func (s AssociationDescription) GoString() string { return s.String() } +// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value. +func (s *AssociationDescription) SetApplyOnlyAtCronInterval(v bool) *AssociationDescription { + s.ApplyOnlyAtCronInterval = &v + return s +} + // SetAssociationId sets the AssociationId field's value. func (s *AssociationDescription) SetAssociationId(v string) *AssociationDescription { s.AssociationId = &v @@ -13503,6 +13513,12 @@ func (s *AssociationStatus) SetName(v string) *AssociationStatus { type AssociationVersionInfo struct { _ struct{} `type:"structure"` + // By default, when you create a new associations, the system runs it immediately + // after it is created and then according to the schedule you specified. Specify + // this option if you don't want an association to run immediately after you + // create it. + ApplyOnlyAtCronInterval *bool `type:"boolean"` + // The ID created by the system when the association was created. AssociationId *string `type:"string"` @@ -13592,6 +13608,12 @@ func (s AssociationVersionInfo) GoString() string { return s.String() } +// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value. +func (s *AssociationVersionInfo) SetApplyOnlyAtCronInterval(v bool) *AssociationVersionInfo { + s.ApplyOnlyAtCronInterval = &v + return s +} + // SetAssociationId sets the AssociationId field's value. func (s *AssociationVersionInfo) SetAssociationId(v string) *AssociationVersionInfo { s.AssociationId = &v @@ -16348,6 +16370,12 @@ func (s *CreateAssociationBatchOutput) SetSuccessful(v []*AssociationDescription type CreateAssociationBatchRequestEntry struct { _ struct{} `type:"structure"` + // By default, when you create a new associations, the system runs it immediately + // after it is created and then according to the schedule you specified. Specify + // this option if you don't want an association to run immediately after you + // create it. + ApplyOnlyAtCronInterval *bool `type:"boolean"` + // Specify a descriptive name for the association. AssociationName *string `type:"string"` @@ -16489,6 +16517,12 @@ func (s *CreateAssociationBatchRequestEntry) Validate() error { return nil } +// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value. +func (s *CreateAssociationBatchRequestEntry) SetApplyOnlyAtCronInterval(v bool) *CreateAssociationBatchRequestEntry { + s.ApplyOnlyAtCronInterval = &v + return s +} + // SetAssociationName sets the AssociationName field's value. func (s *CreateAssociationBatchRequestEntry) SetAssociationName(v string) *CreateAssociationBatchRequestEntry { s.AssociationName = &v @@ -16570,6 +16604,12 @@ func (s *CreateAssociationBatchRequestEntry) SetTargets(v []*Target) *CreateAsso type CreateAssociationInput struct { _ struct{} `type:"structure"` + // By default, when you create a new associations, the system runs it immediately + // after it is created and then according to the schedule you specified. Specify + // this option if you don't want an association to run immediately after you + // create it. + ApplyOnlyAtCronInterval *bool `type:"boolean"` + // Specify a descriptive name for the association. AssociationName *string `type:"string"` @@ -16723,6 +16763,12 @@ func (s *CreateAssociationInput) Validate() error { return nil } +// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value. +func (s *CreateAssociationInput) SetApplyOnlyAtCronInterval(v bool) *CreateAssociationInput { + s.ApplyOnlyAtCronInterval = &v + return s +} + // SetAssociationName sets the AssociationName field's value. func (s *CreateAssociationInput) SetAssociationName(v string) *CreateAssociationInput { s.AssociationName = &v @@ -16858,7 +16904,7 @@ type CreateDocumentInput struct { // You can't use the following strings as document name prefixes. These are // reserved by AWS for use as document name prefixes: // - // * aws + // * aws- // // * amazon // @@ -37706,9 +37752,9 @@ type PutParameterInput struct { // * aws:ec2:image // // When you create a String parameter and specify aws:ec2:image, Systems Manager - // validates the parameter value you provide against that data type. The required - // format is ami-12345abcdeEXAMPLE. For more information, see Native parameter - // support for Amazon Machine Image IDs (http://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-ec2-aliases.html) + // validates the parameter value is in the required format, such as ami-12345abcdeEXAMPLE, + // and that the specified AMI is available in your AWS account. For more information, + // see Native parameter support for Amazon Machine Image IDs (http://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-ec2-aliases.html) // in the AWS Systems Manager User Guide. DataType *string `type:"string"` @@ -42864,6 +42910,18 @@ func (s *UnsupportedPlatformType) RequestID() string { type UpdateAssociationInput struct { _ struct{} `type:"structure"` + // By default, when you update an association, the system runs it immediately + // after it is updated and then according to the schedule you specified. Specify + // this option if you don't want an association to run immediately after you + // update it. + // + // Also, if you specified this option when you created the association, you + // can reset it. To do so, specify the no-apply-only-at-cron-interval parameter + // when you update the association from the command line. This parameter forces + // the association to run immediately after updating it and according to the + // interval specified. + ApplyOnlyAtCronInterval *bool `type:"boolean"` + // The ID of the association you want to update. // // AssociationId is a required field @@ -43011,6 +43069,12 @@ func (s *UpdateAssociationInput) Validate() error { return nil } +// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value. +func (s *UpdateAssociationInput) SetApplyOnlyAtCronInterval(v bool) *UpdateAssociationInput { + s.ApplyOnlyAtCronInterval = &v + return s +} + // SetAssociationId sets the AssociationId field's value. func (s *UpdateAssociationInput) SetAssociationId(v string) *UpdateAssociationInput { s.AssociationId = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/synthetics/api.go b/vendor/github.com/aws/aws-sdk-go/service/synthetics/api.go index 8b2d759c486..f1daa6fad45 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/synthetics/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/synthetics/api.go @@ -63,7 +63,8 @@ func (c *Synthetics) CreateCanaryRequest(input *CreateCanaryInput) (req *request // data, screenshots of the UI, logs, and metrics. You can set up a canary to // run continuously or just once. // -// Do not use CreateCanary to modify an existing canary. Use UpdateCanary instead. +// Do not use CreateCanary to modify an existing canary. Use UpdateCanary (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_UpdateCanary.html) +// instead. // // To create canaries, you must have the CloudWatchSyntheticsFullAccess policy. // If you are creating a new IAM role for the canary, you also need the the @@ -1815,6 +1816,10 @@ func (s *CanaryRun) SetTimeline(v *CanaryRunTimeline) *CanaryRun { type CanaryRunConfigInput struct { _ struct{} `type:"structure"` + // The maximum amount of memory available to the canary while it is running, + // in MB. The value you specify must be a multiple of 64. + MemoryInMB *int64 `min:"960" type:"integer"` + // How long the canary is allowed to run before it must stop. If you omit this // field, the frequency of the canary is used as this value, up to a maximum // of 14 minutes. @@ -1836,6 +1841,9 @@ func (s CanaryRunConfigInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CanaryRunConfigInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CanaryRunConfigInput"} + if s.MemoryInMB != nil && *s.MemoryInMB < 960 { + invalidParams.Add(request.NewErrParamMinValue("MemoryInMB", 960)) + } if s.TimeoutInSeconds == nil { invalidParams.Add(request.NewErrParamRequired("TimeoutInSeconds")) } @@ -1849,6 +1857,12 @@ func (s *CanaryRunConfigInput) Validate() error { return nil } +// SetMemoryInMB sets the MemoryInMB field's value. +func (s *CanaryRunConfigInput) SetMemoryInMB(v int64) *CanaryRunConfigInput { + s.MemoryInMB = &v + return s +} + // SetTimeoutInSeconds sets the TimeoutInSeconds field's value. func (s *CanaryRunConfigInput) SetTimeoutInSeconds(v int64) *CanaryRunConfigInput { s.TimeoutInSeconds = &v @@ -1859,6 +1873,10 @@ func (s *CanaryRunConfigInput) SetTimeoutInSeconds(v int64) *CanaryRunConfigInpu type CanaryRunConfigOutput struct { _ struct{} `type:"structure"` + // The maximum amount of memory available to the canary while it is running, + // in MB. The value you must be a multiple of 64. + MemoryInMB *int64 `min:"960" type:"integer"` + // How long the canary is allowed to run before it must stop. TimeoutInSeconds *int64 `min:"60" type:"integer"` } @@ -1873,6 +1891,12 @@ func (s CanaryRunConfigOutput) GoString() string { return s.String() } +// SetMemoryInMB sets the MemoryInMB field's value. +func (s *CanaryRunConfigOutput) SetMemoryInMB(v int64) *CanaryRunConfigOutput { + s.MemoryInMB = &v + return s +} + // SetTimeoutInSeconds sets the TimeoutInSeconds field's value. func (s *CanaryRunConfigOutput) SetTimeoutInSeconds(v int64) *CanaryRunConfigOutput { s.TimeoutInSeconds = &v @@ -2466,7 +2490,7 @@ type DeleteCanaryInput struct { _ struct{} `type:"structure"` // The name of the canary that you want to delete. To find the names of your - // canaries, use DescribeCanaries. + // canaries, use DescribeCanaries (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html). // // Name is a required field Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` @@ -3169,7 +3193,8 @@ func (s *RuntimeVersion) SetVersionName(v string) *RuntimeVersion { type StartCanaryInput struct { _ struct{} `type:"structure"` - // The name of the canary that you want to run. To find canary names, use DescribeCanaries. + // The name of the canary that you want to run. To find canary names, use DescribeCanaries + // (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html). // // Name is a required field Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` @@ -3225,7 +3250,7 @@ type StopCanaryInput struct { _ struct{} `type:"structure"` // The name of the canary that you want to stop. To find the names of your canaries, - // use DescribeCanaries. + // use DescribeCanaries (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html). // // Name is a required field Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` @@ -3456,7 +3481,7 @@ type UpdateCanaryInput struct { FailureRetentionPeriodInDays *int64 `min:"1" type:"integer"` // The name of the canary that you want to update. To find the names of your - // canaries, use DescribeCanaries. + // canaries, use DescribeCanaries (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html). // // You cannot change the name of a canary that has already been created. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/worklink/api.go b/vendor/github.com/aws/aws-sdk-go/service/worklink/api.go index 517b093fece..50f9d5ff3a8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/worklink/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/worklink/api.go @@ -1717,6 +1717,9 @@ func (c *WorkLink) ListDomainsRequest(input *ListDomainsInput) (req *request.Req // * InvalidRequestException // The request is not valid. // +// * ResourceNotFoundException +// The requested resource was not found. +// // * TooManyRequestsException // The number of requests exceeds the limit. // @@ -1940,6 +1943,85 @@ func (c *WorkLink) ListFleetsPagesWithContext(ctx aws.Context, input *ListFleets return p.Err() } +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource 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 ListTagsForResource for more information on using the ListTagsForResource +// 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 ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListTagsForResource +func (c *WorkLink) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon WorkLink. +// +// Retrieves a list of tags for the specified resource. +// +// 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 WorkLink's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListTagsForResource +func (c *WorkLink) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource 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 *WorkLink) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListWebsiteAuthorizationProviders = "ListWebsiteAuthorizationProviders" // ListWebsiteAuthorizationProvidersRequest generates a "aws/request.Request" representing the @@ -2514,6 +2596,168 @@ func (c *WorkLink) SignOutUserWithContext(ctx aws.Context, input *SignOutUserInp return out, req.Send() } +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource 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 TagResource for more information on using the TagResource +// 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 TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/TagResource +func (c *WorkLink) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon WorkLink. +// +// Adds or overwrites one or more tags for the specified resource, such as a +// fleet. Each tag consists of a key and an optional value. If a resource already +// has a tag with the same key, this operation updates its value. +// +// 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 WorkLink's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/TagResource +func (c *WorkLink) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource 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 *WorkLink) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource 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 UntagResource for more information on using the UntagResource +// 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 UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UntagResource +func (c *WorkLink) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon WorkLink. +// +// Removes one or more tags from the specified resource. +// +// 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 WorkLink's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UntagResource +func (c *WorkLink) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource 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 *WorkLink) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateAuditStreamConfiguration = "UpdateAuditStreamConfiguration" // UpdateAuditStreamConfigurationRequest generates a "aws/request.Request" representing the @@ -3356,6 +3600,9 @@ type CreateFleetInput struct { // The option to optimize for better performance by routing traffic through // the closest AWS Region to users, which may be outside of your home Region. OptimizeForEndUserLocation *bool `type:"boolean"` + + // The tags to add to the resource. A tag is a key-value pair. + Tags map[string]*string `min:"1" type:"map"` } // String returns the string representation @@ -3377,6 +3624,9 @@ func (s *CreateFleetInput) Validate() error { if s.FleetName != nil && len(*s.FleetName) < 1 { invalidParams.Add(request.NewErrParamMinLen("FleetName", 1)) } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3402,10 +3652,16 @@ func (s *CreateFleetInput) SetOptimizeForEndUserLocation(v bool) *CreateFleetInp return s } +// SetTags sets the Tags field's value. +func (s *CreateFleetInput) SetTags(v map[string]*string) *CreateFleetInput { + s.Tags = v + return s +} + type CreateFleetOutput struct { _ struct{} `type:"structure"` - // The ARN of the fleet. + // The Amazon Resource Name (ARN) of the fleet. FleetArn *string `min:"20" type:"string"` } @@ -3964,7 +4220,7 @@ func (s *DescribeDomainOutput) SetDomainStatus(v string) *DescribeDomainOutput { type DescribeFleetMetadataInput struct { _ struct{} `type:"structure"` - // The ARN of the fleet. + // The Amazon Resource Name (ARN) of the fleet. // // FleetArn is a required field FleetArn *string `min:"20" type:"string" required:"true"` @@ -4026,6 +4282,9 @@ type DescribeFleetMetadataOutput struct { // The option to optimize for better performance by routing traffic through // the closest AWS Region to users, which may be outside of your home Region. OptimizeForEndUserLocation *bool `type:"boolean"` + + // The tags attached to the resource. A tag is a key-value pair. + Tags map[string]*string `min:"1" type:"map"` } // String returns the string representation @@ -4080,6 +4339,12 @@ func (s *DescribeFleetMetadataOutput) SetOptimizeForEndUserLocation(v bool) *Des return s } +// SetTags sets the Tags field's value. +func (s *DescribeFleetMetadataOutput) SetTags(v map[string]*string) *DescribeFleetMetadataOutput { + s.Tags = v + return s +} + type DescribeIdentityProviderConfigurationInput struct { _ struct{} `type:"structure"` @@ -4577,10 +4842,10 @@ type FleetSummary struct { // The time when the fleet was created. CreatedTime *time.Time `type:"timestamp"` - // The name to display. + // The name of the fleet to display. DisplayName *string `type:"string"` - // The ARN of the fleet. + // The Amazon Resource Name (ARN) of the fleet. FleetArn *string `min:"20" type:"string"` // The name of the fleet. @@ -4591,6 +4856,9 @@ type FleetSummary struct { // The time when the fleet was last updated. LastUpdatedTime *time.Time `type:"timestamp"` + + // The tags attached to the resource. A tag is a key-value pair. + Tags map[string]*string `min:"1" type:"map"` } // String returns the string representation @@ -4645,6 +4913,12 @@ func (s *FleetSummary) SetLastUpdatedTime(v time.Time) *FleetSummary { return s } +// SetTags sets the Tags field's value. +func (s *FleetSummary) SetTags(v map[string]*string) *FleetSummary { + s.Tags = v + return s +} + // The service is temporarily unavailable. type InternalServerErrorException struct { _ struct{} `type:"structure"` @@ -5037,6 +5311,70 @@ func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput { return s } +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the fleet. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags attached to the resource. A tag is a key-value pair. + Tags map[string]*string `min:"1" type:"map"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + type ListWebsiteAuthorizationProvidersInput struct { _ struct{} `type:"structure"` @@ -5563,6 +5901,78 @@ func (s SignOutUserOutput) GoString() string { return s.String() } +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the fleet. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` + + // The tags to add to the resource. A tag is a key-value pair. + // + // Tags is a required field + Tags map[string]*string `min:"1" type:"map" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + // The number of requests exceeds the limit. type TooManyRequestsException struct { _ struct{} `type:"structure"` @@ -5675,6 +6085,78 @@ func (s *UnauthorizedException) RequestID() string { return s.RespMetadata.RequestID } +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the fleet. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` + + // The list of tag keys to remove from the resource. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + if s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + type UpdateAuditStreamConfigurationInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/worklink/doc.go b/vendor/github.com/aws/aws-sdk-go/service/worklink/doc.go index 691b270395a..dcde2c87d96 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/worklink/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/worklink/doc.go @@ -4,10 +4,10 @@ // requests to Amazon WorkLink. // // Amazon WorkLink is a cloud-based service that provides secure access to internal -// websites and web apps from iOS phones. In a single step, your users, such -// as employees, can access internal websites as efficiently as they access -// any other public website. They enter a URL in their web browser, or choose -// a link to an internal website in an email. Amazon WorkLink authenticates +// websites and web apps from iOS and Android phones. In a single step, your +// users, such as employees, can access internal websites as efficiently as +// they access any other public website. They enter a URL in their web browser, +// or choose a link to an internal website in an email. Amazon WorkLink authenticates // the user's access and securely renders authorized internal web content in // a secure rendering service in the AWS cloud. Amazon WorkLink doesn't download // or store any internal web content on mobile devices. diff --git a/vendor/github.com/aws/aws-sdk-go/service/workmail/api.go b/vendor/github.com/aws/aws-sdk-go/service/workmail/api.go index 709ad5ea41c..959b4386d58 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/workmail/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/workmail/api.go @@ -1104,6 +1104,94 @@ func (c *WorkMail) DeleteResourceWithContext(ctx aws.Context, input *DeleteResou return out, req.Send() } +const opDeleteRetentionPolicy = "DeleteRetentionPolicy" + +// DeleteRetentionPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRetentionPolicy 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 DeleteRetentionPolicy for more information on using the DeleteRetentionPolicy +// 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 DeleteRetentionPolicyRequest method. +// req, resp := client.DeleteRetentionPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteRetentionPolicy +func (c *WorkMail) DeleteRetentionPolicyRequest(input *DeleteRetentionPolicyInput) (req *request.Request, output *DeleteRetentionPolicyOutput) { + op := &request.Operation{ + Name: opDeleteRetentionPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteRetentionPolicyInput{} + } + + output = &DeleteRetentionPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteRetentionPolicy API operation for Amazon WorkMail. +// +// Deletes the specified retention policy from the specified organization. +// +// 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 WorkMail's +// API operation DeleteRetentionPolicy for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// * OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// * OrganizationStateException +// The organization must have a valid state (Active or Synchronizing) to perform +// certain operations on the organization or its members. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteRetentionPolicy +func (c *WorkMail) DeleteRetentionPolicy(input *DeleteRetentionPolicyInput) (*DeleteRetentionPolicyOutput, error) { + req, out := c.DeleteRetentionPolicyRequest(input) + return out, req.Send() +} + +// DeleteRetentionPolicyWithContext is the same as DeleteRetentionPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteRetentionPolicy 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 *WorkMail) DeleteRetentionPolicyWithContext(ctx aws.Context, input *DeleteRetentionPolicyInput, opts ...request.Option) (*DeleteRetentionPolicyOutput, error) { + req, out := c.DeleteRetentionPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteUser = "DeleteUser" // DeleteUserRequest generates a "aws/request.Request" representing the @@ -1958,6 +2046,97 @@ func (c *WorkMail) GetAccessControlEffectWithContext(ctx aws.Context, input *Get return out, req.Send() } +const opGetDefaultRetentionPolicy = "GetDefaultRetentionPolicy" + +// GetDefaultRetentionPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetDefaultRetentionPolicy 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 GetDefaultRetentionPolicy for more information on using the GetDefaultRetentionPolicy +// 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 GetDefaultRetentionPolicyRequest method. +// req, resp := client.GetDefaultRetentionPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetDefaultRetentionPolicy +func (c *WorkMail) GetDefaultRetentionPolicyRequest(input *GetDefaultRetentionPolicyInput) (req *request.Request, output *GetDefaultRetentionPolicyOutput) { + op := &request.Operation{ + Name: opGetDefaultRetentionPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDefaultRetentionPolicyInput{} + } + + output = &GetDefaultRetentionPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDefaultRetentionPolicy API operation for Amazon WorkMail. +// +// Gets the default retention policy details for the specified organization. +// +// 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 WorkMail's +// API operation GetDefaultRetentionPolicy for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// * OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// * OrganizationStateException +// The organization must have a valid state (Active or Synchronizing) to perform +// certain operations on the organization or its members. +// +// * EntityNotFoundException +// The identifier supplied for the user, group, or resource does not exist in +// your organization. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetDefaultRetentionPolicy +func (c *WorkMail) GetDefaultRetentionPolicy(input *GetDefaultRetentionPolicyInput) (*GetDefaultRetentionPolicyOutput, error) { + req, out := c.GetDefaultRetentionPolicyRequest(input) + return out, req.Send() +} + +// GetDefaultRetentionPolicyWithContext is the same as GetDefaultRetentionPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetDefaultRetentionPolicy 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 *WorkMail) GetDefaultRetentionPolicyWithContext(ctx aws.Context, input *GetDefaultRetentionPolicyInput, opts ...request.Option) (*GetDefaultRetentionPolicyOutput, error) { + req, out := c.GetDefaultRetentionPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetMailboxDetails = "GetMailboxDetails" // GetMailboxDetailsRequest generates a "aws/request.Request" representing the @@ -3591,6 +3770,97 @@ func (c *WorkMail) PutMailboxPermissionsWithContext(ctx aws.Context, input *PutM return out, req.Send() } +const opPutRetentionPolicy = "PutRetentionPolicy" + +// PutRetentionPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutRetentionPolicy 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 PutRetentionPolicy for more information on using the PutRetentionPolicy +// 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 PutRetentionPolicyRequest method. +// req, resp := client.PutRetentionPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutRetentionPolicy +func (c *WorkMail) PutRetentionPolicyRequest(input *PutRetentionPolicyInput) (req *request.Request, output *PutRetentionPolicyOutput) { + op := &request.Operation{ + Name: opPutRetentionPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutRetentionPolicyInput{} + } + + output = &PutRetentionPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutRetentionPolicy API operation for Amazon WorkMail. +// +// Puts a retention policy to the specified organization. +// +// 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 WorkMail's +// API operation PutRetentionPolicy for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// * OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// * OrganizationStateException +// The organization must have a valid state (Active or Synchronizing) to perform +// certain operations on the organization or its members. +// +// * LimitExceededException +// The request exceeds the limit of the resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutRetentionPolicy +func (c *WorkMail) PutRetentionPolicy(input *PutRetentionPolicyInput) (*PutRetentionPolicyOutput, error) { + req, out := c.PutRetentionPolicyRequest(input) + return out, req.Send() +} + +// PutRetentionPolicyWithContext is the same as PutRetentionPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutRetentionPolicy 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 *WorkMail) PutRetentionPolicyWithContext(ctx aws.Context, input *PutRetentionPolicyInput, opts ...request.Option) (*PutRetentionPolicyOutput, error) { + req, out := c.PutRetentionPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRegisterToWorkMail = "RegisterToWorkMail" // RegisterToWorkMailRequest generates a "aws/request.Request" representing the @@ -5444,6 +5714,75 @@ func (s DeleteResourceOutput) GoString() string { return s.String() } +type DeleteRetentionPolicyInput struct { + _ struct{} `type:"structure"` + + // The retention policy ID. + // + // Id is a required field + Id *string `min:"1" type:"string" required:"true"` + + // The organization ID. + // + // OrganizationId is a required field + OrganizationId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteRetentionPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRetentionPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRetentionPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRetentionPolicyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteRetentionPolicyInput) SetId(v string) *DeleteRetentionPolicyInput { + s.Id = &v + return s +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *DeleteRetentionPolicyInput) SetOrganizationId(v string) *DeleteRetentionPolicyInput { + s.OrganizationId = &v + return s +} + +type DeleteRetentionPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteRetentionPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRetentionPolicyOutput) GoString() string { + return s.String() +} + type DeleteUserInput struct { _ struct{} `type:"structure"` @@ -6644,6 +6983,72 @@ func (s *EntityStateException) RequestID() string { return s.RespMetadata.RequestID } +// The configuration applied to an organization's folders by its retention policy. +type FolderConfiguration struct { + _ struct{} `type:"structure"` + + // The action to take on the folder contents at the end of the folder configuration + // period. + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"RetentionAction"` + + // The folder name. + // + // Name is a required field + Name *string `type:"string" required:"true" enum:"FolderName"` + + // The period of time at which the folder configuration action is applied. + Period *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s FolderConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FolderConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FolderConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FolderConfiguration"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Period != nil && *s.Period < 1 { + invalidParams.Add(request.NewErrParamMinValue("Period", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAction sets the Action field's value. +func (s *FolderConfiguration) SetAction(v string) *FolderConfiguration { + s.Action = &v + return s +} + +// SetName sets the Name field's value. +func (s *FolderConfiguration) SetName(v string) *FolderConfiguration { + s.Name = &v + return s +} + +// SetPeriod sets the Period field's value. +func (s *FolderConfiguration) SetPeriod(v int64) *FolderConfiguration { + s.Period = &v + return s +} + type GetAccessControlEffectInput struct { _ struct{} `type:"structure"` @@ -6766,6 +7171,94 @@ func (s *GetAccessControlEffectOutput) SetMatchedRules(v []*string) *GetAccessCo return s } +type GetDefaultRetentionPolicyInput struct { + _ struct{} `type:"structure"` + + // The organization ID. + // + // OrganizationId is a required field + OrganizationId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDefaultRetentionPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDefaultRetentionPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDefaultRetentionPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDefaultRetentionPolicyInput"} + if s.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *GetDefaultRetentionPolicyInput) SetOrganizationId(v string) *GetDefaultRetentionPolicyInput { + s.OrganizationId = &v + return s +} + +type GetDefaultRetentionPolicyOutput struct { + _ struct{} `type:"structure"` + + // The retention policy description. + Description *string `type:"string"` + + // The retention policy folder configurations. + FolderConfigurations []*FolderConfiguration `type:"list"` + + // The retention policy ID. + Id *string `min:"1" type:"string"` + + // The retention policy name. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetDefaultRetentionPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDefaultRetentionPolicyOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *GetDefaultRetentionPolicyOutput) SetDescription(v string) *GetDefaultRetentionPolicyOutput { + s.Description = &v + return s +} + +// SetFolderConfigurations sets the FolderConfigurations field's value. +func (s *GetDefaultRetentionPolicyOutput) SetFolderConfigurations(v []*FolderConfiguration) *GetDefaultRetentionPolicyOutput { + s.FolderConfigurations = v + return s +} + +// SetId sets the Id field's value. +func (s *GetDefaultRetentionPolicyOutput) SetId(v string) *GetDefaultRetentionPolicyOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetDefaultRetentionPolicyOutput) SetName(v string) *GetDefaultRetentionPolicyOutput { + s.Name = &v + return s +} + type GetMailboxDetailsInput struct { _ struct{} `type:"structure"` @@ -8822,6 +9315,120 @@ func (s PutMailboxPermissionsOutput) GoString() string { return s.String() } +type PutRetentionPolicyInput struct { + _ struct{} `type:"structure"` + + // The retention policy description. + Description *string `type:"string"` + + // The retention policy folder configurations. + // + // FolderConfigurations is a required field + FolderConfigurations []*FolderConfiguration `type:"list" required:"true"` + + // The retention policy ID. + Id *string `min:"1" type:"string"` + + // The retention policy name. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The organization ID. + // + // OrganizationId is a required field + OrganizationId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s PutRetentionPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutRetentionPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutRetentionPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutRetentionPolicyInput"} + if s.FolderConfigurations == nil { + invalidParams.Add(request.NewErrParamRequired("FolderConfigurations")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + 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.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + if s.FolderConfigurations != nil { + for i, v := range s.FolderConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FolderConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *PutRetentionPolicyInput) SetDescription(v string) *PutRetentionPolicyInput { + s.Description = &v + return s +} + +// SetFolderConfigurations sets the FolderConfigurations field's value. +func (s *PutRetentionPolicyInput) SetFolderConfigurations(v []*FolderConfiguration) *PutRetentionPolicyInput { + s.FolderConfigurations = v + return s +} + +// SetId sets the Id field's value. +func (s *PutRetentionPolicyInput) SetId(v string) *PutRetentionPolicyInput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *PutRetentionPolicyInput) SetName(v string) *PutRetentionPolicyInput { + s.Name = &v + return s +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *PutRetentionPolicyInput) SetOrganizationId(v string) *PutRetentionPolicyInput { + s.OrganizationId = &v + return s +} + +type PutRetentionPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutRetentionPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutRetentionPolicyOutput) GoString() string { + return s.String() +} + type RegisterToWorkMailInput struct { _ struct{} `type:"structure"` @@ -9866,6 +10473,23 @@ const ( EntityStateDeleted = "DELETED" ) +const ( + // FolderNameInbox is a FolderName enum value + FolderNameInbox = "INBOX" + + // FolderNameDeletedItems is a FolderName enum value + FolderNameDeletedItems = "DELETED_ITEMS" + + // FolderNameSentItems is a FolderName enum value + FolderNameSentItems = "SENT_ITEMS" + + // FolderNameDrafts is a FolderName enum value + FolderNameDrafts = "DRAFTS" + + // FolderNameJunkEmail is a FolderName enum value + FolderNameJunkEmail = "JUNK_EMAIL" +) + const ( // MemberTypeGroup is a MemberType enum value MemberTypeGroup = "GROUP" @@ -9893,6 +10517,17 @@ const ( ResourceTypeEquipment = "EQUIPMENT" ) +const ( + // RetentionActionNone is a RetentionAction enum value + RetentionActionNone = "NONE" + + // RetentionActionDelete is a RetentionAction enum value + RetentionActionDelete = "DELETE" + + // RetentionActionPermanentlyDelete is a RetentionAction enum value + RetentionActionPermanentlyDelete = "PERMANENTLY_DELETE" +) + const ( // UserRoleUser is a UserRole enum value UserRoleUser = "USER" diff --git a/vendor/modules.txt b/vendor/modules.txt index 62dc29b95fe..603b8dfa4f6 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -25,7 +25,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.31.2 +# github.com/aws/aws-sdk-go v1.31.12 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn github.com/aws/aws-sdk-go/aws/awserr @@ -56,6 +56,7 @@ github.com/aws/aws-sdk-go/internal/sdkuri github.com/aws/aws-sdk-go/internal/shareddefaults github.com/aws/aws-sdk-go/internal/strings github.com/aws/aws-sdk-go/internal/sync/singleflight +github.com/aws/aws-sdk-go/private/checksum github.com/aws/aws-sdk-go/private/protocol github.com/aws/aws-sdk-go/private/protocol/ec2query github.com/aws/aws-sdk-go/private/protocol/eventstream