From 007ad0dc5f01143b95b3532e2fd01949e31ed77d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2019 20:28:00 -0500 Subject: [PATCH] Update module aws/aws-sdk-go to v1.25.42 (#10955) --- go.mod | 2 +- go.sum | 4 +- .../aws/credentials/processcreds/provider.go | 3 +- .../aws/aws-sdk-go/aws/ec2metadata/api.go | 16 +- .../aws/aws-sdk-go/aws/ec2metadata/service.go | 1 + .../aws/aws-sdk-go/aws/endpoints/defaults.go | 47 +- .../github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../aws/aws-sdk-go/service/acm/api.go | 116 +- .../aws/aws-sdk-go/service/acm/errors.go | 12 + .../aws/aws-sdk-go/service/amplify/api.go | 899 +- .../service/applicationautoscaling/api.go | 200 +- .../service/applicationautoscaling/doc.go | 2 + .../service/applicationinsights/api.go | 2320 +- .../service/applicationinsights/errors.go | 13 + .../aws/aws-sdk-go/service/appsync/api.go | 1511 +- .../aws/aws-sdk-go/service/athena/api.go | 65 +- .../service/autoscalingplans/service.go | 2 +- .../aws/aws-sdk-go/service/cloudtrail/api.go | 579 +- .../aws-sdk-go/service/cloudtrail/errors.go | 22 + .../aws/aws-sdk-go/service/cloudwatch/api.go | 1883 +- .../aws/aws-sdk-go/service/codebuild/api.go | 2863 +- .../aws/aws-sdk-go/service/codebuild/doc.go | 24 + .../aws/aws-sdk-go/service/codecommit/api.go | 11818 ++++++--- .../aws/aws-sdk-go/service/codecommit/doc.go | 90 +- .../aws-sdk-go/service/codecommit/errors.go | 299 +- .../service/cognitoidentityprovider/api.go | 3 + .../aws-sdk-go/service/configservice/api.go | 529 +- .../service/configservice/errors.go | 19 +- .../aws/aws-sdk-go/service/datasync/api.go | 113 +- .../aws/aws-sdk-go/service/dlm/api.go | 141 +- .../aws/aws-sdk-go/service/dynamodb/api.go | 1364 +- .../aws/aws-sdk-go/service/ec2/api.go | 3260 ++- .../aws/aws-sdk-go/service/ec2/waiters.go | 51 + .../aws/aws-sdk-go/service/ecs/api.go | 162 +- .../aws/aws-sdk-go/service/elbv2/api.go | 58 +- .../aws/aws-sdk-go/service/emr/api.go | 234 +- .../aws/aws-sdk-go/service/firehose/api.go | 375 +- .../aws/aws-sdk-go/service/firehose/errors.go | 9 + .../aws-sdk-go/service/forecastservice/api.go | 949 +- .../service/forecastservice/errors.go | 5 +- .../aws/aws-sdk-go/service/fsx/api.go | 148 +- .../aws/aws-sdk-go/service/glue/api.go | 159 +- .../aws/aws-sdk-go/service/greengrass/api.go | 135 +- .../aws/aws-sdk-go/service/iot/api.go | 3848 ++- .../service/kinesisanalyticsv2/api.go | 869 +- .../aws/aws-sdk-go/service/kms/api.go | 3638 ++- .../aws/aws-sdk-go/service/kms/errors.go | 46 +- .../aws/aws-sdk-go/service/lambda/api.go | 2180 +- .../aws/aws-sdk-go/service/lambda/errors.go | 24 +- .../aws/aws-sdk-go/service/lambda/waiters.go | 112 + .../service/lexmodelbuildingservice/api.go | 156 +- .../aws-sdk-go/service/mediaconvert/api.go | 48 + .../aws/aws-sdk-go/service/medialive/api.go | 16630 +++++++----- .../aws-sdk-go/service/medialive/waiters.go | 229 + .../aws/aws-sdk-go/service/mediastore/api.go | 13 +- .../aws/aws-sdk-go/service/quicksight/api.go | 21900 ++++++++++++++-- .../aws-sdk-go/service/quicksight/errors.go | 15 +- .../aws/aws-sdk-go/service/ram/api.go | 1544 +- .../aws/aws-sdk-go/service/rds/api.go | 25 +- .../aws/aws-sdk-go/service/redshift/api.go | 1508 +- .../aws/aws-sdk-go/service/redshift/errors.go | 30 + .../aws/aws-sdk-go/service/s3/api.go | 202 + .../aws/aws-sdk-go/service/sns/api.go | 143 +- .../aws/aws-sdk-go/service/ssm/api.go | 434 +- .../aws/aws-sdk-go/service/ssm/errors.go | 7 + .../aws-sdk-go/service/storagegateway/api.go | 497 +- .../aws/aws-sdk-go/service/sts/api.go | 613 +- .../aws/aws-sdk-go/service/sts/errors.go | 29 +- vendor/modules.txt | 2 +- 69 files changed, 70879 insertions(+), 14370 deletions(-) diff --git a/go.mod b/go.mod index 1e31499350e4..4d1a02b8083e 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.25.38 + github.com/aws/aws-sdk-go v1.25.42 github.com/beevik/etree v1.1.0 github.com/bflad/tfproviderlint v0.5.1 github.com/client9/misspell v0.3.4 diff --git a/go.sum b/go.sum index 2df088995745..163dc01fd698 100644 --- a/go.sum +++ b/go.sum @@ -35,8 +35,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.25.38 h1:QfclT79PFWCyaPDq9+zTEWsOMDWFswTpP9i07YxqPf0= -github.com/aws/aws-sdk-go v1.25.38/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.25.42 h1:TTsk8HoF5sIq/i5jTjHmY2t3g+b6EiAyiolw7p50UBY= +github.com/aws/aws-sdk-go v1.25.42/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= 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/credentials/processcreds/provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go index 1980c8c140a9..e62483600299 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go @@ -90,6 +90,7 @@ import ( "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/internal/sdkio" ) const ( @@ -142,7 +143,7 @@ const ( // DefaultBufSize limits buffer size from growing to an enormous // amount due to a faulty process. - DefaultBufSize = 1024 + DefaultBufSize = int(8 * sdkio.KibiByte) // DefaultTimeout default limit on time a process can run. DefaultTimeout = time.Duration(1) * time.Minute diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go index fe25edf88819..12897eef6265 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go @@ -31,7 +31,7 @@ func (c *EC2Metadata) getToken(duration time.Duration) (tokenOutput, error) { // Swap the unmarshalMetadataHandler with unmarshalTokenHandler on this request. req.Handlers.Unmarshal.Swap(unmarshalMetadataHandlerName, unmarshalTokenHandler) - ttl := strconv.FormatInt(int64(duration / time.Second),10) + ttl := strconv.FormatInt(int64(duration/time.Second), 10) req.HTTPRequest.Header.Set(ttlHeader, ttl) err := req.Send() @@ -145,17 +145,17 @@ func (c *EC2Metadata) IAMInfo() (EC2IAMInfo, error) { // Region returns the region the instance is running in. func (c *EC2Metadata) Region() (string, error) { - resp, err := c.GetMetadata("placement/availability-zone") + ec2InstanceIdentityDocument, err := c.GetInstanceIdentityDocument() if err != nil { return "", err } - - if len(resp) == 0 { - return "", awserr.New("EC2MetadataError", "invalid Region response", nil) + // extract region from the ec2InstanceIdentityDocument + region := ec2InstanceIdentityDocument.Region + if len(region) == 0 { + return "", awserr.New("EC2MetadataError", "invalid region received for ec2metadata instance", nil) } - - // returns region without the suffix. Eg: us-west-2a becomes us-west-2 - return resp[:len(resp)-1], nil + // returns region + return region, nil } // Available returns if the application has access to the EC2 Metadata service. diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go index 2a204ab5ccdd..8eccac05aa20 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go @@ -158,6 +158,7 @@ type tokenOutput struct { var unmarshalTokenHandler = request.NamedHandler{ Name: unmarshalTokenHandlerName, Fn: func(r *request.Request) { + defer r.HTTPResponse.Body.Close() var b bytes.Buffer if _, err := io.Copy(&b, r.HTTPResponse.Body); err != nil { r.Error = awserr.NewRequestFailure(awserr.New(request.ErrCodeSerialization, 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 48d4f12e48f0..a66735d9fc0d 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 @@ -425,11 +425,7 @@ var awsPartition = partition{ }, "application-autoscaling": service{ Defaults: endpoint{ - Hostname: "autoscaling.{region}.amazonaws.com", Protocols: []string{"http", "https"}, - CredentialScope: credentialScope{ - Service: "application-autoscaling", - }, }, Endpoints: endpoints{ "ap-east-1": endpoint{}, @@ -560,11 +556,7 @@ var awsPartition = partition{ }, "autoscaling-plans": service{ Defaults: endpoint{ - Hostname: "autoscaling.{region}.amazonaws.com", Protocols: []string{"http", "https"}, - CredentialScope: credentialScope{ - Service: "autoscaling-plans", - }, }, Endpoints: endpoints{ "ap-northeast-1": endpoint{}, @@ -1133,12 +1125,15 @@ var awsPartition = partition{ "datasync": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "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{}, @@ -1167,6 +1162,7 @@ var awsPartition = partition{ }, }, "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -1223,7 +1219,8 @@ var awsPartition = partition{ "discovery": service{ Endpoints: endpoints{ - "us-west-2": endpoint{}, + "eu-central-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "dms": service{ @@ -1523,6 +1520,7 @@ var awsPartition = partition{ "elasticfilesystem": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -1530,9 +1528,12 @@ 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{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -2192,12 +2193,17 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -2421,7 +2427,8 @@ var awsPartition = partition{ "mgh": service{ Endpoints: endpoints{ - "us-west-2": endpoint{}, + "eu-central-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "mobileanalytics": service{ @@ -2850,6 +2857,7 @@ var awsPartition = partition{ "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{}, @@ -3920,6 +3928,7 @@ var awsPartition = partition{ }, Endpoints: endpoints{ "ap-east-1": endpoint{}, + "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, @@ -4156,11 +4165,7 @@ var awscnPartition = partition{ }, "application-autoscaling": service{ Defaults: endpoint{ - Hostname: "autoscaling.{region}.amazonaws.com.cn", Protocols: []string{"http", "https"}, - CredentialScope: credentialScope{ - Service: "application-autoscaling", - }, }, Endpoints: endpoints{ "cn-north-1": endpoint{}, @@ -4717,7 +4722,8 @@ var awsusgovPartition = partition{ }, "application-autoscaling": service{ Defaults: endpoint{ - Hostname: "autoscaling.{region}.amazonaws.com", + Hostname: "autoscaling.{region}.amazonaws.com", + Protocols: []string{"http", "https"}, CredentialScope: credentialScope{ Service: "application-autoscaling", }, @@ -4854,6 +4860,7 @@ var awsusgovPartition = partition{ Region: "us-gov-west-1", }, }, + "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, }, @@ -5522,11 +5529,8 @@ var awsisoPartition = partition{ }, "application-autoscaling": service{ Defaults: endpoint{ - Hostname: "autoscaling.{region}.amazonaws.com", + Hostname: "autoscaling.us-iso-east-1.c2s.ic.gov", Protocols: []string{"http", "https"}, - CredentialScope: credentialScope{ - Service: "application-autoscaling", - }, }, Endpoints: endpoints{ "us-iso-east-1": endpoint{}, @@ -5854,11 +5858,8 @@ var awsisobPartition = partition{ Services: services{ "application-autoscaling": service{ Defaults: endpoint{ - Hostname: "autoscaling.{region}.amazonaws.com", + Hostname: "autoscaling.us-isob-east-1.sc2s.sgov.gov", Protocols: []string{"http", "https"}, - CredentialScope: credentialScope{ - Service: "application-autoscaling", - }, }, Endpoints: endpoints{ "us-isob-east-1": endpoint{}, 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 c220bd200b9d..9703e20a697b 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.25.38" +const SDKVersion = "1.25.42" diff --git a/vendor/github.com/aws/aws-sdk-go/service/acm/api.go b/vendor/github.com/aws/aws-sdk-go/service/acm/api.go index 301fda23bf08..84d0fdcd5110 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/acm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/acm/api.go @@ -98,6 +98,12 @@ func (c *ACM) AddTagsToCertificateRequest(input *AddTagsToCertificateInput) (req // * ErrCodeTooManyTagsException "TooManyTagsException" // The request contains too many tags. Try the request again with fewer tags. // +// * ErrCodeTagPolicyException "TagPolicyException" +// A specified tag did not comply with an existing tag policy and was rejected. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// An input parameter was invalid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/AddTagsToCertificate func (c *ACM) AddTagsToCertificate(input *AddTagsToCertificateInput) (*AddTagsToCertificateOutput, error) { req, out := c.AddTagsToCertificateRequest(input) @@ -344,14 +350,13 @@ func (c *ACM) ExportCertificateRequest(input *ExportCertificateInput) (req *requ // ExportCertificate API operation for AWS Certificate Manager. // // Exports a private certificate issued by a private certificate authority (CA) -// for use anywhere. You can export the certificate, the certificate chain, -// and the encrypted private key associated with the public key embedded in -// the certificate. You must store the private key securely. The private key -// is a 2048 bit RSA key. You must provide a passphrase for the private key -// when exporting it. You can use the following OpenSSL command to decrypt it -// later. Provide the passphrase when prompted. +// for use anywhere. The exported file contains the certificate, the certificate +// chain, and the encrypted private 2048-bit RSA key associated with the public +// key that is embedded in the certificate. For security, you must assign a +// passphrase for the private key when exporting it. // -// openssl rsa -in encrypted_key.pem -out decrypted_key.pem +// For information about exporting and formatting a certificate using the ACM +// console or CLI, see Export a Private Certificate (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-export-private.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 @@ -566,7 +571,7 @@ func (c *ACM) ImportCertificateRequest(input *ImportCertificateInput) (req *requ // * The OCSP authority URL, if present, must not exceed 1000 characters. // // * To import a new certificate, omit the CertificateArn argument. Include -// this argument only when you want to replace a previously imported certificate. +// this argument only when you want to replace a previously imported certifica // // * When you import a certificate by using the CLI, you must specify the // certificate, the certificate chain, and the private key by their file @@ -579,6 +584,10 @@ func (c *ACM) ImportCertificateRequest(input *ImportCertificateInput) (req *requ // certificate, the certificate chain, and the private key files in the manner // required by the programming language you're using. // +// * The cryptographic algorithm of an imported certificate must match the +// algorithm of the signing CA. For example, if the signing CA key type is +// RSA, then the certificate key type must also be RSA. +// // This operation returns the Amazon Resource Name (ARN) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the imported certificate. // @@ -597,6 +606,19 @@ func (c *ACM) ImportCertificateRequest(input *ImportCertificateInput) (req *requ // * ErrCodeLimitExceededException "LimitExceededException" // An ACM limit has been exceeded. // +// * ErrCodeInvalidTagException "InvalidTagException" +// One or both of the values that make up the key-value pair is not valid. For +// example, you cannot specify a tag value that begins with aws:. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// The request contains too many tags. Try the request again with fewer tags. +// +// * ErrCodeTagPolicyException "TagPolicyException" +// A specified tag did not comply with an existing tag policy and was rejected. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// An input parameter was invalid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/ImportCertificate func (c *ACM) ImportCertificate(input *ImportCertificateInput) (*ImportCertificateOutput, error) { req, out := c.ImportCertificateRequest(input) @@ -671,7 +693,8 @@ func (c *ACM) ListCertificatesRequest(input *ListCertificatesInput) (req *reques // // Retrieves a list of certificate ARNs and domain names. You can request that // only certificates that match a specific status be listed. You can also filter -// by specific attributes of the certificate. +// by specific attributes of the certificate. Default filtering returns only +// RSA_2048 certificates. For more information, see Filters. // // 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 @@ -917,6 +940,12 @@ func (c *ACM) RemoveTagsFromCertificateRequest(input *RemoveTagsFromCertificateI // One or both of the values that make up the key-value pair is not valid. For // example, you cannot specify a tag value that begins with aws:. // +// * ErrCodeTagPolicyException "TagPolicyException" +// A specified tag did not comply with an existing tag policy and was rejected. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// An input parameter was invalid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/RemoveTagsFromCertificate func (c *ACM) RemoveTagsFromCertificate(input *RemoveTagsFromCertificateInput) (*RemoveTagsFromCertificateOutput, error) { req, out := c.RemoveTagsFromCertificateRequest(input) @@ -1102,6 +1131,19 @@ func (c *ACM) RequestCertificateRequest(input *RequestCertificateInput) (req *re // * ErrCodeInvalidArnException "InvalidArnException" // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // +// * ErrCodeInvalidTagException "InvalidTagException" +// One or both of the values that make up the key-value pair is not valid. For +// example, you cannot specify a tag value that begins with aws:. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// The request contains too many tags. Try the request again with fewer tags. +// +// * ErrCodeTagPolicyException "TagPolicyException" +// A specified tag did not comply with an existing tag policy and was rejected. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// An input parameter was invalid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/RequestCertificate func (c *ACM) RequestCertificate(input *RequestCertificateInput) (*RequestCertificateOutput, error) { req, out := c.RequestCertificateRequest(input) @@ -2226,6 +2268,11 @@ type Filters struct { ExtendedKeyUsage []*string `locationName:"extendedKeyUsage" type:"list"` // Specify one or more algorithms that can be used to generate key pairs. + // + // Default filtering returns only RSA_2048 certificates. To return other certificate + // types, provide the desired type signatures in a comma-separated list. For + // example, "keyTypes": ["RSA_2048,RSA_4096"] returns both RSA_2048 and RSA_4096 + // certificates. KeyTypes []*string `locationName:"keyTypes" type:"list"` // Specify one or more KeyUsage extension values. @@ -2366,6 +2413,11 @@ type ImportCertificateInput struct { // // PrivateKey is a required field PrivateKey []byte `min:"1" type:"blob" required:"true" sensitive:"true"` + + // One or more resource tags to associate with the imported certificate. + // + // Note: You cannot apply tags when reimporting a certificate. + Tags []*Tag `min:"1" type:"list"` } // String returns the string representation @@ -2399,6 +2451,19 @@ func (s *ImportCertificateInput) Validate() error { if s.PrivateKey != nil && len(s.PrivateKey) < 1 { invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1)) } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + 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 @@ -2430,6 +2495,12 @@ func (s *ImportCertificateInput) SetPrivateKey(v []byte) *ImportCertificateInput return s } +// SetTags sets the Tags field's value. +func (s *ImportCertificateInput) SetTags(v []*Tag) *ImportCertificateInput { + s.Tags = v + return s +} + type ImportCertificateOutput struct { _ struct{} `type:"structure"` @@ -2884,7 +2955,7 @@ type RequestCertificateInput struct { // certificate that protects several sites in the same domain. For example, // *.example.com protects www.example.com, site.example.com, and images.example.com. // - // The first domain name you enter cannot exceed 63 octets, including periods. + // The first domain name you enter cannot exceed 64 octets, including periods. // Each subsequent Subject Alternative Name (SAN), however, can be up to 253 // octets in length. // @@ -2935,6 +3006,9 @@ type RequestCertificateInput struct { // the total length of the DNS name (63+1+63+1+63+1+62) exceeds 253 octets. SubjectAlternativeNames []*string `min:"1" type:"list"` + // One or more resource tags to associate with the certificate. + Tags []*Tag `min:"1" type:"list"` + // The method you want to use if you are requesting a public certificate to // validate that you own or control domain. You can validate with DNS (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html) // or validate with email (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html). @@ -2973,6 +3047,9 @@ func (s *RequestCertificateInput) Validate() error { if s.SubjectAlternativeNames != nil && len(s.SubjectAlternativeNames) < 1 { invalidParams.Add(request.NewErrParamMinLen("SubjectAlternativeNames", 1)) } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } if s.DomainValidationOptions != nil { for i, v := range s.DomainValidationOptions { if v == nil { @@ -2983,6 +3060,16 @@ func (s *RequestCertificateInput) Validate() error { } } } + 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 @@ -3026,6 +3113,12 @@ func (s *RequestCertificateInput) SetSubjectAlternativeNames(v []*string) *Reque return s } +// SetTags sets the Tags field's value. +func (s *RequestCertificateInput) SetTags(v []*Tag) *RequestCertificateInput { + s.Tags = v + return s +} + // SetValidationMethod sets the ValidationMethod field's value. func (s *RequestCertificateInput) SetValidationMethod(v string) *RequestCertificateInput { s.ValidationMethod = &v @@ -3468,6 +3561,9 @@ const ( // FailureReasonPcaRequestFailed is a FailureReason enum value FailureReasonPcaRequestFailed = "PCA_REQUEST_FAILED" + // FailureReasonPcaNameConstraintsValidation is a FailureReason enum value + FailureReasonPcaNameConstraintsValidation = "PCA_NAME_CONSTRAINTS_VALIDATION" + // FailureReasonPcaResourceNotFound is a FailureReason enum value FailureReasonPcaResourceNotFound = "PCA_RESOURCE_NOT_FOUND" diff --git a/vendor/github.com/aws/aws-sdk-go/service/acm/errors.go b/vendor/github.com/aws/aws-sdk-go/service/acm/errors.go index 28d93aa374fa..5dfd1e97d464 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/acm/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/acm/errors.go @@ -22,6 +22,12 @@ const ( // One or more values in the DomainValidationOption structure is incorrect. ErrCodeInvalidDomainValidationOptionsException = "InvalidDomainValidationOptionsException" + // ErrCodeInvalidParameterException for service response error code + // "InvalidParameterException". + // + // An input parameter was invalid. + ErrCodeInvalidParameterException = "InvalidParameterException" + // ErrCodeInvalidStateException for service response error code // "InvalidStateException". // @@ -62,6 +68,12 @@ const ( // caller's account cannot be found. ErrCodeResourceNotFoundException = "ResourceNotFoundException" + // ErrCodeTagPolicyException for service response error code + // "TagPolicyException". + // + // A specified tag did not comply with an existing tag policy and was rejected. + ErrCodeTagPolicyException = "TagPolicyException" + // ErrCodeTooManyTagsException for service response error code // "TooManyTagsException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/amplify/api.go b/vendor/github.com/aws/aws-sdk-go/service/amplify/api.go index 3766dc2c544c..8637d37ce8b3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/amplify/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/amplify/api.go @@ -107,6 +107,99 @@ func (c *Amplify) CreateAppWithContext(ctx aws.Context, input *CreateAppInput, o return out, req.Send() } +const opCreateBackendEnvironment = "CreateBackendEnvironment" + +// CreateBackendEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the CreateBackendEnvironment 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 CreateBackendEnvironment for more information on using the CreateBackendEnvironment +// 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 CreateBackendEnvironmentRequest method. +// req, resp := client.CreateBackendEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateBackendEnvironment +func (c *Amplify) CreateBackendEnvironmentRequest(input *CreateBackendEnvironmentInput) (req *request.Request, output *CreateBackendEnvironmentOutput) { + op := &request.Operation{ + Name: opCreateBackendEnvironment, + HTTPMethod: "POST", + HTTPPath: "/apps/{appId}/backendenvironments", + } + + if input == nil { + input = &CreateBackendEnvironmentInput{} + } + + output = &CreateBackendEnvironmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateBackendEnvironment API operation for AWS Amplify. +// +// Creates a new backend environment for an Amplify App. +// +// 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 Amplify's +// API operation CreateBackendEnvironment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Exception thrown when a request contains unexpected data. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Exception thrown when an operation fails due to a lack of access. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception thrown when an entity has not been found during an operation. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// Exception thrown when the service fails to perform an operation due to an +// internal issue. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// Exception thrown when a resource could not be created because of service +// limits. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateBackendEnvironment +func (c *Amplify) CreateBackendEnvironment(input *CreateBackendEnvironmentInput) (*CreateBackendEnvironmentOutput, error) { + req, out := c.CreateBackendEnvironmentRequest(input) + return out, req.Send() +} + +// CreateBackendEnvironmentWithContext is the same as CreateBackendEnvironment with the addition of +// the ability to pass a context and additional request options. +// +// See CreateBackendEnvironment 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 *Amplify) CreateBackendEnvironmentWithContext(ctx aws.Context, input *CreateBackendEnvironmentInput, opts ...request.Option) (*CreateBackendEnvironmentOutput, error) { + req, out := c.CreateBackendEnvironmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateBranch = "CreateBranch" // CreateBranchRequest generates a "aws/request.Request" representing the @@ -581,6 +674,99 @@ func (c *Amplify) DeleteAppWithContext(ctx aws.Context, input *DeleteAppInput, o return out, req.Send() } +const opDeleteBackendEnvironment = "DeleteBackendEnvironment" + +// DeleteBackendEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBackendEnvironment 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 DeleteBackendEnvironment for more information on using the DeleteBackendEnvironment +// 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 DeleteBackendEnvironmentRequest method. +// req, resp := client.DeleteBackendEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteBackendEnvironment +func (c *Amplify) DeleteBackendEnvironmentRequest(input *DeleteBackendEnvironmentInput) (req *request.Request, output *DeleteBackendEnvironmentOutput) { + op := &request.Operation{ + Name: opDeleteBackendEnvironment, + HTTPMethod: "DELETE", + HTTPPath: "/apps/{appId}/backendenvironments/{environmentName}", + } + + if input == nil { + input = &DeleteBackendEnvironmentInput{} + } + + output = &DeleteBackendEnvironmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteBackendEnvironment API operation for AWS Amplify. +// +// Delete backend environment for an Amplify App. +// +// 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 Amplify's +// API operation DeleteBackendEnvironment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Exception thrown when a request contains unexpected data. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Exception thrown when an operation fails due to a lack of access. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception thrown when an entity has not been found during an operation. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// Exception thrown when the service fails to perform an operation due to an +// internal issue. +// +// * ErrCodeDependentServiceFailureException "DependentServiceFailureException" +// Exception thrown when an operation fails due to a dependent service throwing +// an exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteBackendEnvironment +func (c *Amplify) DeleteBackendEnvironment(input *DeleteBackendEnvironmentInput) (*DeleteBackendEnvironmentOutput, error) { + req, out := c.DeleteBackendEnvironmentRequest(input) + return out, req.Send() +} + +// DeleteBackendEnvironmentWithContext is the same as DeleteBackendEnvironment with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBackendEnvironment 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 *Amplify) DeleteBackendEnvironmentWithContext(ctx aws.Context, input *DeleteBackendEnvironmentInput, opts ...request.Option) (*DeleteBackendEnvironmentOutput, error) { + req, out := c.DeleteBackendEnvironmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteBranch = "DeleteBranch" // DeleteBranchRequest generates a "aws/request.Request" representing the @@ -1224,6 +1410,95 @@ func (c *Amplify) GetArtifactUrlWithContext(ctx aws.Context, input *GetArtifactU return out, req.Send() } +const opGetBackendEnvironment = "GetBackendEnvironment" + +// GetBackendEnvironmentRequest generates a "aws/request.Request" representing the +// client's request for the GetBackendEnvironment 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 GetBackendEnvironment for more information on using the GetBackendEnvironment +// 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 GetBackendEnvironmentRequest method. +// req, resp := client.GetBackendEnvironmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetBackendEnvironment +func (c *Amplify) GetBackendEnvironmentRequest(input *GetBackendEnvironmentInput) (req *request.Request, output *GetBackendEnvironmentOutput) { + op := &request.Operation{ + Name: opGetBackendEnvironment, + HTTPMethod: "GET", + HTTPPath: "/apps/{appId}/backendenvironments/{environmentName}", + } + + if input == nil { + input = &GetBackendEnvironmentInput{} + } + + output = &GetBackendEnvironmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBackendEnvironment API operation for AWS Amplify. +// +// Retrieves a backend environment for an Amplify App. +// +// 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 Amplify's +// API operation GetBackendEnvironment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Exception thrown when a request contains unexpected data. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Exception thrown when an operation fails due to a lack of access. +// +// * ErrCodeNotFoundException "NotFoundException" +// Exception thrown when an entity has not been found during an operation. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// Exception thrown when the service fails to perform an operation due to an +// internal issue. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetBackendEnvironment +func (c *Amplify) GetBackendEnvironment(input *GetBackendEnvironmentInput) (*GetBackendEnvironmentOutput, error) { + req, out := c.GetBackendEnvironmentRequest(input) + return out, req.Send() +} + +// GetBackendEnvironmentWithContext is the same as GetBackendEnvironment with the addition of +// the ability to pass a context and additional request options. +// +// See GetBackendEnvironment 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 *Amplify) GetBackendEnvironmentWithContext(ctx aws.Context, input *GetBackendEnvironmentInput, opts ...request.Option) (*GetBackendEnvironmentOutput, error) { + req, out := c.GetBackendEnvironmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetBranch = "GetBranch" // GetBranchRequest generates a "aws/request.Request" representing the @@ -1764,6 +2039,92 @@ func (c *Amplify) ListArtifactsWithContext(ctx aws.Context, input *ListArtifacts return out, req.Send() } +const opListBackendEnvironments = "ListBackendEnvironments" + +// ListBackendEnvironmentsRequest generates a "aws/request.Request" representing the +// client's request for the ListBackendEnvironments 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 ListBackendEnvironments for more information on using the ListBackendEnvironments +// 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 ListBackendEnvironmentsRequest method. +// req, resp := client.ListBackendEnvironmentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListBackendEnvironments +func (c *Amplify) ListBackendEnvironmentsRequest(input *ListBackendEnvironmentsInput) (req *request.Request, output *ListBackendEnvironmentsOutput) { + op := &request.Operation{ + Name: opListBackendEnvironments, + HTTPMethod: "GET", + HTTPPath: "/apps/{appId}/backendenvironments", + } + + if input == nil { + input = &ListBackendEnvironmentsInput{} + } + + output = &ListBackendEnvironmentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBackendEnvironments API operation for AWS Amplify. +// +// Lists backend environments for an Amplify App. +// +// 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 Amplify's +// API operation ListBackendEnvironments for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// Exception thrown when a request contains unexpected data. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// Exception thrown when an operation fails due to a lack of access. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// Exception thrown when the service fails to perform an operation due to an +// internal issue. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListBackendEnvironments +func (c *Amplify) ListBackendEnvironments(input *ListBackendEnvironmentsInput) (*ListBackendEnvironmentsOutput, error) { + req, out := c.ListBackendEnvironmentsRequest(input) + return out, req.Send() +} + +// ListBackendEnvironmentsWithContext is the same as ListBackendEnvironments with the addition of +// the ability to pass a context and additional request options. +// +// See ListBackendEnvironments 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 *Amplify) ListBackendEnvironmentsWithContext(ctx aws.Context, input *ListBackendEnvironmentsInput, opts ...request.Option) (*ListBackendEnvironmentsOutput, error) { + req, out := c.ListBackendEnvironmentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListBranches = "ListBranches" // ListBranchesRequest generates a "aws/request.Request" representing the @@ -3398,6 +3759,84 @@ func (s *AutoBranchCreationConfig) SetStage(v string) *AutoBranchCreationConfig return s } +// Backend environment for an Amplify App. +type BackendEnvironment struct { + _ struct{} `type:"structure"` + + // Arn for a backend environment, part of an Amplify App. + // + // BackendEnvironmentArn is a required field + BackendEnvironmentArn *string `locationName:"backendEnvironmentArn" min:"1" type:"string" required:"true"` + + // Creation date and time for a backend environment, part of an Amplify App. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // Name of deployment artifacts. + DeploymentArtifacts *string `locationName:"deploymentArtifacts" min:"1" type:"string"` + + // Name for a backend environment, part of an Amplify App. + // + // EnvironmentName is a required field + EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"` + + // CloudFormation stack name of backend environment. + StackName *string `locationName:"stackName" min:"1" type:"string"` + + // Last updated date and time for a backend environment, part of an Amplify + // App. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s BackendEnvironment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BackendEnvironment) GoString() string { + return s.String() +} + +// SetBackendEnvironmentArn sets the BackendEnvironmentArn field's value. +func (s *BackendEnvironment) SetBackendEnvironmentArn(v string) *BackendEnvironment { + s.BackendEnvironmentArn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *BackendEnvironment) SetCreateTime(v time.Time) *BackendEnvironment { + s.CreateTime = &v + return s +} + +// SetDeploymentArtifacts sets the DeploymentArtifacts field's value. +func (s *BackendEnvironment) SetDeploymentArtifacts(v string) *BackendEnvironment { + s.DeploymentArtifacts = &v + return s +} + +// SetEnvironmentName sets the EnvironmentName field's value. +func (s *BackendEnvironment) SetEnvironmentName(v string) *BackendEnvironment { + s.EnvironmentName = &v + return s +} + +// SetStackName sets the StackName field's value. +func (s *BackendEnvironment) SetStackName(v string) *BackendEnvironment { + s.StackName = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *BackendEnvironment) SetUpdateTime(v time.Time) *BackendEnvironment { + s.UpdateTime = &v + return s +} + // Branch for an Amplify App, which maps to a 3rd party repository branch. type Branch struct { _ struct{} `type:"structure"` @@ -3855,71 +4294,180 @@ func (s *CreateAppInput) SetEnableBranchAutoBuild(v bool) *CreateAppInput { return s } -// SetEnvironmentVariables sets the EnvironmentVariables field's value. -func (s *CreateAppInput) SetEnvironmentVariables(v map[string]*string) *CreateAppInput { - s.EnvironmentVariables = v - return s +// SetEnvironmentVariables sets the EnvironmentVariables field's value. +func (s *CreateAppInput) SetEnvironmentVariables(v map[string]*string) *CreateAppInput { + s.EnvironmentVariables = v + return s +} + +// SetIamServiceRoleArn sets the IamServiceRoleArn field's value. +func (s *CreateAppInput) SetIamServiceRoleArn(v string) *CreateAppInput { + s.IamServiceRoleArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateAppInput) SetName(v string) *CreateAppInput { + s.Name = &v + return s +} + +// SetOauthToken sets the OauthToken field's value. +func (s *CreateAppInput) SetOauthToken(v string) *CreateAppInput { + s.OauthToken = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *CreateAppInput) SetPlatform(v string) *CreateAppInput { + s.Platform = &v + return s +} + +// SetRepository sets the Repository field's value. +func (s *CreateAppInput) SetRepository(v string) *CreateAppInput { + s.Repository = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateAppInput) SetTags(v map[string]*string) *CreateAppInput { + s.Tags = v + return s +} + +type CreateAppOutput struct { + _ struct{} `type:"structure"` + + // Amplify App represents different branches of a repository for building, deploying, + // and hosting. + // + // App is a required field + App *App `locationName:"app" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateAppOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAppOutput) GoString() string { + return s.String() +} + +// SetApp sets the App field's value. +func (s *CreateAppOutput) SetApp(v *App) *CreateAppOutput { + s.App = v + return s +} + +// Request structure for a backend environment create request. +type CreateBackendEnvironmentInput struct { + _ struct{} `type:"structure"` + + // Unique Id for an Amplify App. + // + // AppId is a required field + AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` + + // Name of deployment artifacts. + DeploymentArtifacts *string `locationName:"deploymentArtifacts" min:"1" type:"string"` + + // Name for the backend environment. + // + // EnvironmentName is a required field + EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"` + + // CloudFormation stack name of backend environment. + StackName *string `locationName:"stackName" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateBackendEnvironmentInput) String() string { + return awsutil.Prettify(s) } -// SetIamServiceRoleArn sets the IamServiceRoleArn field's value. -func (s *CreateAppInput) SetIamServiceRoleArn(v string) *CreateAppInput { - s.IamServiceRoleArn = &v - return s +// GoString returns the string representation +func (s CreateBackendEnvironmentInput) GoString() string { + return s.String() } -// SetName sets the Name field's value. -func (s *CreateAppInput) SetName(v string) *CreateAppInput { - s.Name = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateBackendEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBackendEnvironmentInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.AppId != nil && len(*s.AppId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AppId", 1)) + } + if s.DeploymentArtifacts != nil && len(*s.DeploymentArtifacts) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeploymentArtifacts", 1)) + } + if s.EnvironmentName == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentName")) + } + if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1)) + } + if s.StackName != nil && len(*s.StackName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetOauthToken sets the OauthToken field's value. -func (s *CreateAppInput) SetOauthToken(v string) *CreateAppInput { - s.OauthToken = &v +// SetAppId sets the AppId field's value. +func (s *CreateBackendEnvironmentInput) SetAppId(v string) *CreateBackendEnvironmentInput { + s.AppId = &v return s } -// SetPlatform sets the Platform field's value. -func (s *CreateAppInput) SetPlatform(v string) *CreateAppInput { - s.Platform = &v +// SetDeploymentArtifacts sets the DeploymentArtifacts field's value. +func (s *CreateBackendEnvironmentInput) SetDeploymentArtifacts(v string) *CreateBackendEnvironmentInput { + s.DeploymentArtifacts = &v return s } -// SetRepository sets the Repository field's value. -func (s *CreateAppInput) SetRepository(v string) *CreateAppInput { - s.Repository = &v +// SetEnvironmentName sets the EnvironmentName field's value. +func (s *CreateBackendEnvironmentInput) SetEnvironmentName(v string) *CreateBackendEnvironmentInput { + s.EnvironmentName = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateAppInput) SetTags(v map[string]*string) *CreateAppInput { - s.Tags = v +// SetStackName sets the StackName field's value. +func (s *CreateBackendEnvironmentInput) SetStackName(v string) *CreateBackendEnvironmentInput { + s.StackName = &v return s } -type CreateAppOutput struct { +// Result structure for create backend environment. +type CreateBackendEnvironmentOutput struct { _ struct{} `type:"structure"` - // Amplify App represents different branches of a repository for building, deploying, - // and hosting. + // Backend environment structure for an amplify App. // - // App is a required field - App *App `locationName:"app" type:"structure" required:"true"` + // BackendEnvironment is a required field + BackendEnvironment *BackendEnvironment `locationName:"backendEnvironment" type:"structure" required:"true"` } // String returns the string representation -func (s CreateAppOutput) String() string { +func (s CreateBackendEnvironmentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateAppOutput) GoString() string { +func (s CreateBackendEnvironmentOutput) GoString() string { return s.String() } -// SetApp sets the App field's value. -func (s *CreateAppOutput) SetApp(v *App) *CreateAppOutput { - s.App = v +// SetBackendEnvironment sets the BackendEnvironment field's value. +func (s *CreateBackendEnvironmentOutput) SetBackendEnvironment(v *BackendEnvironment) *CreateBackendEnvironmentOutput { + s.BackendEnvironment = v return s } @@ -4631,6 +5179,91 @@ func (s *DeleteAppOutput) SetApp(v *App) *DeleteAppOutput { return s } +// Request structure for delete backend environment request. +type DeleteBackendEnvironmentInput struct { + _ struct{} `type:"structure"` + + // Unique Id of an Amplify App. + // + // AppId is a required field + AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` + + // Name of a backend environment of an Amplify App. + // + // EnvironmentName is a required field + EnvironmentName *string `location:"uri" locationName:"environmentName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteBackendEnvironmentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackendEnvironmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBackendEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBackendEnvironmentInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.AppId != nil && len(*s.AppId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AppId", 1)) + } + if s.EnvironmentName == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentName")) + } + if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *DeleteBackendEnvironmentInput) SetAppId(v string) *DeleteBackendEnvironmentInput { + s.AppId = &v + return s +} + +// SetEnvironmentName sets the EnvironmentName field's value. +func (s *DeleteBackendEnvironmentInput) SetEnvironmentName(v string) *DeleteBackendEnvironmentInput { + s.EnvironmentName = &v + return s +} + +// Result structure of a delete backend environment result. +type DeleteBackendEnvironmentOutput struct { + _ struct{} `type:"structure"` + + // Backend environment structure for an Amplify App. + // + // BackendEnvironment is a required field + BackendEnvironment *BackendEnvironment `locationName:"backendEnvironment" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteBackendEnvironmentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBackendEnvironmentOutput) GoString() string { + return s.String() +} + +// SetBackendEnvironment sets the BackendEnvironment field's value. +func (s *DeleteBackendEnvironmentOutput) SetBackendEnvironment(v *BackendEnvironment) *DeleteBackendEnvironmentOutput { + s.BackendEnvironment = v + return s +} + // Request structure for delete branch request. type DeleteBranchInput struct { _ struct{} `type:"structure"` @@ -5307,6 +5940,91 @@ func (s *GetArtifactUrlOutput) SetArtifactUrl(v string) *GetArtifactUrlOutput { return s } +// Request structure for get backend environment request. +type GetBackendEnvironmentInput struct { + _ struct{} `type:"structure"` + + // Unique Id for an Amplify App. + // + // AppId is a required field + AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` + + // Name for the backend environment. + // + // EnvironmentName is a required field + EnvironmentName *string `location:"uri" locationName:"environmentName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetBackendEnvironmentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackendEnvironmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBackendEnvironmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBackendEnvironmentInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.AppId != nil && len(*s.AppId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AppId", 1)) + } + if s.EnvironmentName == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentName")) + } + if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *GetBackendEnvironmentInput) SetAppId(v string) *GetBackendEnvironmentInput { + s.AppId = &v + return s +} + +// SetEnvironmentName sets the EnvironmentName field's value. +func (s *GetBackendEnvironmentInput) SetEnvironmentName(v string) *GetBackendEnvironmentInput { + s.EnvironmentName = &v + return s +} + +// Result structure for get backend environment result. +type GetBackendEnvironmentOutput struct { + _ struct{} `type:"structure"` + + // Backend environment structure for an an Amplify App. + // + // BackendEnvironment is a required field + BackendEnvironment *BackendEnvironment `locationName:"backendEnvironment" type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetBackendEnvironmentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetBackendEnvironmentOutput) GoString() string { + return s.String() +} + +// SetBackendEnvironment sets the BackendEnvironment field's value. +func (s *GetBackendEnvironmentOutput) SetBackendEnvironment(v *BackendEnvironment) *GetBackendEnvironmentOutput { + s.BackendEnvironment = v + return s +} + // Request structure for get branch request. type GetBranchInput struct { _ struct{} `type:"structure"` @@ -6015,6 +6733,119 @@ func (s *ListArtifactsOutput) SetNextToken(v string) *ListArtifactsOutput { return s } +// Request structure for list backend environments request. +type ListBackendEnvironmentsInput struct { + _ struct{} `type:"structure"` + + // Unique Id for an amplify App. + // + // AppId is a required field + AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` + + // Name of the backend environment + EnvironmentName *string `locationName:"environmentName" min:"1" type:"string"` + + // Maximum number of records to list in a single response. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // Pagination token. Set to null to start listing backen environments from start. + // If a non-null pagination token is returned in a result, then pass its value + // in here to list more backend environments. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListBackendEnvironmentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackendEnvironmentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBackendEnvironmentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBackendEnvironmentsInput"} + if s.AppId == nil { + invalidParams.Add(request.NewErrParamRequired("AppId")) + } + if s.AppId != nil && len(*s.AppId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AppId", 1)) + } + if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppId sets the AppId field's value. +func (s *ListBackendEnvironmentsInput) SetAppId(v string) *ListBackendEnvironmentsInput { + s.AppId = &v + return s +} + +// SetEnvironmentName sets the EnvironmentName field's value. +func (s *ListBackendEnvironmentsInput) SetEnvironmentName(v string) *ListBackendEnvironmentsInput { + s.EnvironmentName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListBackendEnvironmentsInput) SetMaxResults(v int64) *ListBackendEnvironmentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackendEnvironmentsInput) SetNextToken(v string) *ListBackendEnvironmentsInput { + s.NextToken = &v + return s +} + +// Result structure for list backend environments result. +type ListBackendEnvironmentsOutput struct { + _ struct{} `type:"structure"` + + // List of backend environments for an Amplify App. + // + // BackendEnvironments is a required field + BackendEnvironments []*BackendEnvironment `locationName:"backendEnvironments" type:"list" required:"true"` + + // Pagination token. If non-null pagination token is returned in a result, then + // pass its value in another request to fetch more entries. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListBackendEnvironmentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBackendEnvironmentsOutput) GoString() string { + return s.String() +} + +// SetBackendEnvironments sets the BackendEnvironments field's value. +func (s *ListBackendEnvironmentsOutput) SetBackendEnvironments(v []*BackendEnvironment) *ListBackendEnvironmentsOutput { + s.BackendEnvironments = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBackendEnvironmentsOutput) SetNextToken(v string) *ListBackendEnvironmentsOutput { + s.NextToken = &v + return s +} + // Request structure for list branches request. type ListBranchesInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go index 4a7e21e00ff2..bbe296b6545e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go @@ -1479,15 +1479,15 @@ type DeleteScalingPolicyInput struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -1495,6 +1495,9 @@ type DeleteScalingPolicyInput struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1534,6 +1537,10 @@ type DeleteScalingPolicyInput struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -1641,15 +1648,15 @@ type DeleteScheduledActionInput struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -1657,6 +1664,9 @@ type DeleteScheduledActionInput struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1696,6 +1706,10 @@ type DeleteScheduledActionInput struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -1808,15 +1822,15 @@ type DeregisterScalableTargetInput struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -1824,6 +1838,9 @@ type DeregisterScalableTargetInput struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1863,6 +1880,10 @@ type DeregisterScalableTargetInput struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -1971,21 +1992,24 @@ type DescribeScalableTargetsInput struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). + // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. ResourceIds []*string `type:"list"` // The scalable dimension associated with the scalable target. This string consists @@ -2024,6 +2048,10 @@ type DescribeScalableTargetsInput struct { // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. + // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The namespace of the AWS service that provides the resource or custom-resource @@ -2153,21 +2181,24 @@ type DescribeScalingActivitiesInput struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). + // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2206,6 +2237,10 @@ type DescribeScalingActivitiesInput struct { // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. + // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The namespace of the AWS service that provides the resource or custom-resource @@ -2341,21 +2376,24 @@ type DescribeScalingPoliciesInput struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). + // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2394,6 +2432,10 @@ type DescribeScalingPoliciesInput struct { // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. + // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The namespace of the AWS service that provides the resource or custom-resource @@ -2532,21 +2574,24 @@ type DescribeScheduledActionsInput struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter // must specify the OutputValue from the CloudFormation template stack used // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). + // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2585,6 +2630,10 @@ type DescribeScheduledActionsInput struct { // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. + // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The names of the scheduled actions to describe. @@ -2824,9 +2873,9 @@ type PutScalingPolicyInput struct { // // The following policy types are supported: // - // TargetTrackingScaling—Not supported for Amazon EMR or AppStream + // TargetTrackingScaling—Not supported for Amazon EMR // - // StepScaling—Not supported for Amazon DynamoDB + // StepScaling—Not supported for DynamoDB or Amazon Comprehend // // For more information, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) // and Step Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) @@ -2849,15 +2898,15 @@ type PutScalingPolicyInput struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -2865,6 +2914,9 @@ type PutScalingPolicyInput struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -2904,6 +2956,10 @@ type PutScalingPolicyInput struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -3075,15 +3131,15 @@ type PutScheduledActionInput struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -3091,6 +3147,9 @@ type PutScheduledActionInput struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3130,6 +3189,10 @@ type PutScheduledActionInput struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -3304,15 +3367,15 @@ type RegisterScalableTargetInput struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -3320,6 +3383,9 @@ type RegisterScalableTargetInput struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3368,6 +3434,10 @@ type RegisterScalableTargetInput struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -3395,7 +3465,7 @@ type RegisterScalableTargetInput struct { // * For ScheduledScalingSuspended, while a suspension is in effect, all // scaling activities that involve scheduled actions are suspended. // - // For more information, see Suspend and Resume Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html) + // For more information, see Suspending and Resuming Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html) // in the Application Auto Scaling User Guide. SuspendedState *SuspendedState `type:"structure"` } @@ -3526,15 +3596,15 @@ type ScalableTarget struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -3542,6 +3612,9 @@ type ScalableTarget struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3587,6 +3660,10 @@ type ScalableTarget struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -3735,15 +3812,15 @@ type ScalingActivity struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -3751,6 +3828,9 @@ type ScalingActivity struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3790,6 +3870,10 @@ type ScalingActivity struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -3934,15 +4018,15 @@ type ScalingPolicy struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -3950,6 +4034,9 @@ type ScalingPolicy struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3989,6 +4076,10 @@ type ScalingPolicy struct { // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -4105,15 +4196,15 @@ type ScheduledAction struct { // is the fleet name. Example: fleet/sample-fleet. // // * DynamoDB table - The resource type is table and the unique identifier - // is the resource ID. Example: table/my-table. + // is the table name. Example: table/my-table. // // * DynamoDB global secondary index - The resource type is index and the - // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. + // unique identifier is the index name. Example: table/my-table/index/my-table-index. // // * Aurora DB cluster - The resource type is cluster and the unique identifier // is the cluster name. Example: cluster:my-db-cluster. // - // * Amazon SageMaker endpoint variants - The resource type is variant and + // * Amazon SageMaker endpoint variant - The resource type is variant and // the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // // * Custom resources are not supported with a resource type. This parameter @@ -4121,6 +4212,9 @@ type ScheduledAction struct { // to access the resources. The unique identifier is defined by the service // provider. More information is available in our GitHub repository (https://github.com/aws/aws-auto-scaling-custom-resource). // + // * Amazon Comprehend document classification endpoint - The resource type + // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -4159,6 +4253,10 @@ type ScheduledAction struct { // // * custom-resource:ResourceType:Property - The scalable dimension for a // custom resource provided by your own application or service. + // + // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The + // number of inference units for an Amazon Comprehend document classification + // endpoint. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The new minimum and maximum capacity. You can set both values or just one. @@ -4725,6 +4823,12 @@ const ( // MetricTypeEcsserviceAverageMemoryUtilization is a MetricType enum value MetricTypeEcsserviceAverageMemoryUtilization = "ECSServiceAverageMemoryUtilization" + + // MetricTypeAppStreamAverageCapacityUtilization is a MetricType enum value + MetricTypeAppStreamAverageCapacityUtilization = "AppStreamAverageCapacityUtilization" + + // MetricTypeComprehendInferenceUtilization is a MetricType enum value + MetricTypeComprehendInferenceUtilization = "ComprehendInferenceUtilization" ) const ( @@ -4768,6 +4872,9 @@ const ( // ScalableDimensionCustomResourceResourceTypeProperty is a ScalableDimension enum value ScalableDimensionCustomResourceResourceTypeProperty = "custom-resource:ResourceType:Property" + + // ScalableDimensionComprehendDocumentClassifierEndpointDesiredInferenceUnits is a ScalableDimension enum value + ScalableDimensionComprehendDocumentClassifierEndpointDesiredInferenceUnits = "comprehend:document-classifier-endpoint:DesiredInferenceUnits" ) const ( @@ -4814,4 +4921,7 @@ const ( // ServiceNamespaceCustomResource is a ServiceNamespace enum value ServiceNamespaceCustomResource = "custom-resource" + + // ServiceNamespaceComprehend is a ServiceNamespace enum value + ServiceNamespaceComprehend = "comprehend" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go index fbaa9db46936..40d4ad73abca 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go @@ -22,6 +22,8 @@ // // * Custom resources provided by your own applications or services // +// * Amazon Comprehend document classification endpoints +// // API Summary // // The Application Auto Scaling service API includes three key sets of actions: diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationinsights/api.go b/vendor/github.com/aws/aws-sdk-go/service/applicationinsights/api.go index 737a831f0e1c..40131b0ad6c4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationinsights/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationinsights/api.go @@ -3,6 +3,7 @@ package applicationinsights import ( + "fmt" "time" "github.com/aws/aws-sdk-go/aws" @@ -78,6 +79,9 @@ func (c *ApplicationInsights) CreateApplicationRequest(input *CreateApplicationI // * ErrCodeInternalServerException "InternalServerException" // The server encountered an internal error and is unable to complete the request. // +// * ErrCodeTagsAlreadyExistException "TagsAlreadyExistException" +// Tags are already registered for the specified application ARN. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/CreateApplication func (c *ApplicationInsights) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) { req, out := c.CreateApplicationRequest(input) @@ -189,6 +193,94 @@ func (c *ApplicationInsights) CreateComponentWithContext(ctx aws.Context, input return out, req.Send() } +const opCreateLogPattern = "CreateLogPattern" + +// CreateLogPatternRequest generates a "aws/request.Request" representing the +// client's request for the CreateLogPattern 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 CreateLogPattern for more information on using the CreateLogPattern +// 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 CreateLogPatternRequest method. +// req, resp := client.CreateLogPatternRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/CreateLogPattern +func (c *ApplicationInsights) CreateLogPatternRequest(input *CreateLogPatternInput) (req *request.Request, output *CreateLogPatternOutput) { + op := &request.Operation{ + Name: opCreateLogPattern, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateLogPatternInput{} + } + + output = &CreateLogPatternOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateLogPattern API operation for Amazon CloudWatch Application Insights. +// +// Adds an log pattern to a LogPatternSet. +// +// 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 CloudWatch Application Insights's +// API operation CreateLogPattern for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceInUseException "ResourceInUseException" +// The resource is already created or in use. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// * ErrCodeInternalServerException "InternalServerException" +// The server encountered an internal error and is unable to complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/CreateLogPattern +func (c *ApplicationInsights) CreateLogPattern(input *CreateLogPatternInput) (*CreateLogPatternOutput, error) { + req, out := c.CreateLogPatternRequest(input) + return out, req.Send() +} + +// CreateLogPatternWithContext is the same as CreateLogPattern with the addition of +// the ability to pass a context and additional request options. +// +// See CreateLogPattern 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 *ApplicationInsights) CreateLogPatternWithContext(ctx aws.Context, input *CreateLogPatternInput, opts ...request.Option) (*CreateLogPatternOutput, error) { + req, out := c.CreateLogPatternRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteApplication = "DeleteApplication" // DeleteApplicationRequest generates a "aws/request.Request" representing the @@ -366,6 +458,95 @@ func (c *ApplicationInsights) DeleteComponentWithContext(ctx aws.Context, input return out, req.Send() } +const opDeleteLogPattern = "DeleteLogPattern" + +// DeleteLogPatternRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLogPattern 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 DeleteLogPattern for more information on using the DeleteLogPattern +// 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 DeleteLogPatternRequest method. +// req, resp := client.DeleteLogPatternRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DeleteLogPattern +func (c *ApplicationInsights) DeleteLogPatternRequest(input *DeleteLogPatternInput) (req *request.Request, output *DeleteLogPatternOutput) { + op := &request.Operation{ + Name: opDeleteLogPattern, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteLogPatternInput{} + } + + output = &DeleteLogPatternOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteLogPattern API operation for Amazon CloudWatch Application Insights. +// +// Removes the specified log pattern from a LogPatternSet. +// +// 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 CloudWatch Application Insights's +// API operation DeleteLogPattern for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// * ErrCodeBadRequestException "BadRequestException" +// The request is not understood by the server. +// +// * ErrCodeInternalServerException "InternalServerException" +// The server encountered an internal error and is unable to complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DeleteLogPattern +func (c *ApplicationInsights) DeleteLogPattern(input *DeleteLogPatternInput) (*DeleteLogPatternOutput, error) { + req, out := c.DeleteLogPatternRequest(input) + return out, req.Send() +} + +// DeleteLogPatternWithContext is the same as DeleteLogPattern with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteLogPattern 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 *ApplicationInsights) DeleteLogPatternWithContext(ctx aws.Context, input *DeleteLogPatternInput, opts ...request.Option) (*DeleteLogPatternOutput, error) { + req, out := c.DeleteLogPatternRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeApplication = "DescribeApplication" // DescribeApplicationRequest generates a "aws/request.Request" representing the @@ -707,6 +888,91 @@ func (c *ApplicationInsights) DescribeComponentConfigurationRecommendationWithCo return out, req.Send() } +const opDescribeLogPattern = "DescribeLogPattern" + +// DescribeLogPatternRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLogPattern 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 DescribeLogPattern for more information on using the DescribeLogPattern +// 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 DescribeLogPatternRequest method. +// req, resp := client.DescribeLogPatternRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeLogPattern +func (c *ApplicationInsights) DescribeLogPatternRequest(input *DescribeLogPatternInput) (req *request.Request, output *DescribeLogPatternOutput) { + op := &request.Operation{ + Name: opDescribeLogPattern, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeLogPatternInput{} + } + + output = &DescribeLogPatternOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeLogPattern API operation for Amazon CloudWatch Application Insights. +// +// Describe a specific log pattern from a LogPatternSet. +// +// 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 CloudWatch Application Insights's +// API operation DescribeLogPattern for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// * ErrCodeInternalServerException "InternalServerException" +// The server encountered an internal error and is unable to complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/DescribeLogPattern +func (c *ApplicationInsights) DescribeLogPattern(input *DescribeLogPatternInput) (*DescribeLogPatternOutput, error) { + req, out := c.DescribeLogPatternRequest(input) + return out, req.Send() +} + +// DescribeLogPatternWithContext is the same as DescribeLogPattern with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeLogPattern 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 *ApplicationInsights) DescribeLogPatternWithContext(ctx aws.Context, input *DescribeLogPatternInput, opts ...request.Option) (*DescribeLogPatternOutput, error) { + req, out := c.DescribeLogPatternRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeObservation = "DescribeObservation" // DescribeObservationRequest generates a "aws/request.Request" representing the @@ -1245,35 +1511,35 @@ func (c *ApplicationInsights) ListComponentsPagesWithContext(ctx aws.Context, in return p.Err() } -const opListProblems = "ListProblems" +const opListLogPatternSets = "ListLogPatternSets" -// ListProblemsRequest generates a "aws/request.Request" representing the -// client's request for the ListProblems operation. The "output" return +// ListLogPatternSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListLogPatternSets 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 ListProblems for more information on using the ListProblems +// See ListLogPatternSets for more information on using the ListLogPatternSets // 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 ListProblemsRequest method. -// req, resp := client.ListProblemsRequest(params) +// // Example sending a request using the ListLogPatternSetsRequest method. +// req, resp := client.ListLogPatternSetsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListProblems -func (c *ApplicationInsights) ListProblemsRequest(input *ListProblemsInput) (req *request.Request, output *ListProblemsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatternSets +func (c *ApplicationInsights) ListLogPatternSetsRequest(input *ListLogPatternSetsInput) (req *request.Request, output *ListLogPatternSetsOutput) { op := &request.Operation{ - Name: opListProblems, + Name: opListLogPatternSets, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1285,94 +1551,94 @@ func (c *ApplicationInsights) ListProblemsRequest(input *ListProblemsInput) (req } if input == nil { - input = &ListProblemsInput{} + input = &ListLogPatternSetsInput{} } - output = &ListProblemsOutput{} + output = &ListLogPatternSetsOutput{} req = c.newRequest(op, input, output) return } -// ListProblems API operation for Amazon CloudWatch Application Insights. +// ListLogPatternSets API operation for Amazon CloudWatch Application Insights. // -// Lists the problems with your application. +// Lists the log pattern sets in the specific application. // // 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 CloudWatch Application Insights's -// API operation ListProblems for usage and error information. +// API operation ListLogPatternSets for usage and error information. // // Returned Error Codes: -// * ErrCodeValidationException "ValidationException" -// The parameter is not valid. -// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The resource does not exist in the customer account. // +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// // * ErrCodeInternalServerException "InternalServerException" // The server encountered an internal error and is unable to complete the request. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListProblems -func (c *ApplicationInsights) ListProblems(input *ListProblemsInput) (*ListProblemsOutput, error) { - req, out := c.ListProblemsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatternSets +func (c *ApplicationInsights) ListLogPatternSets(input *ListLogPatternSetsInput) (*ListLogPatternSetsOutput, error) { + req, out := c.ListLogPatternSetsRequest(input) return out, req.Send() } -// ListProblemsWithContext is the same as ListProblems with the addition of +// ListLogPatternSetsWithContext is the same as ListLogPatternSets with the addition of // the ability to pass a context and additional request options. // -// See ListProblems for details on how to use this API operation. +// See ListLogPatternSets 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 *ApplicationInsights) ListProblemsWithContext(ctx aws.Context, input *ListProblemsInput, opts ...request.Option) (*ListProblemsOutput, error) { - req, out := c.ListProblemsRequest(input) +func (c *ApplicationInsights) ListLogPatternSetsWithContext(ctx aws.Context, input *ListLogPatternSetsInput, opts ...request.Option) (*ListLogPatternSetsOutput, error) { + req, out := c.ListLogPatternSetsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListProblemsPages iterates over the pages of a ListProblems operation, +// ListLogPatternSetsPages iterates over the pages of a ListLogPatternSets operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListProblems method for more information on how to use this operation. +// See ListLogPatternSets 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 ListProblems operation. +// // Example iterating over at most 3 pages of a ListLogPatternSets operation. // pageNum := 0 -// err := client.ListProblemsPages(params, -// func(page *applicationinsights.ListProblemsOutput, lastPage bool) bool { +// err := client.ListLogPatternSetsPages(params, +// func(page *applicationinsights.ListLogPatternSetsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *ApplicationInsights) ListProblemsPages(input *ListProblemsInput, fn func(*ListProblemsOutput, bool) bool) error { - return c.ListProblemsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *ApplicationInsights) ListLogPatternSetsPages(input *ListLogPatternSetsInput, fn func(*ListLogPatternSetsOutput, bool) bool) error { + return c.ListLogPatternSetsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListProblemsPagesWithContext same as ListProblemsPages except +// ListLogPatternSetsPagesWithContext same as ListLogPatternSetsPages 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 *ApplicationInsights) ListProblemsPagesWithContext(ctx aws.Context, input *ListProblemsInput, fn func(*ListProblemsOutput, bool) bool, opts ...request.Option) error { +func (c *ApplicationInsights) ListLogPatternSetsPagesWithContext(ctx aws.Context, input *ListLogPatternSetsInput, fn func(*ListLogPatternSetsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListProblemsInput + var inCpy *ListLogPatternSetsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListProblemsRequest(inCpy) + req, _ := c.ListLogPatternSetsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1380,7 +1646,7 @@ func (c *ApplicationInsights) ListProblemsPagesWithContext(ctx aws.Context, inpu } for p.Next() { - if !fn(p.Page().(*ListProblemsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListLogPatternSetsOutput), !p.HasNextPage()) { break } } @@ -1388,44 +1654,595 @@ func (c *ApplicationInsights) ListProblemsPagesWithContext(ctx aws.Context, inpu return p.Err() } -const opUpdateApplication = "UpdateApplication" +const opListLogPatterns = "ListLogPatterns" -// UpdateApplicationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateApplication operation. The "output" return +// ListLogPatternsRequest generates a "aws/request.Request" representing the +// client's request for the ListLogPatterns 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 UpdateApplication for more information on using the UpdateApplication +// See ListLogPatterns for more information on using the ListLogPatterns // 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 UpdateApplicationRequest method. -// req, resp := client.UpdateApplicationRequest(params) +// // Example sending a request using the ListLogPatternsRequest method. +// req, resp := client.ListLogPatternsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateApplication -func (c *ApplicationInsights) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatterns +func (c *ApplicationInsights) ListLogPatternsRequest(input *ListLogPatternsInput) (req *request.Request, output *ListLogPatternsOutput) { op := &request.Operation{ - Name: opUpdateApplication, + Name: opListLogPatterns, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateApplicationInput{} + input = &ListLogPatternsInput{} } - output = &UpdateApplicationOutput{} + output = &ListLogPatternsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListLogPatterns API operation for Amazon CloudWatch Application Insights. +// +// Lists the log patterns in the specific log LogPatternSet. +// +// 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 CloudWatch Application Insights's +// API operation ListLogPatterns for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// * ErrCodeInternalServerException "InternalServerException" +// The server encountered an internal error and is unable to complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListLogPatterns +func (c *ApplicationInsights) ListLogPatterns(input *ListLogPatternsInput) (*ListLogPatternsOutput, error) { + req, out := c.ListLogPatternsRequest(input) + return out, req.Send() +} + +// ListLogPatternsWithContext is the same as ListLogPatterns with the addition of +// the ability to pass a context and additional request options. +// +// See ListLogPatterns 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 *ApplicationInsights) ListLogPatternsWithContext(ctx aws.Context, input *ListLogPatternsInput, opts ...request.Option) (*ListLogPatternsOutput, error) { + req, out := c.ListLogPatternsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListLogPatternsPages iterates over the pages of a ListLogPatterns operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListLogPatterns 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 ListLogPatterns operation. +// pageNum := 0 +// err := client.ListLogPatternsPages(params, +// func(page *applicationinsights.ListLogPatternsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ApplicationInsights) ListLogPatternsPages(input *ListLogPatternsInput, fn func(*ListLogPatternsOutput, bool) bool) error { + return c.ListLogPatternsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListLogPatternsPagesWithContext same as ListLogPatternsPages 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 *ApplicationInsights) ListLogPatternsPagesWithContext(ctx aws.Context, input *ListLogPatternsInput, fn func(*ListLogPatternsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListLogPatternsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListLogPatternsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListLogPatternsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListProblems = "ListProblems" + +// ListProblemsRequest generates a "aws/request.Request" representing the +// client's request for the ListProblems 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 ListProblems for more information on using the ListProblems +// 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 ListProblemsRequest method. +// req, resp := client.ListProblemsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListProblems +func (c *ApplicationInsights) ListProblemsRequest(input *ListProblemsInput) (req *request.Request, output *ListProblemsOutput) { + op := &request.Operation{ + Name: opListProblems, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListProblemsInput{} + } + + output = &ListProblemsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProblems API operation for Amazon CloudWatch Application Insights. +// +// Lists the problems with your application. +// +// 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 CloudWatch Application Insights's +// API operation ListProblems for usage and error information. +// +// Returned Error Codes: +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeInternalServerException "InternalServerException" +// The server encountered an internal error and is unable to complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListProblems +func (c *ApplicationInsights) ListProblems(input *ListProblemsInput) (*ListProblemsOutput, error) { + req, out := c.ListProblemsRequest(input) + return out, req.Send() +} + +// ListProblemsWithContext is the same as ListProblems with the addition of +// the ability to pass a context and additional request options. +// +// See ListProblems 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 *ApplicationInsights) ListProblemsWithContext(ctx aws.Context, input *ListProblemsInput, opts ...request.Option) (*ListProblemsOutput, error) { + req, out := c.ListProblemsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListProblemsPages iterates over the pages of a ListProblems operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProblems 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 ListProblems operation. +// pageNum := 0 +// err := client.ListProblemsPages(params, +// func(page *applicationinsights.ListProblemsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ApplicationInsights) ListProblemsPages(input *ListProblemsInput, fn func(*ListProblemsOutput, bool) bool) error { + return c.ListProblemsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProblemsPagesWithContext same as ListProblemsPages 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 *ApplicationInsights) ListProblemsPagesWithContext(ctx aws.Context, input *ListProblemsInput, fn func(*ListProblemsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProblemsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProblemsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProblemsOutput), !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/application-insights-2018-11-25/ListTagsForResource +func (c *ApplicationInsights) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon CloudWatch Application Insights. +// +// Retrieve a list of the tags (keys and values) that are associated with a +// specified application. A tag is a label that you optionally define and associate +// with an application. Each tag consists of a required tag key and an optional +// associated tag value. A tag key is a general label that acts as a category +// for more specific tag values. A tag value acts as a descriptor within a tag +// key. +// +// 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 CloudWatch Application Insights's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/ListTagsForResource +func (c *ApplicationInsights) 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 *ApplicationInsights) 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 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/application-insights-2018-11-25/TagResource +func (c *ApplicationInsights) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon CloudWatch Application Insights. +// +// Add one or more tags (keys and values) to a specified application. A tag +// is a label that you optionally define and associate with an application. +// Tags can help you categorize and manage application in different ways, such +// as by purpose, owner, environment, or other criteria. +// +// Each tag consists of a required tag key and an associated tag value, both +// of which you define. A tag key is a general label that acts as a category +// for more specific tag values. A tag value acts as a descriptor within a tag +// key. +// +// 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 CloudWatch Application Insights's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// The number of the provided tags is beyond the limit, or the number of total +// tags you are trying to attach to the specified resource exceeds the limit. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/TagResource +func (c *ApplicationInsights) 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 *ApplicationInsights) 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/application-insights-2018-11-25/UntagResource +func (c *ApplicationInsights) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon CloudWatch Application Insights. +// +// Remove one or more tags (keys and values) from a specified application. +// +// 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 CloudWatch Application Insights's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UntagResource +func (c *ApplicationInsights) 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 *ApplicationInsights) 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 opUpdateApplication = "UpdateApplication" + +// UpdateApplicationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApplication 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 UpdateApplication for more information on using the UpdateApplication +// 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 UpdateApplicationRequest method. +// req, resp := client.UpdateApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateApplication +func (c *ApplicationInsights) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) { + op := &request.Operation{ + Name: opUpdateApplication, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateApplicationInput{} + } + + output = &UpdateApplicationOutput{} req = c.newRequest(op, input, output) return } @@ -1563,63 +2380,151 @@ func (c *ApplicationInsights) UpdateComponentWithContext(ctx aws.Context, input return out, req.Send() } -const opUpdateComponentConfiguration = "UpdateComponentConfiguration" +const opUpdateComponentConfiguration = "UpdateComponentConfiguration" + +// UpdateComponentConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateComponentConfiguration 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 UpdateComponentConfiguration for more information on using the UpdateComponentConfiguration +// 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 UpdateComponentConfigurationRequest method. +// req, resp := client.UpdateComponentConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponentConfiguration +func (c *ApplicationInsights) UpdateComponentConfigurationRequest(input *UpdateComponentConfigurationInput) (req *request.Request, output *UpdateComponentConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateComponentConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateComponentConfigurationInput{} + } + + output = &UpdateComponentConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateComponentConfiguration API operation for Amazon CloudWatch Application Insights. +// +// Updates the monitoring configurations for the component. The configuration +// input parameter is an escaped JSON of the configuration and should match +// the schema of what is returned by DescribeComponentConfigurationRecommendation. +// +// 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 CloudWatch Application Insights's +// API operation UpdateComponentConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource does not exist in the customer account. +// +// * ErrCodeValidationException "ValidationException" +// The parameter is not valid. +// +// * ErrCodeInternalServerException "InternalServerException" +// The server encountered an internal error and is unable to complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponentConfiguration +func (c *ApplicationInsights) UpdateComponentConfiguration(input *UpdateComponentConfigurationInput) (*UpdateComponentConfigurationOutput, error) { + req, out := c.UpdateComponentConfigurationRequest(input) + return out, req.Send() +} + +// UpdateComponentConfigurationWithContext is the same as UpdateComponentConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateComponentConfiguration 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 *ApplicationInsights) UpdateComponentConfigurationWithContext(ctx aws.Context, input *UpdateComponentConfigurationInput, opts ...request.Option) (*UpdateComponentConfigurationOutput, error) { + req, out := c.UpdateComponentConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLogPattern = "UpdateLogPattern" -// UpdateComponentConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateComponentConfiguration operation. The "output" return +// UpdateLogPatternRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLogPattern 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 UpdateComponentConfiguration for more information on using the UpdateComponentConfiguration +// See UpdateLogPattern for more information on using the UpdateLogPattern // 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 UpdateComponentConfigurationRequest method. -// req, resp := client.UpdateComponentConfigurationRequest(params) +// // Example sending a request using the UpdateLogPatternRequest method. +// req, resp := client.UpdateLogPatternRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponentConfiguration -func (c *ApplicationInsights) UpdateComponentConfigurationRequest(input *UpdateComponentConfigurationInput) (req *request.Request, output *UpdateComponentConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateLogPattern +func (c *ApplicationInsights) UpdateLogPatternRequest(input *UpdateLogPatternInput) (req *request.Request, output *UpdateLogPatternOutput) { op := &request.Operation{ - Name: opUpdateComponentConfiguration, + Name: opUpdateLogPattern, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateComponentConfigurationInput{} + input = &UpdateLogPatternInput{} } - output = &UpdateComponentConfigurationOutput{} + output = &UpdateLogPatternOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateComponentConfiguration API operation for Amazon CloudWatch Application Insights. +// UpdateLogPattern API operation for Amazon CloudWatch Application Insights. // -// Updates the monitoring configurations for the component. The configuration -// input parameter is an escaped JSON of the configuration and should match -// the schema of what is returned by DescribeComponentConfigurationRecommendation. +// Adds a log pattern to a LogPatternSet. // // 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 CloudWatch Application Insights's -// API operation UpdateComponentConfiguration for usage and error information. +// API operation UpdateLogPattern for usage and error information. // // Returned Error Codes: +// * ErrCodeResourceInUseException "ResourceInUseException" +// The resource is already created or in use. +// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The resource does not exist in the customer account. // @@ -1629,23 +2534,23 @@ func (c *ApplicationInsights) UpdateComponentConfigurationRequest(input *UpdateC // * ErrCodeInternalServerException "InternalServerException" // The server encountered an internal error and is unable to complete the request. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateComponentConfiguration -func (c *ApplicationInsights) UpdateComponentConfiguration(input *UpdateComponentConfigurationInput) (*UpdateComponentConfigurationOutput, error) { - req, out := c.UpdateComponentConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/application-insights-2018-11-25/UpdateLogPattern +func (c *ApplicationInsights) UpdateLogPattern(input *UpdateLogPatternInput) (*UpdateLogPatternOutput, error) { + req, out := c.UpdateLogPatternRequest(input) return out, req.Send() } -// UpdateComponentConfigurationWithContext is the same as UpdateComponentConfiguration with the addition of +// UpdateLogPatternWithContext is the same as UpdateLogPattern with the addition of // the ability to pass a context and additional request options. // -// See UpdateComponentConfiguration for details on how to use this API operation. +// See UpdateLogPattern 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 *ApplicationInsights) UpdateComponentConfigurationWithContext(ctx aws.Context, input *UpdateComponentConfigurationInput, opts ...request.Option) (*UpdateComponentConfigurationOutput, error) { - req, out := c.UpdateComponentConfigurationRequest(input) +func (c *ApplicationInsights) UpdateLogPatternWithContext(ctx aws.Context, input *UpdateLogPatternInput, opts ...request.Option) (*UpdateLogPatternOutput, error) { + req, out := c.UpdateLogPatternRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -1667,7 +2572,7 @@ type ApplicationComponent struct { ResourceType *string `type:"string"` // The stack tier of the application component. - Tier *string `type:"string"` + Tier *string `min:"1" type:"string" enum:"Tier"` } // String returns the string representation @@ -1717,14 +2622,14 @@ type ApplicationInfo struct { // The SNS topic provided to Application Insights that is associated to the // created opsItems to receive SNS notifications for opsItem updates. - OpsItemSNSTopicArn *string `type:"string"` + OpsItemSNSTopicArn *string `min:"20" type:"string"` // The issues on the user side that block Application Insights from successfully // monitoring an application. Remarks *string `type:"string"` // The name of the resource group used for the application. - ResourceGroupName *string `type:"string"` + ResourceGroupName *string `min:"1" type:"string"` } // String returns the string representation @@ -1775,12 +2680,17 @@ type CreateApplicationInput struct { // The SNS topic provided to Application Insights that is associated to the // created opsItem. Allows you to receive notifications for updates to the opsItem. - OpsItemSNSTopicArn *string `type:"string"` + OpsItemSNSTopicArn *string `min:"20" type:"string"` // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` + + // List of tags to add to the application. tag key (Key) and an associated tag + // value (Value). The maximum length of a tag key is 128 characters. The maximum + // length of a tag value is 256 characters. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -1796,9 +2706,25 @@ func (s CreateApplicationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateApplicationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"} + if s.OpsItemSNSTopicArn != nil && len(*s.OpsItemSNSTopicArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("OpsItemSNSTopicArn", 20)) + } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + 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 @@ -1824,6 +2750,12 @@ func (s *CreateApplicationInput) SetResourceGroupName(v string) *CreateApplicati return s } +// SetTags sets the Tags field's value. +func (s *CreateApplicationInput) SetTags(v []*Tag) *CreateApplicationInput { + s.Tags = v + return s +} + type CreateApplicationOutput struct { _ struct{} `type:"structure"` @@ -1858,7 +2790,7 @@ type CreateComponentInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` // The list of resource ARNs that belong to the component. // @@ -1885,6 +2817,9 @@ func (s *CreateComponentInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if s.ResourceList == nil { invalidParams.Add(request.NewErrParamRequired("ResourceList")) } @@ -1927,13 +2862,151 @@ func (s CreateComponentOutput) GoString() string { return s.String() } +type CreateLogPatternInput struct { + _ struct{} `type:"structure"` + + // The log pattern. + // + // Pattern is a required field + Pattern *string `min:"1" type:"string" required:"true"` + + // The name of the log pattern. + // + // PatternName is a required field + PatternName *string `min:"1" type:"string" required:"true"` + + // The name of the log pattern set. + // + // PatternSetName is a required field + PatternSetName *string `min:"1" type:"string" required:"true"` + + // Rank of the log pattern. + // + // Rank is a required field + Rank *int64 `type:"integer" required:"true"` + + // The name of the resource group. + // + // ResourceGroupName is a required field + ResourceGroupName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateLogPatternInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLogPatternInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLogPatternInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLogPatternInput"} + if s.Pattern == nil { + invalidParams.Add(request.NewErrParamRequired("Pattern")) + } + if s.Pattern != nil && len(*s.Pattern) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Pattern", 1)) + } + if s.PatternName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternName")) + } + if s.PatternName != nil && len(*s.PatternName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternName", 1)) + } + if s.PatternSetName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternSetName")) + } + if s.PatternSetName != nil && len(*s.PatternSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1)) + } + if s.Rank == nil { + invalidParams.Add(request.NewErrParamRequired("Rank")) + } + if s.ResourceGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) + } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPattern sets the Pattern field's value. +func (s *CreateLogPatternInput) SetPattern(v string) *CreateLogPatternInput { + s.Pattern = &v + return s +} + +// SetPatternName sets the PatternName field's value. +func (s *CreateLogPatternInput) SetPatternName(v string) *CreateLogPatternInput { + s.PatternName = &v + return s +} + +// SetPatternSetName sets the PatternSetName field's value. +func (s *CreateLogPatternInput) SetPatternSetName(v string) *CreateLogPatternInput { + s.PatternSetName = &v + return s +} + +// SetRank sets the Rank field's value. +func (s *CreateLogPatternInput) SetRank(v int64) *CreateLogPatternInput { + s.Rank = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *CreateLogPatternInput) SetResourceGroupName(v string) *CreateLogPatternInput { + s.ResourceGroupName = &v + return s +} + +type CreateLogPatternOutput struct { + _ struct{} `type:"structure"` + + // The successfully created log pattern. + LogPattern *LogPattern `type:"structure"` + + // The name of the resource group. + ResourceGroupName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateLogPatternOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLogPatternOutput) GoString() string { + return s.String() +} + +// SetLogPattern sets the LogPattern field's value. +func (s *CreateLogPatternOutput) SetLogPattern(v *LogPattern) *CreateLogPatternOutput { + s.LogPattern = v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *CreateLogPatternOutput) SetResourceGroupName(v string) *CreateLogPatternOutput { + s.ResourceGroupName = &v + return s +} + type DeleteApplicationInput struct { _ struct{} `type:"structure"` // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -1952,6 +3025,9 @@ func (s *DeleteApplicationInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -1990,7 +3066,7 @@ type DeleteComponentInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -2012,6 +3088,9 @@ func (s *DeleteComponentInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2045,13 +3124,102 @@ func (s DeleteComponentOutput) GoString() string { return s.String() } +type DeleteLogPatternInput struct { + _ struct{} `type:"structure"` + + // The name of the log pattern. + // + // PatternName is a required field + PatternName *string `min:"1" type:"string" required:"true"` + + // The name of the log pattern set. + // + // PatternSetName is a required field + PatternSetName *string `min:"1" type:"string" required:"true"` + + // The name of the resource group. + // + // ResourceGroupName is a required field + ResourceGroupName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteLogPatternInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteLogPatternInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteLogPatternInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLogPatternInput"} + if s.PatternName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternName")) + } + if s.PatternName != nil && len(*s.PatternName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternName", 1)) + } + if s.PatternSetName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternSetName")) + } + if s.PatternSetName != nil && len(*s.PatternSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1)) + } + if s.ResourceGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) + } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPatternName sets the PatternName field's value. +func (s *DeleteLogPatternInput) SetPatternName(v string) *DeleteLogPatternInput { + s.PatternName = &v + return s +} + +// SetPatternSetName sets the PatternSetName field's value. +func (s *DeleteLogPatternInput) SetPatternSetName(v string) *DeleteLogPatternInput { + s.PatternSetName = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *DeleteLogPatternInput) SetResourceGroupName(v string) *DeleteLogPatternInput { + s.ResourceGroupName = &v + return s +} + +type DeleteLogPatternOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteLogPatternOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteLogPatternOutput) GoString() string { + return s.String() +} + type DescribeApplicationInput struct { _ struct{} `type:"structure"` // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -2070,6 +3238,9 @@ func (s *DescribeApplicationInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2117,7 +3288,7 @@ type DescribeComponentConfigurationInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -2139,6 +3310,9 @@ func (s *DescribeComponentConfigurationInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2163,14 +3337,14 @@ type DescribeComponentConfigurationOutput struct { // The configuration settings of the component. The value is the escaped JSON // of the configuration. - ComponentConfiguration *string `type:"string"` + ComponentConfiguration *string `min:"1" type:"string"` // Indicates whether the application component is monitored. Monitor *bool `type:"boolean"` - // The tier of the application component. Supported tiers include DOT_NET_WORKER, - // DOT_NET_WEB, SQL_SERVER, and DEFAULT - Tier *string `type:"string"` + // The tier of the application component. Supported tiers include DOT_NET_CORE, + // DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT + Tier *string `min:"1" type:"string" enum:"Tier"` } // String returns the string representation @@ -2212,13 +3386,13 @@ type DescribeComponentConfigurationRecommendationInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` - // The tier of the application component. Supported tiers include DOT_NET_WORKER, - // DOT_NET_WEB, SQL_SERVER, and DEFAULT. + // The tier of the application component. Supported tiers include DOT_NET_CORE, + // DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT. // // Tier is a required field - Tier *string `type:"string" required:"true"` + Tier *string `min:"1" type:"string" required:"true" enum:"Tier"` } // String returns the string representation @@ -2240,9 +3414,15 @@ func (s *DescribeComponentConfigurationRecommendationInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if s.Tier == nil { invalidParams.Add(request.NewErrParamRequired("Tier")) } + if s.Tier != nil && len(*s.Tier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tier", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2273,7 +3453,7 @@ type DescribeComponentConfigurationRecommendationOutput struct { // The recommended configuration settings of the component. The value is the // escaped JSON of the configuration. - ComponentConfiguration *string `type:"string"` + ComponentConfiguration *string `min:"1" type:"string"` } // String returns the string representation @@ -2303,7 +3483,7 @@ type DescribeComponentInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -2325,6 +3505,9 @@ func (s *DescribeComponentInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2377,13 +3560,120 @@ func (s *DescribeComponentOutput) SetResourceList(v []*string) *DescribeComponen return s } +type DescribeLogPatternInput struct { + _ struct{} `type:"structure"` + + // The name of the log pattern. + // + // PatternName is a required field + PatternName *string `min:"1" type:"string" required:"true"` + + // The name of the log pattern set. + // + // PatternSetName is a required field + PatternSetName *string `min:"1" type:"string" required:"true"` + + // The name of the resource group. + // + // ResourceGroupName is a required field + ResourceGroupName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeLogPatternInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLogPatternInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeLogPatternInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLogPatternInput"} + if s.PatternName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternName")) + } + if s.PatternName != nil && len(*s.PatternName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternName", 1)) + } + if s.PatternSetName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternSetName")) + } + if s.PatternSetName != nil && len(*s.PatternSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1)) + } + if s.ResourceGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) + } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPatternName sets the PatternName field's value. +func (s *DescribeLogPatternInput) SetPatternName(v string) *DescribeLogPatternInput { + s.PatternName = &v + return s +} + +// SetPatternSetName sets the PatternSetName field's value. +func (s *DescribeLogPatternInput) SetPatternSetName(v string) *DescribeLogPatternInput { + s.PatternSetName = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *DescribeLogPatternInput) SetResourceGroupName(v string) *DescribeLogPatternInput { + s.ResourceGroupName = &v + return s +} + +type DescribeLogPatternOutput struct { + _ struct{} `type:"structure"` + + // The successfully created log pattern. + LogPattern *LogPattern `type:"structure"` + + // The name of the resource group. + ResourceGroupName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeLogPatternOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLogPatternOutput) GoString() string { + return s.String() +} + +// SetLogPattern sets the LogPattern field's value. +func (s *DescribeLogPatternOutput) SetLogPattern(v *LogPattern) *DescribeLogPatternOutput { + s.LogPattern = v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *DescribeLogPatternOutput) SetResourceGroupName(v string) *DescribeLogPatternOutput { + s.ResourceGroupName = &v + return s +} + type DescribeObservationInput struct { _ struct{} `type:"structure"` // The ID of the observation. // // ObservationId is a required field - ObservationId *string `type:"string" required:"true"` + ObservationId *string `min:"38" type:"string" required:"true"` } // String returns the string representation @@ -2402,6 +3692,9 @@ func (s *DescribeObservationInput) Validate() error { if s.ObservationId == nil { invalidParams.Add(request.NewErrParamRequired("ObservationId")) } + if s.ObservationId != nil && len(*s.ObservationId) < 38 { + invalidParams.Add(request.NewErrParamMinLen("ObservationId", 38)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2444,7 +3737,7 @@ type DescribeProblemInput struct { // The ID of the problem. // // ProblemId is a required field - ProblemId *string `type:"string" required:"true"` + ProblemId *string `min:"38" type:"string" required:"true"` } // String returns the string representation @@ -2463,6 +3756,9 @@ func (s *DescribeProblemInput) Validate() error { if s.ProblemId == nil { invalidParams.Add(request.NewErrParamRequired("ProblemId")) } + if s.ProblemId != nil && len(*s.ProblemId) < 38 { + invalidParams.Add(request.NewErrParamMinLen("ProblemId", 38)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2482,7 +3778,7 @@ type DescribeProblemObservationsInput struct { // The ID of the problem. // // ProblemId is a required field - ProblemId *string `type:"string" required:"true"` + ProblemId *string `min:"38" type:"string" required:"true"` } // String returns the string representation @@ -2501,6 +3797,9 @@ func (s *DescribeProblemObservationsInput) Validate() error { if s.ProblemId == nil { invalidParams.Add(request.NewErrParamRequired("ProblemId")) } + if s.ProblemId != nil && len(*s.ProblemId) < 38 { + invalidParams.Add(request.NewErrParamMinLen("ProblemId", 38)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2652,7 +3951,7 @@ type ListComponentsInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -2674,6 +3973,9 @@ func (s *ListComponentsInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2731,6 +4033,228 @@ func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput { return s } +type ListLogPatternSetsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return in a single call. To retrieve the + // remaining results, make another call with the returned NextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The token to request the next page of results. + NextToken *string `type:"string"` + + // The name of the resource group. + // + // ResourceGroupName is a required field + ResourceGroupName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListLogPatternSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLogPatternSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListLogPatternSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLogPatternSetsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) + } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListLogPatternSetsInput) SetMaxResults(v int64) *ListLogPatternSetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLogPatternSetsInput) SetNextToken(v string) *ListLogPatternSetsInput { + s.NextToken = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *ListLogPatternSetsInput) SetResourceGroupName(v string) *ListLogPatternSetsInput { + s.ResourceGroupName = &v + return s +} + +type ListLogPatternSetsOutput struct { + _ struct{} `type:"structure"` + + // The list of log pattern sets. + LogPatternSets []*string `type:"list"` + + // The token used to retrieve the next page of results. This value is null when + // there are no more results to return. + NextToken *string `type:"string"` + + // The name of the resource group. + ResourceGroupName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListLogPatternSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLogPatternSetsOutput) GoString() string { + return s.String() +} + +// SetLogPatternSets sets the LogPatternSets field's value. +func (s *ListLogPatternSetsOutput) SetLogPatternSets(v []*string) *ListLogPatternSetsOutput { + s.LogPatternSets = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLogPatternSetsOutput) SetNextToken(v string) *ListLogPatternSetsOutput { + s.NextToken = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *ListLogPatternSetsOutput) SetResourceGroupName(v string) *ListLogPatternSetsOutput { + s.ResourceGroupName = &v + return s +} + +type ListLogPatternsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return in a single call. To retrieve the + // remaining results, make another call with the returned NextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The token to request the next page of results. + NextToken *string `type:"string"` + + // The name of the log pattern set. + PatternSetName *string `min:"1" type:"string"` + + // The name of the resource group. + // + // ResourceGroupName is a required field + ResourceGroupName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListLogPatternsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLogPatternsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListLogPatternsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLogPatternsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.PatternSetName != nil && len(*s.PatternSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1)) + } + if s.ResourceGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) + } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListLogPatternsInput) SetMaxResults(v int64) *ListLogPatternsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLogPatternsInput) SetNextToken(v string) *ListLogPatternsInput { + s.NextToken = &v + return s +} + +// SetPatternSetName sets the PatternSetName field's value. +func (s *ListLogPatternsInput) SetPatternSetName(v string) *ListLogPatternsInput { + s.PatternSetName = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *ListLogPatternsInput) SetResourceGroupName(v string) *ListLogPatternsInput { + s.ResourceGroupName = &v + return s +} + +type ListLogPatternsOutput struct { + _ struct{} `type:"structure"` + + // The list of log patterns. + LogPatterns []*LogPattern `type:"list"` + + // The token used to retrieve the next page of results. This value is null when + // there are no more results to return. + NextToken *string `type:"string"` + + // The name of the resource group. + ResourceGroupName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListLogPatternsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLogPatternsOutput) GoString() string { + return s.String() +} + +// SetLogPatterns sets the LogPatterns field's value. +func (s *ListLogPatternsOutput) SetLogPatterns(v []*LogPattern) *ListLogPatternsOutput { + s.LogPatterns = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLogPatternsOutput) SetNextToken(v string) *ListLogPatternsOutput { + s.NextToken = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *ListLogPatternsOutput) SetResourceGroupName(v string) *ListLogPatternsOutput { + s.ResourceGroupName = &v + return s +} + type ListProblemsInput struct { _ struct{} `type:"structure"` @@ -2746,7 +4270,7 @@ type ListProblemsInput struct { NextToken *string `type:"string"` // The name of the resource group. - ResourceGroupName *string `type:"string"` + ResourceGroupName *string `min:"1" type:"string"` // The time when the problem was detected, in epoch seconds. If you don't specify // a time frame for the request, problems within the past seven days are returned. @@ -2769,6 +4293,9 @@ func (s *ListProblemsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2788,54 +4315,177 @@ func (s *ListProblemsInput) SetMaxResults(v int64) *ListProblemsInput { return s } -// SetNextToken sets the NextToken field's value. -func (s *ListProblemsInput) SetNextToken(v string) *ListProblemsInput { - s.NextToken = &v - return s +// SetNextToken sets the NextToken field's value. +func (s *ListProblemsInput) SetNextToken(v string) *ListProblemsInput { + s.NextToken = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *ListProblemsInput) SetResourceGroupName(v string) *ListProblemsInput { + s.ResourceGroupName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ListProblemsInput) SetStartTime(v time.Time) *ListProblemsInput { + s.StartTime = &v + return s +} + +type ListProblemsOutput struct { + _ struct{} `type:"structure"` + + // The token used to retrieve the next page of results. This value is null when + // there are no more results to return. + NextToken *string `type:"string"` + + // The list of problems. + ProblemList []*Problem `type:"list"` +} + +// String returns the string representation +func (s ListProblemsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProblemsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProblemsOutput) SetNextToken(v string) *ListProblemsOutput { + s.NextToken = &v + return s +} + +// SetProblemList sets the ProblemList field's value. +func (s *ListProblemsOutput) SetProblemList(v []*Problem) *ListProblemsOutput { + s.ProblemList = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the application that you want to retrieve + // tag information for. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" 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) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + + 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"` + + // An array that lists all the tags that are associated with the application. + // Each tag consists of a required tag key (Key) and an associated tag value + // (Value). + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) } -// SetResourceGroupName sets the ResourceGroupName field's value. -func (s *ListProblemsInput) SetResourceGroupName(v string) *ListProblemsInput { - s.ResourceGroupName = &v - return s +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() } -// SetStartTime sets the StartTime field's value. -func (s *ListProblemsInput) SetStartTime(v time.Time) *ListProblemsInput { - s.StartTime = &v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v return s } -type ListProblemsOutput struct { +// An object that defines the log patterns that belongs to a LogPatternSet. +type LogPattern struct { _ struct{} `type:"structure"` - // The token used to retrieve the next page of results. This value is null when - // there are no more results to return. - NextToken *string `type:"string"` + // A regular expression that defines the log pattern. A log pattern can contains + // at many as 50 characters, and it cannot be empty. + Pattern *string `min:"1" type:"string"` - // The list of problems. - ProblemList []*Problem `type:"list"` + // The name of the log pattern. A log pattern name can contains at many as 50 + // characters, and it cannot be empty. The characters can be Unicode letters, + // digits or one of the following symbols: period, dash, underscore. + PatternName *string `min:"1" type:"string"` + + // The name of the log pattern. A log pattern name can contains at many as 30 + // characters, and it cannot be empty. The characters can be Unicode letters, + // digits or one of the following symbols: period, dash, underscore. + PatternSetName *string `min:"1" type:"string"` + + // Rank of the log pattern. + Rank *int64 `type:"integer"` } // String returns the string representation -func (s ListProblemsOutput) String() string { +func (s LogPattern) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListProblemsOutput) GoString() string { +func (s LogPattern) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListProblemsOutput) SetNextToken(v string) *ListProblemsOutput { - s.NextToken = &v +// SetPattern sets the Pattern field's value. +func (s *LogPattern) SetPattern(v string) *LogPattern { + s.Pattern = &v return s } -// SetProblemList sets the ProblemList field's value. -func (s *ListProblemsOutput) SetProblemList(v []*Problem) *ListProblemsOutput { - s.ProblemList = v +// SetPatternName sets the PatternName field's value. +func (s *LogPattern) SetPatternName(v string) *LogPattern { + s.PatternName = &v + return s +} + +// SetPatternSetName sets the PatternSetName field's value. +func (s *LogPattern) SetPatternSetName(v string) *LogPattern { + s.PatternSetName = &v + return s +} + +// SetRank sets the Rank field's value. +func (s *LogPattern) SetRank(v int64) *LogPattern { + s.Rank = &v return s } @@ -2847,7 +4497,7 @@ type Observation struct { EndTime *time.Time `type:"timestamp"` // The ID of the observation type. - Id *string `type:"string"` + Id *string `min:"38" type:"string"` // The timestamp in the CloudWatch Logs that specifies when the matched line // occurred. @@ -2986,13 +4636,13 @@ type Problem struct { Feedback map[string]*string `type:"map"` // The ID of the problem. - Id *string `type:"string"` + Id *string `min:"38" type:"string"` // A detailed analysis of the problem using machine learning. Insights *string `type:"string"` // The name of the resource group affected by the problem. - ResourceGroupName *string `type:"string"` + ResourceGroupName *string `min:"1" type:"string"` // A measure of the level of impact of the problem. SeverityLevel *string `type:"string" enum:"SeverityLevel"` @@ -3101,6 +4751,242 @@ func (s *RelatedObservations) SetObservationList(v []*Observation) *RelatedObser return s } +// An object that defines the tags associated with an application. A tag is +// a label that you optionally define and associate with an application. Tags +// can help you categorize and manage resources in different ways, such as by +// purpose, owner, environment, or other criteria. +// +// Each tag consists of a required tag key and an associated tag value, both +// of which you define. A tag key is a general label that acts as a category +// for a more specific tag value. A tag value acts as a descriptor within a +// tag key. A tag key can contain as many as 128 characters. A tag value can +// contain as many as 256 characters. The characters can be Unicode letters, +// digits, white space, or one of the following symbols: _ . : / = + -. The +// following additional restrictions apply to tags: +// +// * Tag keys and values are case sensitive. +// +// * For each associated resource, each tag key must be unique and it can +// have only one value. +// +// * The aws: prefix is reserved for use by AWS; you can’t use it in any +// tag keys or values that you define. In addition, you can't edit or remove +// tag keys or values that use this prefix. +type Tag struct { + _ struct{} `type:"structure"` + + // One part of a key-value pair that defines a tag. The maximum length of a + // tag key is 128 characters. The minimum length is 1 character. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The optional part of a key-value pair that defines a tag. The maximum length + // of a tag value is 256 characters. The minimum length is 0 characters. If + // you don't want an application to have a specific tag value, don't specify + // a value for this parameter. + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the application that you want to add one + // or more tags to. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // A list of tags that to add to the application. A tag consists of a required + // tag key (Key) and an associated tag value (Value). The maximum length of + // a tag key is 128 characters. The maximum length of a tag value is 256 characters. + // + // Tags is a required field + Tags []*Tag `type:"list" 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) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + 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 +} + +// 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 []*Tag) *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() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the application that you want to remove + // one or more tags from. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The tags (tag keys) that you want to remove from the resource. When you specify + // a tag key, the action removes both that key and its associated tag value. + // + // To remove more than one tag from the application, append the TagKeys parameter + // and argument for each additional tag to remove, separated by an ampersand. + // + // TagKeys is a required field + TagKeys []*string `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) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + 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 UpdateApplicationInput struct { _ struct{} `type:"structure"` @@ -3109,7 +4995,7 @@ type UpdateApplicationInput struct { // The SNS topic provided to Application Insights that is associated to the // created opsItem. Allows you to receive notifications for updates to the opsItem. - OpsItemSNSTopicArn *string `type:"string"` + OpsItemSNSTopicArn *string `min:"20" type:"string"` // Disassociates the SNS topic from the opsItem created for detected problems. RemoveSNSTopic *bool `type:"boolean"` @@ -3117,7 +5003,7 @@ type UpdateApplicationInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -3133,9 +5019,15 @@ func (s UpdateApplicationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateApplicationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"} + if s.OpsItemSNSTopicArn != nil && len(*s.OpsItemSNSTopicArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("OpsItemSNSTopicArn", 20)) + } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3197,8 +5089,9 @@ type UpdateComponentConfigurationInput struct { // of the configuration. For more information about the JSON format, see Working // with JSON (https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/working-with-json.html). // You can send a request to DescribeComponentConfigurationRecommendation to - // see the recommended configuration for a component. - ComponentConfiguration *string `type:"string"` + // see the recommended configuration for a component. For the complete format + // of the component configuration file, see Component Configuration (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/component-config.html). + ComponentConfiguration *string `min:"1" type:"string"` // The name of the component. // @@ -3211,11 +5104,11 @@ type UpdateComponentConfigurationInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` // The tier of the application component. Supported tiers include DOT_NET_WORKER, - // DOT_NET_WEB, SQL_SERVER, and DEFAULT. - Tier *string `type:"string"` + // DOT_NET_WEB, DOT_NET_CORE, SQL_SERVER, and DEFAULT. + Tier *string `min:"1" type:"string" enum:"Tier"` } // String returns the string representation @@ -3231,12 +5124,21 @@ func (s UpdateComponentConfigurationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateComponentConfigurationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateComponentConfigurationInput"} + if s.ComponentConfiguration != nil && len(*s.ComponentConfiguration) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentConfiguration", 1)) + } if s.ComponentName == nil { invalidParams.Add(request.NewErrParamRequired("ComponentName")) } if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + if s.Tier != nil && len(*s.Tier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tier", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3302,7 +5204,7 @@ type UpdateComponentInput struct { // The name of the resource group. // // ResourceGroupName is a required field - ResourceGroupName *string `type:"string" required:"true"` + ResourceGroupName *string `min:"1" type:"string" required:"true"` // The list of resource ARNs that belong to the component. ResourceList []*string `type:"list"` @@ -3327,6 +5229,9 @@ func (s *UpdateComponentInput) Validate() error { if s.ResourceGroupName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3372,6 +5277,134 @@ func (s UpdateComponentOutput) GoString() string { return s.String() } +type UpdateLogPatternInput struct { + _ struct{} `type:"structure"` + + // The log pattern. + Pattern *string `min:"1" type:"string"` + + // The name of the log pattern. + // + // PatternName is a required field + PatternName *string `min:"1" type:"string" required:"true"` + + // The name of the log pattern set. + // + // PatternSetName is a required field + PatternSetName *string `min:"1" type:"string" required:"true"` + + // Rank of the log pattern. + Rank *int64 `type:"integer"` + + // The name of the resource group. + // + // ResourceGroupName is a required field + ResourceGroupName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateLogPatternInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLogPatternInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateLogPatternInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLogPatternInput"} + if s.Pattern != nil && len(*s.Pattern) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Pattern", 1)) + } + if s.PatternName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternName")) + } + if s.PatternName != nil && len(*s.PatternName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternName", 1)) + } + if s.PatternSetName == nil { + invalidParams.Add(request.NewErrParamRequired("PatternSetName")) + } + if s.PatternSetName != nil && len(*s.PatternSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PatternSetName", 1)) + } + if s.ResourceGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceGroupName")) + } + if s.ResourceGroupName != nil && len(*s.ResourceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPattern sets the Pattern field's value. +func (s *UpdateLogPatternInput) SetPattern(v string) *UpdateLogPatternInput { + s.Pattern = &v + return s +} + +// SetPatternName sets the PatternName field's value. +func (s *UpdateLogPatternInput) SetPatternName(v string) *UpdateLogPatternInput { + s.PatternName = &v + return s +} + +// SetPatternSetName sets the PatternSetName field's value. +func (s *UpdateLogPatternInput) SetPatternSetName(v string) *UpdateLogPatternInput { + s.PatternSetName = &v + return s +} + +// SetRank sets the Rank field's value. +func (s *UpdateLogPatternInput) SetRank(v int64) *UpdateLogPatternInput { + s.Rank = &v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *UpdateLogPatternInput) SetResourceGroupName(v string) *UpdateLogPatternInput { + s.ResourceGroupName = &v + return s +} + +type UpdateLogPatternOutput struct { + _ struct{} `type:"structure"` + + // The successfully created log pattern. + LogPattern *LogPattern `type:"structure"` + + // The name of the resource group. + ResourceGroupName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateLogPatternOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLogPatternOutput) GoString() string { + return s.String() +} + +// SetLogPattern sets the LogPattern field's value. +func (s *UpdateLogPatternOutput) SetLogPattern(v *LogPattern) *UpdateLogPatternOutput { + s.LogPattern = v + return s +} + +// SetResourceGroupName sets the ResourceGroupName field's value. +func (s *UpdateLogPatternOutput) SetResourceGroupName(v string) *UpdateLogPatternOutput { + s.ResourceGroupName = &v + return s +} + const ( // FeedbackKeyInsightsFeedback is a FeedbackKey enum value FeedbackKeyInsightsFeedback = "INSIGHTS_FEEDBACK" @@ -3401,13 +5434,13 @@ const ( const ( // SeverityLevelLow is a SeverityLevel enum value - SeverityLevelLow = "LOW" + SeverityLevelLow = "Low" // SeverityLevelMedium is a SeverityLevel enum value - SeverityLevelMedium = "MEDIUM" + SeverityLevelMedium = "Medium" // SeverityLevelHigh is a SeverityLevel enum value - SeverityLevelHigh = "HIGH" + SeverityLevelHigh = "High" ) const ( @@ -3420,3 +5453,20 @@ const ( // StatusPending is a Status enum value StatusPending = "PENDING" ) + +const ( + // TierDefault is a Tier enum value + TierDefault = "DEFAULT" + + // TierDotNetCore is a Tier enum value + TierDotNetCore = "DOT_NET_CORE" + + // TierDotNetWorker is a Tier enum value + TierDotNetWorker = "DOT_NET_WORKER" + + // TierDotNetWeb is a Tier enum value + TierDotNetWeb = "DOT_NET_WEB" + + // TierSqlServer is a Tier enum value + TierSqlServer = "SQL_SERVER" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationinsights/errors.go b/vendor/github.com/aws/aws-sdk-go/service/applicationinsights/errors.go index c75e208d9456..aa8c59349d2d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationinsights/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationinsights/errors.go @@ -28,6 +28,19 @@ const ( // The resource does not exist in the customer account. ErrCodeResourceNotFoundException = "ResourceNotFoundException" + // ErrCodeTagsAlreadyExistException for service response error code + // "TagsAlreadyExistException". + // + // Tags are already registered for the specified application ARN. + ErrCodeTagsAlreadyExistException = "TagsAlreadyExistException" + + // ErrCodeTooManyTagsException for service response error code + // "TooManyTagsException". + // + // The number of the provided tags is beyond the limit, or the number of total + // tags you are trying to attach to the specified resource exceeds the limit. + ErrCodeTooManyTagsException = "TooManyTagsException" + // ErrCodeValidationException for service response error code // "ValidationException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/appsync/api.go b/vendor/github.com/aws/aws-sdk-go/service/appsync/api.go index 42881d356190..bc2dbaefa61b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appsync/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appsync/api.go @@ -12,6 +12,100 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" ) +const opCreateApiCache = "CreateApiCache" + +// CreateApiCacheRequest generates a "aws/request.Request" representing the +// client's request for the CreateApiCache 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 CreateApiCache for more information on using the CreateApiCache +// 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 CreateApiCacheRequest method. +// req, resp := client.CreateApiCacheRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiCache +func (c *AppSync) CreateApiCacheRequest(input *CreateApiCacheInput) (req *request.Request, output *CreateApiCacheOutput) { + op := &request.Operation{ + Name: opCreateApiCache, + HTTPMethod: "POST", + HTTPPath: "/v1/apis/{apiId}/ApiCaches", + } + + if input == nil { + input = &CreateApiCacheInput{} + } + + output = &CreateApiCacheOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateApiCache API operation for AWS AppSync. +// +// Creates a cache for the GraphQL 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. +// +// See the AWS API reference guide for AWS AppSync's +// API operation CreateApiCache for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request is not well formed. For example, a value is invalid or a required +// field is missing. Check the field values, and then try again. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Another modification is in progress at this time and it must complete before +// you can make your change. +// +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. Check the resource, +// and then try again. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal AWS AppSync error occurred. Try your request again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/CreateApiCache +func (c *AppSync) CreateApiCache(input *CreateApiCacheInput) (*CreateApiCacheOutput, error) { + req, out := c.CreateApiCacheRequest(input) + return out, req.Send() +} + +// CreateApiCacheWithContext is the same as CreateApiCache with the addition of +// the ability to pass a context and additional request options. +// +// See CreateApiCache 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 *AppSync) CreateApiCacheWithContext(ctx aws.Context, input *CreateApiCacheInput, opts ...request.Option) (*CreateApiCacheOutput, error) { + req, out := c.CreateApiCacheRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateApiKey = "CreateApiKey" // CreateApiKeyRequest generates a "aws/request.Request" representing the @@ -586,6 +680,101 @@ func (c *AppSync) CreateTypeWithContext(ctx aws.Context, input *CreateTypeInput, return out, req.Send() } +const opDeleteApiCache = "DeleteApiCache" + +// DeleteApiCacheRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApiCache 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 DeleteApiCache for more information on using the DeleteApiCache +// 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 DeleteApiCacheRequest method. +// req, resp := client.DeleteApiCacheRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiCache +func (c *AppSync) DeleteApiCacheRequest(input *DeleteApiCacheInput) (req *request.Request, output *DeleteApiCacheOutput) { + op := &request.Operation{ + Name: opDeleteApiCache, + HTTPMethod: "DELETE", + HTTPPath: "/v1/apis/{apiId}/ApiCaches", + } + + if input == nil { + input = &DeleteApiCacheInput{} + } + + output = &DeleteApiCacheOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteApiCache API operation for AWS AppSync. +// +// Deletes an ApiCache object. +// +// 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 AppSync's +// API operation DeleteApiCache for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request is not well formed. For example, a value is invalid or a required +// field is missing. Check the field values, and then try again. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Another modification is in progress at this time and it must complete before +// you can make your change. +// +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. Check the resource, +// and then try again. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal AWS AppSync error occurred. Try your request again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/DeleteApiCache +func (c *AppSync) DeleteApiCache(input *DeleteApiCacheInput) (*DeleteApiCacheOutput, error) { + req, out := c.DeleteApiCacheRequest(input) + return out, req.Send() +} + +// DeleteApiCacheWithContext is the same as DeleteApiCache with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApiCache 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 *AppSync) DeleteApiCacheWithContext(ctx aws.Context, input *DeleteApiCacheInput, opts ...request.Option) (*DeleteApiCacheOutput, error) { + req, out := c.DeleteApiCacheRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteApiKey = "DeleteApiKey" // DeleteApiKeyRequest generates a "aws/request.Request" representing the @@ -1147,6 +1336,195 @@ func (c *AppSync) DeleteTypeWithContext(ctx aws.Context, input *DeleteTypeInput, return out, req.Send() } +const opFlushApiCache = "FlushApiCache" + +// FlushApiCacheRequest generates a "aws/request.Request" representing the +// client's request for the FlushApiCache 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 FlushApiCache for more information on using the FlushApiCache +// 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 FlushApiCacheRequest method. +// req, resp := client.FlushApiCacheRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FlushApiCache +func (c *AppSync) FlushApiCacheRequest(input *FlushApiCacheInput) (req *request.Request, output *FlushApiCacheOutput) { + op := &request.Operation{ + Name: opFlushApiCache, + HTTPMethod: "DELETE", + HTTPPath: "/v1/apis/{apiId}/FlushCache", + } + + if input == nil { + input = &FlushApiCacheInput{} + } + + output = &FlushApiCacheOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// FlushApiCache API operation for AWS AppSync. +// +// Flushes an ApiCache object. +// +// 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 AppSync's +// API operation FlushApiCache for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request is not well formed. For example, a value is invalid or a required +// field is missing. Check the field values, and then try again. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Another modification is in progress at this time and it must complete before +// you can make your change. +// +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. Check the resource, +// and then try again. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal AWS AppSync error occurred. Try your request again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/FlushApiCache +func (c *AppSync) FlushApiCache(input *FlushApiCacheInput) (*FlushApiCacheOutput, error) { + req, out := c.FlushApiCacheRequest(input) + return out, req.Send() +} + +// FlushApiCacheWithContext is the same as FlushApiCache with the addition of +// the ability to pass a context and additional request options. +// +// See FlushApiCache 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 *AppSync) FlushApiCacheWithContext(ctx aws.Context, input *FlushApiCacheInput, opts ...request.Option) (*FlushApiCacheOutput, error) { + req, out := c.FlushApiCacheRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetApiCache = "GetApiCache" + +// GetApiCacheRequest generates a "aws/request.Request" representing the +// client's request for the GetApiCache 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 GetApiCache for more information on using the GetApiCache +// 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 GetApiCacheRequest method. +// req, resp := client.GetApiCacheRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApiCache +func (c *AppSync) GetApiCacheRequest(input *GetApiCacheInput) (req *request.Request, output *GetApiCacheOutput) { + op := &request.Operation{ + Name: opGetApiCache, + HTTPMethod: "GET", + HTTPPath: "/v1/apis/{apiId}/ApiCaches", + } + + if input == nil { + input = &GetApiCacheInput{} + } + + output = &GetApiCacheOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetApiCache API operation for AWS AppSync. +// +// Retrieves an ApiCache object. +// +// 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 AppSync's +// API operation GetApiCache for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request is not well formed. For example, a value is invalid or a required +// field is missing. Check the field values, and then try again. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Another modification is in progress at this time and it must complete before +// you can make your change. +// +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. Check the resource, +// and then try again. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal AWS AppSync error occurred. Try your request again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/GetApiCache +func (c *AppSync) GetApiCache(input *GetApiCacheInput) (*GetApiCacheOutput, error) { + req, out := c.GetApiCacheRequest(input) + return out, req.Send() +} + +// GetApiCacheWithContext is the same as GetApiCache with the addition of +// the ability to pass a context and additional request options. +// +// See GetApiCache 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 *AppSync) GetApiCacheWithContext(ctx aws.Context, input *GetApiCacheInput, opts ...request.Option) (*GetApiCacheOutput, error) { + req, out := c.GetApiCacheRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetDataSource = "GetDataSource" // GetDataSourceRequest generates a "aws/request.Request" representing the @@ -2802,6 +3180,100 @@ func (c *AppSync) UntagResourceWithContext(ctx aws.Context, input *UntagResource return out, req.Send() } +const opUpdateApiCache = "UpdateApiCache" + +// UpdateApiCacheRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApiCache 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 UpdateApiCache for more information on using the UpdateApiCache +// 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 UpdateApiCacheRequest method. +// req, resp := client.UpdateApiCacheRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiCache +func (c *AppSync) UpdateApiCacheRequest(input *UpdateApiCacheInput) (req *request.Request, output *UpdateApiCacheOutput) { + op := &request.Operation{ + Name: opUpdateApiCache, + HTTPMethod: "POST", + HTTPPath: "/v1/apis/{apiId}/ApiCaches/update", + } + + if input == nil { + input = &UpdateApiCacheInput{} + } + + output = &UpdateApiCacheOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateApiCache API operation for AWS AppSync. +// +// Updates the cache for the GraphQL 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. +// +// See the AWS API reference guide for AWS AppSync's +// API operation UpdateApiCache for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request is not well formed. For example, a value is invalid or a required +// field is missing. Check the field values, and then try again. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Another modification is in progress at this time and it must complete before +// you can make your change. +// +// * ErrCodeNotFoundException "NotFoundException" +// The resource specified in the request was not found. Check the resource, +// and then try again. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal AWS AppSync error occurred. Try your request again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appsync-2017-07-25/UpdateApiCache +func (c *AppSync) UpdateApiCache(input *UpdateApiCacheInput) (*UpdateApiCacheOutput, error) { + req, out := c.UpdateApiCacheRequest(input) + return out, req.Send() +} + +// UpdateApiCacheWithContext is the same as UpdateApiCache with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateApiCache 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 *AppSync) UpdateApiCacheWithContext(ctx aws.Context, input *UpdateApiCacheInput, opts ...request.Option) (*UpdateApiCacheOutput, error) { + req, out := c.UpdateApiCacheRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateApiKey = "UpdateApiKey" // UpdateApiKeyRequest generates a "aws/request.Request" representing the @@ -3426,6 +3898,105 @@ func (s *AdditionalAuthenticationProvider) SetUserPoolConfig(v *CognitoUserPoolC return s } +type ApiCache struct { + _ struct{} `type:"structure"` + + // Caching behavior. + // + // * FULL_REQUEST_CACHING: All requests are fully cached. + // + // * PER_RESOLVER_CACHING: Individual resovlers that you specify are cached. + ApiCachingBehavior *string `locationName:"apiCachingBehavior" type:"string" enum:"ApiCachingBehavior"` + + // At rest encryption flag for cache. This setting cannot be updated after creation. + AtRestEncryptionEnabled *bool `locationName:"atRestEncryptionEnabled" type:"boolean"` + + // The cache instance status. + // + // * AVAILABLE: The instance is available for use. + // + // * CREATING: The instance is currently creating. + // + // * DELETING: The instance is currently deleting. + // + // * MODIFYING: The instance is currently modifying. + // + // * FAILED: The instance has failed creation. + Status *string `locationName:"status" type:"string" enum:"ApiCacheStatus"` + + // Transit encryption flag when connecting to cache. This setting cannot be + // updated after creation. + TransitEncryptionEnabled *bool `locationName:"transitEncryptionEnabled" type:"boolean"` + + // TTL in seconds for cache entries. + // + // Valid values are between 1 and 3600 seconds. + Ttl *int64 `locationName:"ttl" type:"long"` + + // The cache instance type. + // + // * T2_SMALL: A t2.small instance type. + // + // * T2_MEDIUM: A t2.medium instance type. + // + // * R4_LARGE: A r4.large instance type. + // + // * R4_XLARGE: A r4.xlarge instance type. + // + // * R4_2XLARGE: A r4.2xlarge instance type. + // + // * R4_4XLARGE: A r4.4xlarge instance type. + // + // * R4_8XLARGE: A r4.8xlarge instance type. + Type *string `locationName:"type" type:"string" enum:"ApiCacheType"` +} + +// String returns the string representation +func (s ApiCache) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApiCache) GoString() string { + return s.String() +} + +// SetApiCachingBehavior sets the ApiCachingBehavior field's value. +func (s *ApiCache) SetApiCachingBehavior(v string) *ApiCache { + s.ApiCachingBehavior = &v + return s +} + +// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. +func (s *ApiCache) SetAtRestEncryptionEnabled(v bool) *ApiCache { + s.AtRestEncryptionEnabled = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ApiCache) SetStatus(v string) *ApiCache { + s.Status = &v + return s +} + +// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. +func (s *ApiCache) SetTransitEncryptionEnabled(v bool) *ApiCache { + s.TransitEncryptionEnabled = &v + return s +} + +// SetTtl sets the Ttl field's value. +func (s *ApiCache) SetTtl(v int64) *ApiCache { + s.Ttl = &v + return s +} + +// SetType sets the Type field's value. +func (s *ApiCache) SetType(v string) *ApiCache { + s.Type = &v + return s +} + // Describes an API key. // // Customers invoke AWS AppSync GraphQL API operations with API keys as an identity @@ -3556,36 +4127,74 @@ func (s *AuthorizationConfig) SetAwsIamConfig(v *AwsIamConfig) *AuthorizationCon return s } -// The AWS IAM configuration. -type AwsIamConfig struct { +// The AWS IAM configuration. +type AwsIamConfig struct { + _ struct{} `type:"structure"` + + // The signing region for AWS IAM authorization. + SigningRegion *string `locationName:"signingRegion" type:"string"` + + // The signing service name for AWS IAM authorization. + SigningServiceName *string `locationName:"signingServiceName" type:"string"` +} + +// String returns the string representation +func (s AwsIamConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsIamConfig) GoString() string { + return s.String() +} + +// SetSigningRegion sets the SigningRegion field's value. +func (s *AwsIamConfig) SetSigningRegion(v string) *AwsIamConfig { + s.SigningRegion = &v + return s +} + +// SetSigningServiceName sets the SigningServiceName field's value. +func (s *AwsIamConfig) SetSigningServiceName(v string) *AwsIamConfig { + s.SigningServiceName = &v + return s +} + +// The caching configuration for a resolver that has caching enabled. +type CachingConfig struct { _ struct{} `type:"structure"` - // The signing region for AWS IAM authorization. - SigningRegion *string `locationName:"signingRegion" type:"string"` + // The caching keys for a resolver that has caching enabled. + // + // Valid values are entries from the $context.identity and $context.arguments + // maps. + CachingKeys []*string `locationName:"cachingKeys" type:"list"` - // The signing service name for AWS IAM authorization. - SigningServiceName *string `locationName:"signingServiceName" type:"string"` + // The TTL in seconds for a resolver that has caching enabled. + // + // Valid values are between 1 and 3600 seconds. + Ttl *int64 `locationName:"ttl" type:"long"` } // String returns the string representation -func (s AwsIamConfig) String() string { +func (s CachingConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsIamConfig) GoString() string { +func (s CachingConfig) GoString() string { return s.String() } -// SetSigningRegion sets the SigningRegion field's value. -func (s *AwsIamConfig) SetSigningRegion(v string) *AwsIamConfig { - s.SigningRegion = &v +// SetCachingKeys sets the CachingKeys field's value. +func (s *CachingConfig) SetCachingKeys(v []*string) *CachingConfig { + s.CachingKeys = v return s } -// SetSigningServiceName sets the SigningServiceName field's value. -func (s *AwsIamConfig) SetSigningServiceName(v string) *AwsIamConfig { - s.SigningServiceName = &v +// SetTtl sets the Ttl field's value. +func (s *CachingConfig) SetTtl(v int64) *CachingConfig { + s.Ttl = &v return s } @@ -3652,6 +4261,153 @@ func (s *CognitoUserPoolConfig) SetUserPoolId(v string) *CognitoUserPoolConfig { return s } +// Represents the input of a CreateApiCache operation. +type CreateApiCacheInput struct { + _ struct{} `type:"structure"` + + // Caching behavior. + // + // * FULL_REQUEST_CACHING: All requests are fully cached. + // + // * PER_RESOLVER_CACHING: Individual resovlers that you specify are cached. + // + // ApiCachingBehavior is a required field + ApiCachingBehavior *string `locationName:"apiCachingBehavior" type:"string" required:"true" enum:"ApiCachingBehavior"` + + // The GraphQL API Id. + // + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // At rest encryption flag for cache. This setting cannot be updated after creation. + AtRestEncryptionEnabled *bool `locationName:"atRestEncryptionEnabled" type:"boolean"` + + // Transit encryption flag when connecting to cache. This setting cannot be + // updated after creation. + TransitEncryptionEnabled *bool `locationName:"transitEncryptionEnabled" type:"boolean"` + + // TTL in seconds for cache entries. + // + // Valid values are between 1 and 3600 seconds. + // + // Ttl is a required field + Ttl *int64 `locationName:"ttl" type:"long" required:"true"` + + // The cache instance type. + // + // * T2_SMALL: A t2.small instance type. + // + // * T2_MEDIUM: A t2.medium instance type. + // + // * R4_LARGE: A r4.large instance type. + // + // * R4_XLARGE: A r4.xlarge instance type. + // + // * R4_2XLARGE: A r4.2xlarge instance type. + // + // * R4_4XLARGE: A r4.4xlarge instance type. + // + // * R4_8XLARGE: A r4.8xlarge instance type. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ApiCacheType"` +} + +// String returns the string representation +func (s CreateApiCacheInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApiCacheInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateApiCacheInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateApiCacheInput"} + if s.ApiCachingBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("ApiCachingBehavior")) + } + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.Ttl == nil { + invalidParams.Add(request.NewErrParamRequired("Ttl")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiCachingBehavior sets the ApiCachingBehavior field's value. +func (s *CreateApiCacheInput) SetApiCachingBehavior(v string) *CreateApiCacheInput { + s.ApiCachingBehavior = &v + return s +} + +// SetApiId sets the ApiId field's value. +func (s *CreateApiCacheInput) SetApiId(v string) *CreateApiCacheInput { + s.ApiId = &v + return s +} + +// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. +func (s *CreateApiCacheInput) SetAtRestEncryptionEnabled(v bool) *CreateApiCacheInput { + s.AtRestEncryptionEnabled = &v + return s +} + +// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. +func (s *CreateApiCacheInput) SetTransitEncryptionEnabled(v bool) *CreateApiCacheInput { + s.TransitEncryptionEnabled = &v + return s +} + +// SetTtl sets the Ttl field's value. +func (s *CreateApiCacheInput) SetTtl(v int64) *CreateApiCacheInput { + s.Ttl = &v + return s +} + +// SetType sets the Type field's value. +func (s *CreateApiCacheInput) SetType(v string) *CreateApiCacheInput { + s.Type = &v + return s +} + +// Represents the output of a CreateApiCache operation. +type CreateApiCacheOutput struct { + _ struct{} `type:"structure"` + + // The ApiCache object. + ApiCache *ApiCache `locationName:"apiCache" type:"structure"` +} + +// String returns the string representation +func (s CreateApiCacheOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApiCacheOutput) GoString() string { + return s.String() +} + +// SetApiCache sets the ApiCache field's value. +func (s *CreateApiCacheOutput) SetApiCache(v *ApiCache) *CreateApiCacheOutput { + s.ApiCache = v + return s +} + type CreateApiKeyInput struct { _ struct{} `type:"structure"` @@ -3763,7 +4519,7 @@ type CreateDataSourceInput struct { // A user-supplied name for the DataSource. // // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + Name *string `locationName:"name" min:"1" type:"string" required:"true"` // Relational database settings. RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"` @@ -3800,6 +4556,9 @@ func (s *CreateDataSourceInput) Validate() error { 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")) } @@ -3924,7 +4683,7 @@ type CreateFunctionInput struct { // The Function DataSource name. // // DataSourceName is a required field - DataSourceName *string `locationName:"dataSourceName" type:"string" required:"true"` + DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string" required:"true"` // The Function description. Description *string `locationName:"description" type:"string"` @@ -3938,7 +4697,7 @@ type CreateFunctionInput struct { // The Function name. The function name does not have to be unique. // // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + Name *string `locationName:"name" min:"1" type:"string" required:"true"` // The Function request mapping template. Functions support only the 2018-05-29 // version of the request mapping template. @@ -3972,12 +4731,18 @@ func (s *CreateFunctionInput) Validate() error { if s.DataSourceName == nil { invalidParams.Add(request.NewErrParamRequired("DataSourceName")) } + if s.DataSourceName != nil && len(*s.DataSourceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1)) + } if s.FunctionVersion == nil { invalidParams.Add(request.NewErrParamRequired("FunctionVersion")) } 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.RequestMappingTemplate == nil { invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate")) } @@ -4215,13 +4980,16 @@ type CreateResolverInput struct { // ApiId is a required field ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + // The caching configuration for the resolver. + CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"` + // The name of the data source for which the resolver is being created. - DataSourceName *string `locationName:"dataSourceName" type:"string"` + DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"` // The name of the field to attach the resolver to. // // FieldName is a required field - FieldName *string `locationName:"fieldName" type:"string" required:"true"` + FieldName *string `locationName:"fieldName" min:"1" type:"string" required:"true"` // The resolver type. // @@ -4249,10 +5017,13 @@ type CreateResolverInput struct { // The mapping template to be used for responses from the data source. ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"` + // The SyncConfig for a resolver attached to a versioned datasource. + SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"` + // The name of the Type. // // TypeName is a required field - TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"` + TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -4274,9 +5045,15 @@ func (s *CreateResolverInput) Validate() error { if s.ApiId != nil && len(*s.ApiId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) } + if s.DataSourceName != nil && len(*s.DataSourceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1)) + } if s.FieldName == nil { invalidParams.Add(request.NewErrParamRequired("FieldName")) } + if s.FieldName != nil && len(*s.FieldName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FieldName", 1)) + } if s.RequestMappingTemplate == nil { invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate")) } @@ -4305,6 +5082,12 @@ func (s *CreateResolverInput) SetApiId(v string) *CreateResolverInput { return s } +// SetCachingConfig sets the CachingConfig field's value. +func (s *CreateResolverInput) SetCachingConfig(v *CachingConfig) *CreateResolverInput { + s.CachingConfig = v + return s +} + // SetDataSourceName sets the DataSourceName field's value. func (s *CreateResolverInput) SetDataSourceName(v string) *CreateResolverInput { s.DataSourceName = &v @@ -4341,6 +5124,12 @@ func (s *CreateResolverInput) SetResponseMappingTemplate(v string) *CreateResolv return s } +// SetSyncConfig sets the SyncConfig field's value. +func (s *CreateResolverInput) SetSyncConfig(v *SyncConfig) *CreateResolverInput { + s.SyncConfig = v + return s +} + // SetTypeName sets the TypeName field's value. func (s *CreateResolverInput) SetTypeName(v string) *CreateResolverInput { s.TypeName = &v @@ -4487,7 +5276,7 @@ type DataSource struct { LambdaConfig *LambdaDataSourceConfig `locationName:"lambdaConfig" type:"structure"` // The name of the data source. - Name *string `locationName:"name" type:"string"` + Name *string `locationName:"name" min:"1" type:"string"` // Relational database settings. RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"` @@ -4586,6 +5375,63 @@ func (s *DataSource) SetType(v string) *DataSource { return s } +// Represents the input of a DeleteApiCache operation. +type DeleteApiCacheInput struct { + _ struct{} `type:"structure"` + + // The API ID. + // + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteApiCacheInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApiCacheInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApiCacheInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApiCacheInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *DeleteApiCacheInput) SetApiId(v string) *DeleteApiCacheInput { + s.ApiId = &v + return s +} + +// Represents the output of a DeleteApiCache operation. +type DeleteApiCacheOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteApiCacheOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApiCacheOutput) GoString() string { + return s.String() +} + type DeleteApiKeyInput struct { _ struct{} `type:"structure"` @@ -4669,7 +5515,7 @@ type DeleteDataSourceInput struct { // The name of the data source. // // Name is a required field - Name *string `location:"uri" locationName:"name" type:"string" required:"true"` + Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -4741,7 +5587,7 @@ type DeleteFunctionInput struct { // The Function ID. // // FunctionId is a required field - FunctionId *string `location:"uri" locationName:"functionId" type:"string" required:"true"` + FunctionId *string `location:"uri" locationName:"functionId" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -4868,12 +5714,12 @@ type DeleteResolverInput struct { // The resolver field name. // // FieldName is a required field - FieldName *string `location:"uri" locationName:"fieldName" type:"string" required:"true"` + FieldName *string `location:"uri" locationName:"fieldName" min:"1" type:"string" required:"true"` // The name of the resolver type. // // TypeName is a required field - TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"` + TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -4957,7 +5803,7 @@ type DeleteTypeInput struct { // The type name. // // TypeName is a required field - TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"` + TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -5018,6 +5864,49 @@ func (s DeleteTypeOutput) GoString() string { return s.String() } +// Describes a Delta Sync configuration. +type DeltaSyncConfig struct { + _ struct{} `type:"structure"` + + // The number of minutes an Item is stored in the datasource. + BaseTableTTL *int64 `locationName:"baseTableTTL" type:"long"` + + // The Delta Sync table name. + DeltaSyncTableName *string `locationName:"deltaSyncTableName" type:"string"` + + // The number of minutes a Delta Sync log entry is stored in the Delta Sync + // table. + DeltaSyncTableTTL *int64 `locationName:"deltaSyncTableTTL" type:"long"` +} + +// String returns the string representation +func (s DeltaSyncConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeltaSyncConfig) GoString() string { + return s.String() +} + +// SetBaseTableTTL sets the BaseTableTTL field's value. +func (s *DeltaSyncConfig) SetBaseTableTTL(v int64) *DeltaSyncConfig { + s.BaseTableTTL = &v + return s +} + +// SetDeltaSyncTableName sets the DeltaSyncTableName field's value. +func (s *DeltaSyncConfig) SetDeltaSyncTableName(v string) *DeltaSyncConfig { + s.DeltaSyncTableName = &v + return s +} + +// SetDeltaSyncTableTTL sets the DeltaSyncTableTTL field's value. +func (s *DeltaSyncConfig) SetDeltaSyncTableTTL(v int64) *DeltaSyncConfig { + s.DeltaSyncTableTTL = &v + return s +} + // Describes an Amazon DynamoDB data source configuration. type DynamodbDataSourceConfig struct { _ struct{} `type:"structure"` @@ -5027,6 +5916,9 @@ type DynamodbDataSourceConfig struct { // AwsRegion is a required field AwsRegion *string `locationName:"awsRegion" type:"string" required:"true"` + // The DeltaSyncConfig for a versioned datasource. + DeltaSyncConfig *DeltaSyncConfig `locationName:"deltaSyncConfig" type:"structure"` + // The table name. // // TableName is a required field @@ -5034,6 +5926,9 @@ type DynamodbDataSourceConfig struct { // Set to TRUE to use Amazon Cognito credentials with this data source. UseCallerCredentials *bool `locationName:"useCallerCredentials" type:"boolean"` + + // Set to TRUE to use Conflict Detection and Resolution with this data source. + Versioned *bool `locationName:"versioned" type:"boolean"` } // String returns the string representation @@ -5068,6 +5963,12 @@ func (s *DynamodbDataSourceConfig) SetAwsRegion(v string) *DynamodbDataSourceCon return s } +// SetDeltaSyncConfig sets the DeltaSyncConfig field's value. +func (s *DynamodbDataSourceConfig) SetDeltaSyncConfig(v *DeltaSyncConfig) *DynamodbDataSourceConfig { + s.DeltaSyncConfig = v + return s +} + // SetTableName sets the TableName field's value. func (s *DynamodbDataSourceConfig) SetTableName(v string) *DynamodbDataSourceConfig { s.TableName = &v @@ -5080,6 +5981,12 @@ func (s *DynamodbDataSourceConfig) SetUseCallerCredentials(v bool) *DynamodbData return s } +// SetVersioned sets the Versioned field's value. +func (s *DynamodbDataSourceConfig) SetVersioned(v bool) *DynamodbDataSourceConfig { + s.Versioned = &v + return s +} + // Describes an Elasticsearch data source configuration. type ElasticsearchDataSourceConfig struct { _ struct{} `type:"structure"` @@ -5127,10 +6034,67 @@ func (s *ElasticsearchDataSourceConfig) SetAwsRegion(v string) *ElasticsearchDat return s } -// SetEndpoint sets the Endpoint field's value. -func (s *ElasticsearchDataSourceConfig) SetEndpoint(v string) *ElasticsearchDataSourceConfig { - s.Endpoint = &v - return s +// SetEndpoint sets the Endpoint field's value. +func (s *ElasticsearchDataSourceConfig) SetEndpoint(v string) *ElasticsearchDataSourceConfig { + s.Endpoint = &v + return s +} + +// Represents the input of a FlushApiCache operation. +type FlushApiCacheInput struct { + _ struct{} `type:"structure"` + + // The API ID. + // + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` +} + +// String returns the string representation +func (s FlushApiCacheInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FlushApiCacheInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FlushApiCacheInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FlushApiCacheInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *FlushApiCacheInput) SetApiId(v string) *FlushApiCacheInput { + s.ApiId = &v + return s +} + +// Represents the output of a FlushApiCache operation. +type FlushApiCacheOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s FlushApiCacheOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FlushApiCacheOutput) GoString() string { + return s.String() } // A function is a reusable entity. Multiple functions can be used to compose @@ -5139,7 +6103,7 @@ type FunctionConfiguration struct { _ struct{} `type:"structure"` // The name of the DataSource. - DataSourceName *string `locationName:"dataSourceName" type:"string"` + DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"` // The Function description. Description *string `locationName:"description" type:"string"` @@ -5155,7 +6119,7 @@ type FunctionConfiguration struct { FunctionVersion *string `locationName:"functionVersion" type:"string"` // The name of the Function object. - Name *string `locationName:"name" type:"string"` + Name *string `locationName:"name" min:"1" type:"string"` // The Function request mapping template. Functions support only the 2018-05-29 // version of the request mapping template. @@ -5223,6 +6187,71 @@ func (s *FunctionConfiguration) SetResponseMappingTemplate(v string) *FunctionCo return s } +// Represents the input of a GetApiCache operation. +type GetApiCacheInput struct { + _ struct{} `type:"structure"` + + // The API ID. + // + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetApiCacheInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApiCacheInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApiCacheInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApiCacheInput"} + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiId sets the ApiId field's value. +func (s *GetApiCacheInput) SetApiId(v string) *GetApiCacheInput { + s.ApiId = &v + return s +} + +// Represents the output of a GetApiCache operation. +type GetApiCacheOutput struct { + _ struct{} `type:"structure"` + + ApiCache *ApiCache `locationName:"apiCache" type:"structure"` +} + +// String returns the string representation +func (s GetApiCacheOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApiCacheOutput) GoString() string { + return s.String() +} + +// SetApiCache sets the ApiCache field's value. +func (s *GetApiCacheOutput) SetApiCache(v *ApiCache) *GetApiCacheOutput { + s.ApiCache = v + return s +} + type GetDataSourceInput struct { _ struct{} `type:"structure"` @@ -5234,7 +6263,7 @@ type GetDataSourceInput struct { // The name of the data source. // // Name is a required field - Name *string `location:"uri" locationName:"name" type:"string" required:"true"` + Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -5315,7 +6344,7 @@ type GetFunctionInput struct { // The Function ID. // // FunctionId is a required field - FunctionId *string `location:"uri" locationName:"functionId" type:"string" required:"true"` + FunctionId *string `location:"uri" locationName:"functionId" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -5549,12 +6578,12 @@ type GetResolverInput struct { // The resolver field name. // // FieldName is a required field - FieldName *string `location:"uri" locationName:"fieldName" type:"string" required:"true"` + FieldName *string `location:"uri" locationName:"fieldName" min:"1" type:"string" required:"true"` // The resolver type name. // // TypeName is a required field - TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"` + TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -5726,7 +6755,7 @@ type GetTypeInput struct { // The type name. // // TypeName is a required field - TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"` + TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -5825,7 +6854,7 @@ type GraphqlApi struct { LogConfig *LogConfig `locationName:"logConfig" type:"structure"` // The API name. - Name *string `locationName:"name" type:"string"` + Name *string `locationName:"name" min:"1" type:"string"` // The OpenID Connect configuration. OpenIDConnectConfig *OpenIDConnectConfig `locationName:"openIDConnectConfig" type:"structure"` @@ -5961,6 +6990,29 @@ func (s *HttpDataSourceConfig) SetEndpoint(v string) *HttpDataSourceConfig { return s } +type LambdaConflictHandlerConfig struct { + _ struct{} `type:"structure"` + + // The Arn for the Lambda function to use as the Conflict Handler. + LambdaConflictHandlerArn *string `locationName:"lambdaConflictHandlerArn" type:"string"` +} + +// String returns the string representation +func (s LambdaConflictHandlerConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LambdaConflictHandlerConfig) GoString() string { + return s.String() +} + +// SetLambdaConflictHandlerArn sets the LambdaConflictHandlerArn field's value. +func (s *LambdaConflictHandlerConfig) SetLambdaConflictHandlerArn(v string) *LambdaConflictHandlerConfig { + s.LambdaConflictHandlerArn = &v + return s +} + // Describes an AWS Lambda data source configuration. type LambdaDataSourceConfig struct { _ struct{} `type:"structure"` @@ -6013,7 +7065,7 @@ type ListApiKeysInput struct { // An identifier that was returned from the previous call to this operation, // which can be used to return the next set of items in the list. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation @@ -6035,6 +7087,9 @@ func (s *ListApiKeysInput) Validate() error { if s.ApiId != nil && len(*s.ApiId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6068,7 +7123,7 @@ type ListApiKeysOutput struct { // An identifier to be passed in the next request to this operation to return // the next set of items in the list. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation @@ -6106,7 +7161,7 @@ type ListDataSourcesInput struct { // An identifier that was returned from the previous call to this operation, // which can be used to return the next set of items in the list. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation @@ -6128,6 +7183,9 @@ func (s *ListDataSourcesInput) Validate() error { if s.ApiId != nil && len(*s.ApiId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6161,7 +7219,7 @@ type ListDataSourcesOutput struct { // An identifier to be passed in the next request to this operation to return // the next set of items in the list. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation @@ -6199,7 +7257,7 @@ type ListFunctionsInput struct { // An identifier that was returned from the previous call to this operation, // which can be used to return the next set of items in the list. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation @@ -6221,6 +7279,9 @@ func (s *ListFunctionsInput) Validate() error { if s.ApiId != nil && len(*s.ApiId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6254,7 +7315,7 @@ type ListFunctionsOutput struct { // An identifier that was returned from the previous call to this operation, // which can be used to return the next set of items in the list. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation @@ -6287,7 +7348,7 @@ type ListGraphqlApisInput struct { // An identifier that was returned from the previous call to this operation, // which can be used to return the next set of items in the list. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation @@ -6300,6 +7361,19 @@ func (s ListGraphqlApisInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListGraphqlApisInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListGraphqlApisInput"} + 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 *ListGraphqlApisInput) SetMaxResults(v int64) *ListGraphqlApisInput { s.MaxResults = &v @@ -6320,7 +7394,7 @@ type ListGraphqlApisOutput struct { // An identifier to be passed in the next request to this operation to return // the next set of items in the list. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation @@ -6363,7 +7437,7 @@ type ListResolversByFunctionInput struct { // An identifier that was returned from the previous call to this operation, // which you can use to return the next set of items in the list. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation @@ -6391,6 +7465,9 @@ func (s *ListResolversByFunctionInput) Validate() error { if s.FunctionId != nil && len(*s.FunctionId) < 1 { invalidParams.Add(request.NewErrParamMinLen("FunctionId", 1)) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6426,7 +7503,7 @@ type ListResolversByFunctionOutput struct { _ struct{} `type:"structure"` // An identifier that can be used to return the next set of items in the list. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` // The list of resolvers. Resolvers []*Resolver `locationName:"resolvers" type:"list"` @@ -6467,7 +7544,7 @@ type ListResolversInput struct { // An identifier that was returned from the previous call to this operation, // which can be used to return the next set of items in the list. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` // The type name. // @@ -6494,6 +7571,9 @@ func (s *ListResolversInput) Validate() error { if s.ApiId != nil && len(*s.ApiId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if s.TypeName == nil { invalidParams.Add(request.NewErrParamRequired("TypeName")) } @@ -6536,7 +7616,7 @@ type ListResolversOutput struct { // An identifier to be passed in the next request to this operation to return // the next set of items in the list. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` // The Resolver objects. Resolvers []*Resolver `locationName:"resolvers" type:"list"` @@ -6646,7 +7726,7 @@ type ListTypesInput struct { // An identifier that was returned from the previous call to this operation, // which can be used to return the next set of items in the list. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation @@ -6671,6 +7751,9 @@ func (s *ListTypesInput) Validate() error { if s.Format == nil { invalidParams.Add(request.NewErrParamRequired("Format")) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6707,7 +7790,7 @@ type ListTypesOutput struct { // An identifier to be passed in the next request to this operation to return // the next set of items in the list. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` // The Type objects. Types []*Type `locationName:"types" type:"list"` @@ -7003,11 +8086,14 @@ func (s *RelationalDatabaseDataSourceConfig) SetRelationalDatabaseSourceType(v s type Resolver struct { _ struct{} `type:"structure"` + // The caching configuration for the resolver. + CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"` + // The resolver data source name. - DataSourceName *string `locationName:"dataSourceName" type:"string"` + DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"` // The resolver field name. - FieldName *string `locationName:"fieldName" type:"string"` + FieldName *string `locationName:"fieldName" min:"1" type:"string"` // The resolver type. // @@ -7032,8 +8118,11 @@ type Resolver struct { // The response mapping template. ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"` + // The SyncConfig for a resolver attached to a versioned datasource. + SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"` + // The resolver type name. - TypeName *string `locationName:"typeName" type:"string"` + TypeName *string `locationName:"typeName" min:"1" type:"string"` } // String returns the string representation @@ -7046,6 +8135,12 @@ func (s Resolver) GoString() string { return s.String() } +// SetCachingConfig sets the CachingConfig field's value. +func (s *Resolver) SetCachingConfig(v *CachingConfig) *Resolver { + s.CachingConfig = v + return s +} + // SetDataSourceName sets the DataSourceName field's value. func (s *Resolver) SetDataSourceName(v string) *Resolver { s.DataSourceName = &v @@ -7088,6 +8183,12 @@ func (s *Resolver) SetResponseMappingTemplate(v string) *Resolver { return s } +// SetSyncConfig sets the SyncConfig field's value. +func (s *Resolver) SetSyncConfig(v *SyncConfig) *Resolver { + s.SyncConfig = v + return s +} + // SetTypeName sets the TypeName field's value. func (s *Resolver) SetTypeName(v string) *Resolver { s.TypeName = &v @@ -7175,6 +8276,63 @@ func (s *StartSchemaCreationOutput) SetStatus(v string) *StartSchemaCreationOutp return s } +// Describes a Sync configuration for a resolver. +// +// Contains information on which Conflict Detection as well as Resolution strategy +// should be performed when the resolver is invoked. +type SyncConfig struct { + _ struct{} `type:"structure"` + + // The Conflict Detection strategy to use. + // + // * VERSION: Detect conflicts based on object versions for this resolver. + // + // * NONE: Do not detect conflicts when executing this resolver. + ConflictDetection *string `locationName:"conflictDetection" type:"string" enum:"ConflictDetectionType"` + + // The Conflict Resolution strategy to perform in the event of a conflict. + // + // * OPTIMISTIC_CONCURRENCY: Resolve conflicts by rejecting mutations when + // versions do not match the latest version at the server. + // + // * AUTOMERGE: Resolve conflicts with the Automerge conflict resolution + // strategy. + // + // * LAMBDA: Resolve conflicts with a Lambda function supplied in the LambdaConflictHandlerConfig. + ConflictHandler *string `locationName:"conflictHandler" type:"string" enum:"ConflictHandlerType"` + + // The LambdaConflictHandlerConfig when configuring LAMBDA as the Conflict Handler. + LambdaConflictHandlerConfig *LambdaConflictHandlerConfig `locationName:"lambdaConflictHandlerConfig" type:"structure"` +} + +// String returns the string representation +func (s SyncConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SyncConfig) GoString() string { + return s.String() +} + +// SetConflictDetection sets the ConflictDetection field's value. +func (s *SyncConfig) SetConflictDetection(v string) *SyncConfig { + s.ConflictDetection = &v + return s +} + +// SetConflictHandler sets the ConflictHandler field's value. +func (s *SyncConfig) SetConflictHandler(v string) *SyncConfig { + s.ConflictHandler = &v + return s +} + +// SetLambdaConflictHandlerConfig sets the LambdaConflictHandlerConfig field's value. +func (s *SyncConfig) SetLambdaConflictHandlerConfig(v *LambdaConflictHandlerConfig) *SyncConfig { + s.LambdaConflictHandlerConfig = v + return s +} + type TagResourceInput struct { _ struct{} `type:"structure"` @@ -7264,7 +8422,7 @@ type Type struct { Format *string `locationName:"format" type:"string" enum:"TypeDefinitionFormat"` // The type name. - Name *string `locationName:"name" type:"string"` + Name *string `locationName:"name" min:"1" type:"string"` } // String returns the string representation @@ -7379,6 +8537,134 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +// Represents the input of a UpdateApiCache operation. +type UpdateApiCacheInput struct { + _ struct{} `type:"structure"` + + // Caching behavior. + // + // * FULL_REQUEST_CACHING: All requests are fully cached. + // + // * PER_RESOLVER_CACHING: Individual resovlers that you specify are cached. + // + // ApiCachingBehavior is a required field + ApiCachingBehavior *string `locationName:"apiCachingBehavior" type:"string" required:"true" enum:"ApiCachingBehavior"` + + // The GraphQL API Id. + // + // ApiId is a required field + ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + + // TTL in seconds for cache entries. + // + // Valid values are between 1 and 3600 seconds. + // + // Ttl is a required field + Ttl *int64 `locationName:"ttl" type:"long" required:"true"` + + // The cache instance type. + // + // * T2_SMALL: A t2.small instance type. + // + // * T2_MEDIUM: A t2.medium instance type. + // + // * R4_LARGE: A r4.large instance type. + // + // * R4_XLARGE: A r4.xlarge instance type. + // + // * R4_2XLARGE: A r4.2xlarge instance type. + // + // * R4_4XLARGE: A r4.4xlarge instance type. + // + // * R4_8XLARGE: A r4.8xlarge instance type. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ApiCacheType"` +} + +// String returns the string representation +func (s UpdateApiCacheInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApiCacheInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateApiCacheInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateApiCacheInput"} + if s.ApiCachingBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("ApiCachingBehavior")) + } + if s.ApiId == nil { + invalidParams.Add(request.NewErrParamRequired("ApiId")) + } + if s.ApiId != nil && len(*s.ApiId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) + } + if s.Ttl == nil { + invalidParams.Add(request.NewErrParamRequired("Ttl")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiCachingBehavior sets the ApiCachingBehavior field's value. +func (s *UpdateApiCacheInput) SetApiCachingBehavior(v string) *UpdateApiCacheInput { + s.ApiCachingBehavior = &v + return s +} + +// SetApiId sets the ApiId field's value. +func (s *UpdateApiCacheInput) SetApiId(v string) *UpdateApiCacheInput { + s.ApiId = &v + return s +} + +// SetTtl sets the Ttl field's value. +func (s *UpdateApiCacheInput) SetTtl(v int64) *UpdateApiCacheInput { + s.Ttl = &v + return s +} + +// SetType sets the Type field's value. +func (s *UpdateApiCacheInput) SetType(v string) *UpdateApiCacheInput { + s.Type = &v + return s +} + +// Represents the output of a UpdateApiCache operation. +type UpdateApiCacheOutput struct { + _ struct{} `type:"structure"` + + // The ApiCache object. + ApiCache *ApiCache `locationName:"apiCache" type:"structure"` +} + +// String returns the string representation +func (s UpdateApiCacheOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApiCacheOutput) GoString() string { + return s.String() +} + +// SetApiCache sets the ApiCache field's value. +func (s *UpdateApiCacheOutput) SetApiCache(v *ApiCache) *UpdateApiCacheOutput { + s.ApiCache = v + return s +} + type UpdateApiKeyInput struct { _ struct{} `type:"structure"` @@ -7505,7 +8791,7 @@ type UpdateDataSourceInput struct { // The new name for the data source. // // Name is a required field - Name *string `location:"uri" locationName:"name" type:"string" required:"true"` + Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` // The new relational database configuration. RelationalDatabaseConfig *RelationalDatabaseDataSourceConfig `locationName:"relationalDatabaseConfig" type:"structure"` @@ -7668,7 +8954,7 @@ type UpdateFunctionInput struct { // The Function DataSource name. // // DataSourceName is a required field - DataSourceName *string `locationName:"dataSourceName" type:"string" required:"true"` + DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string" required:"true"` // The Function description. Description *string `locationName:"description" type:"string"` @@ -7676,7 +8962,7 @@ type UpdateFunctionInput struct { // The function ID. // // FunctionId is a required field - FunctionId *string `location:"uri" locationName:"functionId" type:"string" required:"true"` + FunctionId *string `location:"uri" locationName:"functionId" min:"1" type:"string" required:"true"` // The version of the request mapping template. Currently the supported value // is 2018-05-29. @@ -7687,7 +8973,7 @@ type UpdateFunctionInput struct { // The Function name. // // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + Name *string `locationName:"name" min:"1" type:"string" required:"true"` // The Function request mapping template. Functions support only the 2018-05-29 // version of the request mapping template. @@ -7721,6 +9007,9 @@ func (s *UpdateFunctionInput) Validate() error { if s.DataSourceName == nil { invalidParams.Add(request.NewErrParamRequired("DataSourceName")) } + if s.DataSourceName != nil && len(*s.DataSourceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1)) + } if s.FunctionId == nil { invalidParams.Add(request.NewErrParamRequired("FunctionId")) } @@ -7733,6 +9022,9 @@ func (s *UpdateFunctionInput) Validate() error { 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.RequestMappingTemplate == nil { invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate")) } @@ -7976,13 +9268,16 @@ type UpdateResolverInput struct { // ApiId is a required field ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` + // The caching configuration for the resolver. + CachingConfig *CachingConfig `locationName:"cachingConfig" type:"structure"` + // The new data source name. - DataSourceName *string `locationName:"dataSourceName" type:"string"` + DataSourceName *string `locationName:"dataSourceName" min:"1" type:"string"` // The new field name. // // FieldName is a required field - FieldName *string `location:"uri" locationName:"fieldName" type:"string" required:"true"` + FieldName *string `location:"uri" locationName:"fieldName" min:"1" type:"string" required:"true"` // The resolver type. // @@ -8006,10 +9301,13 @@ type UpdateResolverInput struct { // The new response mapping template. ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"` + // The SyncConfig for a resolver attached to a versioned datasource. + SyncConfig *SyncConfig `locationName:"syncConfig" type:"structure"` + // The new type name. // // TypeName is a required field - TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"` + TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -8031,6 +9329,9 @@ func (s *UpdateResolverInput) Validate() error { if s.ApiId != nil && len(*s.ApiId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) } + if s.DataSourceName != nil && len(*s.DataSourceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceName", 1)) + } if s.FieldName == nil { invalidParams.Add(request.NewErrParamRequired("FieldName")) } @@ -8065,6 +9366,12 @@ func (s *UpdateResolverInput) SetApiId(v string) *UpdateResolverInput { return s } +// SetCachingConfig sets the CachingConfig field's value. +func (s *UpdateResolverInput) SetCachingConfig(v *CachingConfig) *UpdateResolverInput { + s.CachingConfig = v + return s +} + // SetDataSourceName sets the DataSourceName field's value. func (s *UpdateResolverInput) SetDataSourceName(v string) *UpdateResolverInput { s.DataSourceName = &v @@ -8101,6 +9408,12 @@ func (s *UpdateResolverInput) SetResponseMappingTemplate(v string) *UpdateResolv return s } +// SetSyncConfig sets the SyncConfig field's value. +func (s *UpdateResolverInput) SetSyncConfig(v *SyncConfig) *UpdateResolverInput { + s.SyncConfig = v + return s +} + // SetTypeName sets the TypeName field's value. func (s *UpdateResolverInput) SetTypeName(v string) *UpdateResolverInput { s.TypeName = &v @@ -8149,7 +9462,7 @@ type UpdateTypeInput struct { // The new type name. // // TypeName is a required field - TypeName *string `location:"uri" locationName:"typeName" type:"string" required:"true"` + TypeName *string `location:"uri" locationName:"typeName" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -8313,6 +9626,54 @@ func (s *UserPoolConfig) SetUserPoolId(v string) *UserPoolConfig { return s } +const ( + // ApiCacheStatusAvailable is a ApiCacheStatus enum value + ApiCacheStatusAvailable = "AVAILABLE" + + // ApiCacheStatusCreating is a ApiCacheStatus enum value + ApiCacheStatusCreating = "CREATING" + + // ApiCacheStatusDeleting is a ApiCacheStatus enum value + ApiCacheStatusDeleting = "DELETING" + + // ApiCacheStatusModifying is a ApiCacheStatus enum value + ApiCacheStatusModifying = "MODIFYING" + + // ApiCacheStatusFailed is a ApiCacheStatus enum value + ApiCacheStatusFailed = "FAILED" +) + +const ( + // ApiCacheTypeT2Small is a ApiCacheType enum value + ApiCacheTypeT2Small = "T2_SMALL" + + // ApiCacheTypeT2Medium is a ApiCacheType enum value + ApiCacheTypeT2Medium = "T2_MEDIUM" + + // ApiCacheTypeR4Large is a ApiCacheType enum value + ApiCacheTypeR4Large = "R4_LARGE" + + // ApiCacheTypeR4Xlarge is a ApiCacheType enum value + ApiCacheTypeR4Xlarge = "R4_XLARGE" + + // ApiCacheTypeR42xlarge is a ApiCacheType enum value + ApiCacheTypeR42xlarge = "R4_2XLARGE" + + // ApiCacheTypeR44xlarge is a ApiCacheType enum value + ApiCacheTypeR44xlarge = "R4_4XLARGE" + + // ApiCacheTypeR48xlarge is a ApiCacheType enum value + ApiCacheTypeR48xlarge = "R4_8XLARGE" +) + +const ( + // ApiCachingBehaviorFullRequestCaching is a ApiCachingBehavior enum value + ApiCachingBehaviorFullRequestCaching = "FULL_REQUEST_CACHING" + + // ApiCachingBehaviorPerResolverCaching is a ApiCachingBehavior enum value + ApiCachingBehaviorPerResolverCaching = "PER_RESOLVER_CACHING" +) + const ( // AuthenticationTypeApiKey is a AuthenticationType enum value AuthenticationTypeApiKey = "API_KEY" @@ -8332,6 +9693,28 @@ const ( AuthorizationTypeAwsIam = "AWS_IAM" ) +const ( + // ConflictDetectionTypeVersion is a ConflictDetectionType enum value + ConflictDetectionTypeVersion = "VERSION" + + // ConflictDetectionTypeNone is a ConflictDetectionType enum value + ConflictDetectionTypeNone = "NONE" +) + +const ( + // ConflictHandlerTypeOptimisticConcurrency is a ConflictHandlerType enum value + ConflictHandlerTypeOptimisticConcurrency = "OPTIMISTIC_CONCURRENCY" + + // ConflictHandlerTypeLambda is a ConflictHandlerType enum value + ConflictHandlerTypeLambda = "LAMBDA" + + // ConflictHandlerTypeAutomerge is a ConflictHandlerType enum value + ConflictHandlerTypeAutomerge = "AUTOMERGE" + + // ConflictHandlerTypeNone is a ConflictHandlerType enum value + ConflictHandlerTypeNone = "NONE" +) + const ( // DataSourceTypeAwsLambda is a DataSourceType enum value DataSourceTypeAwsLambda = "AWS_LAMBDA" 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 b79ff0629d3a..6de0da31293c 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 @@ -3355,9 +3355,8 @@ type QueryExecution struct { // and DML, such as SHOW CREATE TABLE, or DESCRIBE . StatementType *string `type:"string" enum:"StatementType"` - // The location of a manifest file that tracks file locations generated by the - // query, the amount of data scanned by the query, and the amount of time that - // it took the query to run. + // The amount of data scanned during the query execution and the amount of time + // that it took to execute, and the type of statement that was run. Statistics *QueryExecutionStatistics `type:"structure"` // The completion date, current state, submission time, and state change reason @@ -3463,19 +3462,19 @@ func (s *QueryExecutionContext) SetDatabase(v string) *QueryExecutionContext { return s } -// The location of a manifest file that tracks file locations generated by the -// query, the amount of data scanned by the query, and the amount of time that -// it took the query to run. +// The amount of data scanned during the query execution and the amount of time +// that it took to execute, and the type of statement that was run. type QueryExecutionStatistics struct { _ struct{} `type:"structure"` // The location and file name of a data manifest file. The manifest file is - // saved to the Athena query results location in Amazon S3. It tracks files - // that the query wrote to Amazon S3. If the query fails, the manifest file - // also tracks files that the query intended to write. The manifest is useful - // for identifying orphaned files resulting from a failed query. For more information, - // see Working with Query Output Files (https://docs.aws.amazon.com/athena/latest/ug/querying.html) - // in the Amazon Athena User Guide. + // saved to the Athena query results location in Amazon S3. The manifest file + // tracks files that the query wrote to Amazon S3. If the query fails, the manifest + // file also tracks files that the query intended to write. The manifest is + // useful for identifying orphaned files resulting from a failed query. For + // more information, see Working with Query Results, Output Files, and Query + // History (https://docs.aws.amazon.com/athena/latest/ug/querying.html) in the + // Amazon Athena User Guide. DataManifestLocation *string `type:"string"` // The number of bytes in the data that was queried. @@ -3483,6 +3482,24 @@ type QueryExecutionStatistics struct { // The number of milliseconds that the query took to execute. EngineExecutionTimeInMillis *int64 `type:"long"` + + // The number of milliseconds that Athena took to plan the query processing + // flow. This includes the time spent retrieving table partitions from the data + // source. Note that because the query engine performs the query planning, query + // planning time is a subset of engine processing time. + QueryPlanningTimeInMillis *int64 `type:"long"` + + // The number of milliseconds that the query was in your query queue waiting + // for resources. Note that if transient errors occur, Athena might automatically + // add the query back to the queue. + QueryQueueTimeInMillis *int64 `type:"long"` + + // The number of milliseconds that Athena took to finalize and publish the query + // results after the query engine finished running the query. + ServiceProcessingTimeInMillis *int64 `type:"long"` + + // The number of milliseconds that Athena took to run the query. + TotalExecutionTimeInMillis *int64 `type:"long"` } // String returns the string representation @@ -3513,6 +3530,30 @@ func (s *QueryExecutionStatistics) SetEngineExecutionTimeInMillis(v int64) *Quer return s } +// SetQueryPlanningTimeInMillis sets the QueryPlanningTimeInMillis field's value. +func (s *QueryExecutionStatistics) SetQueryPlanningTimeInMillis(v int64) *QueryExecutionStatistics { + s.QueryPlanningTimeInMillis = &v + return s +} + +// SetQueryQueueTimeInMillis sets the QueryQueueTimeInMillis field's value. +func (s *QueryExecutionStatistics) SetQueryQueueTimeInMillis(v int64) *QueryExecutionStatistics { + s.QueryQueueTimeInMillis = &v + return s +} + +// SetServiceProcessingTimeInMillis sets the ServiceProcessingTimeInMillis field's value. +func (s *QueryExecutionStatistics) SetServiceProcessingTimeInMillis(v int64) *QueryExecutionStatistics { + s.ServiceProcessingTimeInMillis = &v + return s +} + +// SetTotalExecutionTimeInMillis sets the TotalExecutionTimeInMillis field's value. +func (s *QueryExecutionStatistics) SetTotalExecutionTimeInMillis(v int64) *QueryExecutionStatistics { + s.TotalExecutionTimeInMillis = &v + return s +} + // The completion date, current state, submission time, and state change reason // (if applicable) for the query execution. type QueryExecutionStatus struct { diff --git a/vendor/github.com/aws/aws-sdk-go/service/autoscalingplans/service.go b/vendor/github.com/aws/aws-sdk-go/service/autoscalingplans/service.go index b4402d77b173..a0c5fc7cdd57 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/autoscalingplans/service.go +++ b/vendor/github.com/aws/aws-sdk-go/service/autoscalingplans/service.go @@ -30,7 +30,7 @@ var initRequest func(*request.Request) // Service information constants const ( ServiceName = "autoscaling" // Name of service. - EndpointsID = ServiceName // ID to lookup a service endpoint with. + EndpointsID = "autoscaling-plans" // ID to lookup a service endpoint with. ServiceID = "Auto Scaling Plans" // ServiceID is a unique identifer of a specific service. ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/api.go index 4a92c66f38cb..f3b532ddef85 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/api.go @@ -516,6 +516,22 @@ func (c *CloudTrail) DescribeTrailsRequest(input *DescribeTrailsInput) (req *req // * ErrCodeOperationNotPermittedException "OperationNotPermittedException" // This exception is thrown when the requested operation is not permitted. // +// * ErrCodeInvalidTrailNameException "InvalidTrailNameException" +// This exception is thrown when the provided trail name is not valid. Trail +// names must meet the following requirements: +// +// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores +// (_), or dashes (-) +// +// * Start with a letter or number, and end with a letter or number +// +// * Be between 3 and 128 characters +// +// * Have no adjacent periods, underscores or dashes. Names like my-_namespace +// and my--namespace are invalid. +// +// * Not be in IP address format (for example, 192.168.5.4) +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/DescribeTrails func (c *CloudTrail) DescribeTrails(input *DescribeTrailsInput) (*DescribeTrailsOutput, error) { req, out := c.DescribeTrailsRequest(input) @@ -651,6 +667,118 @@ func (c *CloudTrail) GetEventSelectorsWithContext(ctx aws.Context, input *GetEve return out, req.Send() } +const opGetInsightSelectors = "GetInsightSelectors" + +// GetInsightSelectorsRequest generates a "aws/request.Request" representing the +// client's request for the GetInsightSelectors 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 GetInsightSelectors for more information on using the GetInsightSelectors +// 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 GetInsightSelectorsRequest method. +// req, resp := client.GetInsightSelectorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetInsightSelectors +func (c *CloudTrail) GetInsightSelectorsRequest(input *GetInsightSelectorsInput) (req *request.Request, output *GetInsightSelectorsOutput) { + op := &request.Operation{ + Name: opGetInsightSelectors, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetInsightSelectorsInput{} + } + + output = &GetInsightSelectorsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetInsightSelectors API operation for AWS CloudTrail. +// +// Describes the settings for the Insights event selectors that you configured +// for your trail. GetInsightSelectors shows if CloudTrail Insights event logging +// is enabled on the trail, and if it is, which insight types are enabled. If +// you run GetInsightSelectors on a trail that does not have Insights events +// enabled, the operation throws the exception InsightNotEnabledException +// +// For more information, see Logging CloudTrail Insights Events for Trails (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-insights-events-with-cloudtrail.html) +// in the AWS CloudTrail 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 AWS CloudTrail's +// API operation GetInsightSelectors for usage and error information. +// +// Returned Error Codes: +// * ErrCodeTrailNotFoundException "TrailNotFoundException" +// This exception is thrown when the trail with the given name is not found. +// +// * ErrCodeInvalidTrailNameException "InvalidTrailNameException" +// This exception is thrown when the provided trail name is not valid. Trail +// names must meet the following requirements: +// +// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores +// (_), or dashes (-) +// +// * Start with a letter or number, and end with a letter or number +// +// * Be between 3 and 128 characters +// +// * Have no adjacent periods, underscores or dashes. Names like my-_namespace +// and my--namespace are invalid. +// +// * Not be in IP address format (for example, 192.168.5.4) +// +// * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// This exception is thrown when the requested operation is not supported. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// This exception is thrown when the requested operation is not permitted. +// +// * ErrCodeInsightNotEnabledException "InsightNotEnabledException" +// If you run GetInsightSelectors on a trail that does not have Insights events +// enabled, the operation throws the exception InsightNotEnabledException. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetInsightSelectors +func (c *CloudTrail) GetInsightSelectors(input *GetInsightSelectorsInput) (*GetInsightSelectorsOutput, error) { + req, out := c.GetInsightSelectorsRequest(input) + return out, req.Send() +} + +// GetInsightSelectorsWithContext is the same as GetInsightSelectors with the addition of +// the ability to pass a context and additional request options. +// +// See GetInsightSelectors 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 *CloudTrail) GetInsightSelectorsWithContext(ctx aws.Context, input *GetInsightSelectorsInput, opts ...request.Option) (*GetInsightSelectorsOutput, error) { + req, out := c.GetInsightSelectorsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetTrail = "GetTrail" // GetTrailRequest generates a "aws/request.Request" representing the @@ -829,6 +957,12 @@ func (c *CloudTrail) GetTrailStatusRequest(input *GetTrailStatusInput) (req *req // // * Not be in IP address format (for example, 192.168.5.4) // +// * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// This exception is thrown when the requested operation is not supported. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// This exception is thrown when the requested operation is not permitted. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/GetTrailStatus func (c *CloudTrail) GetTrailStatus(input *GetTrailStatusInput) (*GetTrailStatusOutput, error) { req, out := c.GetTrailStatusRequest(input) @@ -1368,8 +1502,10 @@ func (c *CloudTrail) LookupEventsRequest(input *LookupEventsInput) (req *request // LookupEvents API operation for AWS CloudTrail. // // Looks up management events (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html#cloudtrail-concepts-management-events) -// captured by CloudTrail. You can look up events that occurred in a region -// within the last 90 days. Lookup supports the following attributes: +// or CloudTrail Insights events (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html#cloudtrail-concepts-insights-events) +// that are captured by CloudTrail. You can look up events that occurred in +// a region within the last 90 days. Lookup supports the following attributes +// for management events: // // * AWS access key // @@ -1387,16 +1523,21 @@ func (c *CloudTrail) LookupEventsRequest(input *LookupEventsInput) (req *request // // * User name // +// Lookup supports the following attributes for Insights events: +// +// * Event ID +// +// * Event name +// +// * Event source +// // All attributes are optional. The default number of results returned is 50, // with a maximum of 50 possible. The response includes a token that you can // use to get the next page of results. // -// The rate of lookup requests is limited to one per second per account. If +// The rate of lookup requests is limited to two per second per account. If // this limit is exceeded, a throttling error occurs. // -// Events that occurred during the selected time range will not be available -// for lookup if CloudTrail logging was not enabled when the events occurred. -// // 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. @@ -1419,6 +1560,16 @@ func (c *CloudTrail) LookupEventsRequest(input *LookupEventsInput) (req *request // Invalid token or token that was previously used in a request with different // parameters. This exception is thrown if the token is invalid. // +// * ErrCodeInvalidEventCategoryException "InvalidEventCategoryException" +// Occurs if an event category that is not valid is specified as a value of +// EventCategory. +// +// * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// This exception is thrown when the requested operation is not supported. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// This exception is thrown when the requested operation is not permitted. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/LookupEvents func (c *CloudTrail) LookupEvents(input *LookupEventsInput) (*LookupEventsOutput, error) { req, out := c.LookupEventsRequest(input) @@ -1662,6 +1813,132 @@ func (c *CloudTrail) PutEventSelectorsWithContext(ctx aws.Context, input *PutEve return out, req.Send() } +const opPutInsightSelectors = "PutInsightSelectors" + +// PutInsightSelectorsRequest generates a "aws/request.Request" representing the +// client's request for the PutInsightSelectors 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 PutInsightSelectors for more information on using the PutInsightSelectors +// 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 PutInsightSelectorsRequest method. +// req, resp := client.PutInsightSelectorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/PutInsightSelectors +func (c *CloudTrail) PutInsightSelectorsRequest(input *PutInsightSelectorsInput) (req *request.Request, output *PutInsightSelectorsOutput) { + op := &request.Operation{ + Name: opPutInsightSelectors, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutInsightSelectorsInput{} + } + + output = &PutInsightSelectorsOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutInsightSelectors API operation for AWS CloudTrail. +// +// Lets you enable Insights event logging by specifying the Insights selectors +// that you want to enable on an existing trail. You also use PutInsightSelectors +// to turn off Insights event logging, by passing an empty list of insight types. +// In this release, only ApiCallRateInsight is supported as an Insights selector. +// +// 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 CloudTrail's +// API operation PutInsightSelectors for usage and error information. +// +// Returned Error Codes: +// * ErrCodeTrailNotFoundException "TrailNotFoundException" +// This exception is thrown when the trail with the given name is not found. +// +// * ErrCodeInvalidTrailNameException "InvalidTrailNameException" +// This exception is thrown when the provided trail name is not valid. Trail +// names must meet the following requirements: +// +// * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores +// (_), or dashes (-) +// +// * Start with a letter or number, and end with a letter or number +// +// * Be between 3 and 128 characters +// +// * Have no adjacent periods, underscores or dashes. Names like my-_namespace +// and my--namespace are invalid. +// +// * Not be in IP address format (for example, 192.168.5.4) +// +// * ErrCodeInvalidHomeRegionException "InvalidHomeRegionException" +// This exception is thrown when an operation is called on a trail from a region +// other than the region in which the trail was created. +// +// * ErrCodeInvalidInsightSelectorsException "InvalidInsightSelectorsException" +// The formatting or syntax of the InsightSelectors JSON statement in your PutInsightSelectors +// or GetInsightSelectors request is not valid, or the specified insight type +// in the InsightSelectors statement is not a valid insight type. +// +// * ErrCodeInsufficientS3BucketPolicyException "InsufficientS3BucketPolicyException" +// This exception is thrown when the policy on the S3 bucket is not sufficient. +// +// * ErrCodeInsufficientEncryptionPolicyException "InsufficientEncryptionPolicyException" +// This exception is thrown when the policy on the S3 bucket or KMS key is not +// sufficient. +// +// * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// This exception is thrown when the requested operation is not supported. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// This exception is thrown when the requested operation is not permitted. +// +// * ErrCodeNotOrganizationMasterAccountException "NotOrganizationMasterAccountException" +// This exception is thrown when the AWS account making the request to create +// or update an organization trail is not the master account for an organization +// in AWS Organizations. For more information, see Prepare For Creating a Trail +// For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html). +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/PutInsightSelectors +func (c *CloudTrail) PutInsightSelectors(input *PutInsightSelectorsInput) (*PutInsightSelectorsOutput, error) { + req, out := c.PutInsightSelectorsRequest(input) + return out, req.Send() +} + +// PutInsightSelectorsWithContext is the same as PutInsightSelectors with the addition of +// the ability to pass a context and additional request options. +// +// See PutInsightSelectors 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 *CloudTrail) PutInsightSelectorsWithContext(ctx aws.Context, input *PutInsightSelectorsInput, opts ...request.Option) (*PutInsightSelectorsOutput, error) { + req, out := c.PutInsightSelectorsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRemoveTags = "RemoveTags" // RemoveTagsRequest generates a "aws/request.Request" representing the @@ -2136,6 +2413,27 @@ func (c *CloudTrail) UpdateTrailRequest(input *UpdateTrailInput) (req *request.R // * ErrCodeTrailNotProvidedException "TrailNotProvidedException" // This exception is no longer in use. // +// * ErrCodeInvalidEventSelectorsException "InvalidEventSelectorsException" +// This exception is thrown when the PutEventSelectors operation is called with +// a number of event selectors or data resources that is not valid. The combination +// of event selectors and data resources is not valid. A trail can have up to +// 5 event selectors. A trail is limited to 250 data resources. These data resources +// can be distributed across event selectors, but the overall total cannot exceed +// 250. +// +// You can: +// +// * Specify a valid number of event selectors (1 to 5) for a trail. +// +// * Specify a valid number of data resources (1 to 250) for an event selector. +// The limit of number of resources on an individual event selector is configurable +// up to 250. However, this upper limit is allowed only if the total number +// of data resources does not exceed 250 across all event selectors for a +// trail. +// +// * Specify a valid value for a parameter. For example, specifying the ReadWriteType +// parameter with a value of read-only is invalid. +// // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" // This exception is thrown when the combination of parameters provided is not // valid. @@ -2651,8 +2949,8 @@ func (s *CreateTrailOutput) SetTrailARN(v string) *CreateTrailOutput { } // The Amazon S3 buckets or AWS Lambda functions that you specify in your event -// selectors for your trail to log data events. Data events provide insight -// into the resource operations performed on or within a resource itself. These +// selectors for your trail to log data events. Data events provide information +// about the resource operations performed on or within a resource itself. These // are also known as data plane operations. You can specify up to 250 data resources // for a trail. // @@ -2870,7 +3168,11 @@ func (s *DescribeTrailsInput) SetTrailNameList(v []*string) *DescribeTrailsInput type DescribeTrailsOutput struct { _ struct{} `type:"structure"` - // The list of trail objects. + // The list of trail objects. Trail objects with string values are only returned + // if values for the objects exist in a trail's configuration. For example, + // SNSTopicName and SNSTopicARN are only returned in results if a trail is configured + // to send SNS notifications. Similarly, KMSKeyId only appears in results if + // a trail's log files are encrypted with AWS KMS-managed keys. TrailList []*Trail `locationName:"trailList" type:"list"` } @@ -3013,6 +3315,14 @@ type EventSelector struct { // in the AWS CloudTrail User Guide. DataResources []*DataResource `type:"list"` + // An optional list of service event sources from which you do not want management + // events to be logged on your trail. In this release, the list can be empty + // (disables the filter), or it can filter out AWS Key Management Service events + // by containing "kms.amazonaws.com". By default, ExcludeManagementEventSources + // is empty, and AWS KMS events are included in events that are logged to your + // trail. + ExcludeManagementEventSources []*string `type:"list"` + // Specify if you want your event selector to include management events for // your trail. // @@ -3046,6 +3356,12 @@ func (s *EventSelector) SetDataResources(v []*DataResource) *EventSelector { return s } +// SetExcludeManagementEventSources sets the ExcludeManagementEventSources field's value. +func (s *EventSelector) SetExcludeManagementEventSources(v []*string) *EventSelector { + s.ExcludeManagementEventSources = v + return s +} + // SetIncludeManagementEvents sets the IncludeManagementEvents field's value. func (s *EventSelector) SetIncludeManagementEvents(v bool) *EventSelector { s.IncludeManagementEvents = &v @@ -3145,6 +3461,95 @@ func (s *GetEventSelectorsOutput) SetTrailARN(v string) *GetEventSelectorsOutput return s } +type GetInsightSelectorsInput struct { + _ struct{} `type:"structure"` + + // Specifies the name of the trail or trail ARN. If you specify a trail name, + // the string must meet the following requirements: + // + // * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores + // (_), or dashes (-) + // + // * Start with a letter or number, and end with a letter or number + // + // * Be between 3 and 128 characters + // + // * Have no adjacent periods, underscores or dashes. Names like my-_namespace + // and my--namespace are not valid. + // + // * Not be in IP address format (for example, 192.168.5.4) + // + // If you specify a trail ARN, it must be in the format: + // + // arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail + // + // TrailName is a required field + TrailName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetInsightSelectorsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInsightSelectorsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetInsightSelectorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInsightSelectorsInput"} + if s.TrailName == nil { + invalidParams.Add(request.NewErrParamRequired("TrailName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTrailName sets the TrailName field's value. +func (s *GetInsightSelectorsInput) SetTrailName(v string) *GetInsightSelectorsInput { + s.TrailName = &v + return s +} + +type GetInsightSelectorsOutput struct { + _ struct{} `type:"structure"` + + // A JSON string that contains the insight types you want to log on a trail. + // In this release, only ApiCallRateInsight is supported as an insight type. + InsightSelectors []*InsightSelector `type:"list"` + + // The Amazon Resource Name (ARN) of a trail for which you want to get Insights + // selectors. + TrailARN *string `type:"string"` +} + +// String returns the string representation +func (s GetInsightSelectorsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInsightSelectorsOutput) GoString() string { + return s.String() +} + +// SetInsightSelectors sets the InsightSelectors field's value. +func (s *GetInsightSelectorsOutput) SetInsightSelectors(v []*InsightSelector) *GetInsightSelectorsOutput { + s.InsightSelectors = v + return s +} + +// SetTrailARN sets the TrailARN field's value. +func (s *GetInsightSelectorsOutput) SetTrailARN(v string) *GetInsightSelectorsOutput { + s.TrailARN = &v + return s +} + type GetTrailInput struct { _ struct{} `type:"structure"` @@ -3444,6 +3849,32 @@ func (s *GetTrailStatusOutput) SetTimeLoggingStopped(v string) *GetTrailStatusOu return s } +// A JSON string that contains a list of insight types that are logged on a +// trail. +type InsightSelector struct { + _ struct{} `type:"structure"` + + // The type of insights to log on a trail. In this release, only ApiCallRateInsight + // is supported as an insight type. + InsightType *string `type:"string" enum:"InsightType"` +} + +// String returns the string representation +func (s InsightSelector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InsightSelector) GoString() string { + return s.String() +} + +// SetInsightType sets the InsightType field's value. +func (s *InsightSelector) SetInsightType(v string) *InsightSelector { + s.InsightType = &v + return s +} + // Requests the public keys for a specified time range. type ListPublicKeysInput struct { _ struct{} `type:"structure"` @@ -3613,6 +4044,11 @@ func (s *ListTagsOutput) SetResourceTagList(v []*ResourceTag) *ListTagsOutput { type ListTrailsInput struct { _ struct{} `type:"structure"` + // The token to use to get the next page of results after a previous API call. + // This token must be passed in with the same parameters that were specified + // in the the original call. For example, if the original call specified an + // AttributeKey of 'Username' with a value of 'root', the call with NextToken + // should include those same parameters. NextToken *string `type:"string"` } @@ -3635,6 +4071,11 @@ func (s *ListTrailsInput) SetNextToken(v string) *ListTrailsInput { type ListTrailsOutput struct { _ struct{} `type:"structure"` + // The token to use to get the next page of results after a previous API call. + // If the token does not appear, there are no more results to return. The token + // must be passed in with the same parameters as the previous call. For example, + // if the original call specified an AttributeKey of 'Username' with a value + // of 'root', the call with NextToken should include those same parameters. NextToken *string `type:"string"` // Returns the name, ARN, and home region of trails in the current account. @@ -3725,6 +4166,12 @@ type LookupEventsInput struct { // error is returned. EndTime *time.Time `type:"timestamp"` + // Specifies the event category. If you do not specify an event category, events + // of the category are not returned in the response. For example, if you do + // not specify insight as the value of EventCategory, no Insights events are + // returned. + EventCategory *string `type:"string" enum:"EventCategory"` + // Contains a list of lookup attributes. Currently the list can contain only // one item. LookupAttributes []*LookupAttribute `type:"list"` @@ -3785,6 +4232,12 @@ func (s *LookupEventsInput) SetEndTime(v time.Time) *LookupEventsInput { return s } +// SetEventCategory sets the EventCategory field's value. +func (s *LookupEventsInput) SetEventCategory(v string) *LookupEventsInput { + s.EventCategory = &v + return s +} + // SetLookupAttributes sets the LookupAttributes field's value. func (s *LookupEventsInput) SetLookupAttributes(v []*LookupAttribute) *LookupEventsInput { s.LookupAttributes = v @@ -4006,6 +4459,94 @@ func (s *PutEventSelectorsOutput) SetTrailARN(v string) *PutEventSelectorsOutput return s } +type PutInsightSelectorsInput struct { + _ struct{} `type:"structure"` + + // A JSON string that contains the insight types you want to log on a trail. + // In this release, only ApiCallRateInsight is supported as an insight type. + // + // InsightSelectors is a required field + InsightSelectors []*InsightSelector `type:"list" required:"true"` + + // The name of the CloudTrail trail for which you want to change or add Insights + // selectors. + // + // TrailName is a required field + TrailName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s PutInsightSelectorsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutInsightSelectorsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutInsightSelectorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutInsightSelectorsInput"} + if s.InsightSelectors == nil { + invalidParams.Add(request.NewErrParamRequired("InsightSelectors")) + } + if s.TrailName == nil { + invalidParams.Add(request.NewErrParamRequired("TrailName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInsightSelectors sets the InsightSelectors field's value. +func (s *PutInsightSelectorsInput) SetInsightSelectors(v []*InsightSelector) *PutInsightSelectorsInput { + s.InsightSelectors = v + return s +} + +// SetTrailName sets the TrailName field's value. +func (s *PutInsightSelectorsInput) SetTrailName(v string) *PutInsightSelectorsInput { + s.TrailName = &v + return s +} + +type PutInsightSelectorsOutput struct { + _ struct{} `type:"structure"` + + // A JSON string that contains the insight types you want to log on a trail. + // In this release, only ApiCallRateInsight is supported as an insight type. + InsightSelectors []*InsightSelector `type:"list"` + + // The Amazon Resource Name (ARN) of a trail for which you want to change or + // add Insights selectors. + TrailARN *string `type:"string"` +} + +// String returns the string representation +func (s PutInsightSelectorsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutInsightSelectorsOutput) GoString() string { + return s.String() +} + +// SetInsightSelectors sets the InsightSelectors field's value. +func (s *PutInsightSelectorsOutput) SetInsightSelectors(v []*InsightSelector) *PutInsightSelectorsOutput { + s.InsightSelectors = v + return s +} + +// SetTrailARN sets the TrailARN field's value. +func (s *PutInsightSelectorsOutput) SetTrailARN(v string) *PutInsightSelectorsOutput { + s.TrailARN = &v + return s +} + // Specifies the tags to remove from a trail. type RemoveTagsInput struct { _ struct{} `type:"structure"` @@ -4338,6 +4879,10 @@ type Trail struct { // Specifies if the trail has custom event selectors. HasCustomEventSelectors *bool `type:"boolean"` + // Specifies whether a trail has insight types specified in an InsightSelector + // list. + HasInsightSelectors *bool `type:"boolean"` + // The region in which the trail was created. HomeRegion *string `type:"string"` @@ -4418,6 +4963,12 @@ func (s *Trail) SetHasCustomEventSelectors(v bool) *Trail { return s } +// SetHasInsightSelectors sets the HasInsightSelectors field's value. +func (s *Trail) SetHasInsightSelectors(v bool) *Trail { + s.HasInsightSelectors = &v + return s +} + // SetHomeRegion sets the HomeRegion field's value. func (s *Trail) SetHomeRegion(v string) *Trail { s.HomeRegion = &v @@ -4873,6 +5424,16 @@ func (s *UpdateTrailOutput) SetTrailARN(v string) *UpdateTrailOutput { return s } +const ( + // EventCategoryInsight is a EventCategory enum value + EventCategoryInsight = "insight" +) + +const ( + // InsightTypeApiCallRateInsight is a InsightType enum value + InsightTypeApiCallRateInsight = "ApiCallRateInsight" +) + const ( // LookupAttributeKeyEventId is a LookupAttributeKey enum value LookupAttributeKeyEventId = "EventId" diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/errors.go b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/errors.go index 69720a1927f3..87a183cd2260 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudtrail/errors.go @@ -28,6 +28,13 @@ const ( // Cannot set a CloudWatch Logs delivery for this region. ErrCodeCloudWatchLogsDeliveryUnavailableException = "CloudWatchLogsDeliveryUnavailableException" + // ErrCodeInsightNotEnabledException for service response error code + // "InsightNotEnabledException". + // + // If you run GetInsightSelectors on a trail that does not have Insights events + // enabled, the operation throws the exception InsightNotEnabledException. + ErrCodeInsightNotEnabledException = "InsightNotEnabledException" + // ErrCodeInsufficientDependencyServiceAccessPermissionException for service response error code // "InsufficientDependencyServiceAccessPermissionException". // @@ -68,6 +75,13 @@ const ( // This exception is thrown when the provided role is not valid. ErrCodeInvalidCloudWatchLogsRoleArnException = "InvalidCloudWatchLogsRoleArnException" + // ErrCodeInvalidEventCategoryException for service response error code + // "InvalidEventCategoryException". + // + // Occurs if an event category that is not valid is specified as a value of + // EventCategory. + ErrCodeInvalidEventCategoryException = "InvalidEventCategoryException" + // ErrCodeInvalidEventSelectorsException for service response error code // "InvalidEventSelectorsException". // @@ -99,6 +113,14 @@ const ( // other than the region in which the trail was created. ErrCodeInvalidHomeRegionException = "InvalidHomeRegionException" + // ErrCodeInvalidInsightSelectorsException for service response error code + // "InvalidInsightSelectorsException". + // + // The formatting or syntax of the InsightSelectors JSON statement in your PutInsightSelectors + // or GetInsightSelectors request is not valid, or the specified insight type + // in the InsightSelectors statement is not a valid insight type. + ErrCodeInvalidInsightSelectorsException = "InvalidInsightSelectorsException" + // ErrCodeInvalidKmsKeyIdException for service response error code // "InvalidKmsKeyIdException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go index 558e792d03da..1c6b4ccda007 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go @@ -270,6 +270,92 @@ func (c *CloudWatch) DeleteDashboardsWithContext(ctx aws.Context, input *DeleteD return out, req.Send() } +const opDeleteInsightRules = "DeleteInsightRules" + +// DeleteInsightRulesRequest generates a "aws/request.Request" representing the +// client's request for the DeleteInsightRules 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 DeleteInsightRules for more information on using the DeleteInsightRules +// 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 DeleteInsightRulesRequest method. +// req, resp := client.DeleteInsightRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteInsightRules +func (c *CloudWatch) DeleteInsightRulesRequest(input *DeleteInsightRulesInput) (req *request.Request, output *DeleteInsightRulesOutput) { + op := &request.Operation{ + Name: opDeleteInsightRules, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteInsightRulesInput{} + } + + output = &DeleteInsightRulesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteInsightRules API operation for Amazon CloudWatch. +// +// Permanently deletes the specified Contributor Insights rules. +// +// If you create a rule, delete it, and then re-create it with the same name, +// historical data from the first time the rule was created may or may not be +// available. +// +// 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 CloudWatch's +// API operation DeleteInsightRules for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value of an input parameter is bad or out-of-range. +// +// * ErrCodeMissingRequiredParameterException "MissingParameter" +// An input parameter that is required is missing. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DeleteInsightRules +func (c *CloudWatch) DeleteInsightRules(input *DeleteInsightRulesInput) (*DeleteInsightRulesOutput, error) { + req, out := c.DeleteInsightRulesRequest(input) + return out, req.Send() +} + +// DeleteInsightRulesWithContext is the same as DeleteInsightRules with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteInsightRules 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 *CloudWatch) DeleteInsightRulesWithContext(ctx aws.Context, input *DeleteInsightRulesInput, opts ...request.Option) (*DeleteInsightRulesOutput, error) { + req, out := c.DeleteInsightRulesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeAlarmHistory = "DescribeAlarmHistory" // DescribeAlarmHistoryRequest generates a "aws/request.Request" representing the @@ -712,313 +798,738 @@ func (c *CloudWatch) DescribeAnomalyDetectorsWithContext(ctx aws.Context, input return out, req.Send() } -const opDisableAlarmActions = "DisableAlarmActions" +const opDescribeInsightRules = "DescribeInsightRules" -// DisableAlarmActionsRequest generates a "aws/request.Request" representing the -// client's request for the DisableAlarmActions operation. The "output" return +// DescribeInsightRulesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInsightRules 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 DisableAlarmActions for more information on using the DisableAlarmActions +// See DescribeInsightRules for more information on using the DescribeInsightRules // 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 DisableAlarmActionsRequest method. -// req, resp := client.DisableAlarmActionsRequest(params) +// // Example sending a request using the DescribeInsightRulesRequest method. +// req, resp := client.DescribeInsightRulesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions -func (c *CloudWatch) DisableAlarmActionsRequest(input *DisableAlarmActionsInput) (req *request.Request, output *DisableAlarmActionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeInsightRules +func (c *CloudWatch) DescribeInsightRulesRequest(input *DescribeInsightRulesInput) (req *request.Request, output *DescribeInsightRulesOutput) { op := &request.Operation{ - Name: opDisableAlarmActions, + Name: opDescribeInsightRules, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &DisableAlarmActionsInput{} + input = &DescribeInsightRulesInput{} } - output = &DisableAlarmActionsOutput{} + output = &DescribeInsightRulesOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DisableAlarmActions API operation for Amazon CloudWatch. +// DescribeInsightRules API operation for Amazon CloudWatch. // -// Disables the actions for the specified alarms. When an alarm's actions are -// disabled, the alarm actions do not execute when the alarm state changes. +// Returns a list of all the Contributor Insights rules in your account. All +// rules in your account are returned with a single operation. +// +// For more information about Contributor Insights, see Using Contributor Insights +// to Analyze High-Cardinality Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.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 Amazon CloudWatch's -// API operation DisableAlarmActions for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions -func (c *CloudWatch) DisableAlarmActions(input *DisableAlarmActionsInput) (*DisableAlarmActionsOutput, error) { - req, out := c.DisableAlarmActionsRequest(input) +// API operation DescribeInsightRules for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidNextToken "InvalidNextToken" +// The next token specified is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeInsightRules +func (c *CloudWatch) DescribeInsightRules(input *DescribeInsightRulesInput) (*DescribeInsightRulesOutput, error) { + req, out := c.DescribeInsightRulesRequest(input) return out, req.Send() } -// DisableAlarmActionsWithContext is the same as DisableAlarmActions with the addition of +// DescribeInsightRulesWithContext is the same as DescribeInsightRules with the addition of // the ability to pass a context and additional request options. // -// See DisableAlarmActions for details on how to use this API operation. +// See DescribeInsightRules 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 *CloudWatch) DisableAlarmActionsWithContext(ctx aws.Context, input *DisableAlarmActionsInput, opts ...request.Option) (*DisableAlarmActionsOutput, error) { - req, out := c.DisableAlarmActionsRequest(input) +func (c *CloudWatch) DescribeInsightRulesWithContext(ctx aws.Context, input *DescribeInsightRulesInput, opts ...request.Option) (*DescribeInsightRulesOutput, error) { + req, out := c.DescribeInsightRulesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opEnableAlarmActions = "EnableAlarmActions" +// DescribeInsightRulesPages iterates over the pages of a DescribeInsightRules operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInsightRules 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 DescribeInsightRules operation. +// pageNum := 0 +// err := client.DescribeInsightRulesPages(params, +// func(page *cloudwatch.DescribeInsightRulesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudWatch) DescribeInsightRulesPages(input *DescribeInsightRulesInput, fn func(*DescribeInsightRulesOutput, bool) bool) error { + return c.DescribeInsightRulesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// EnableAlarmActionsRequest generates a "aws/request.Request" representing the -// client's request for the EnableAlarmActions operation. The "output" return +// DescribeInsightRulesPagesWithContext same as DescribeInsightRulesPages 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 *CloudWatch) DescribeInsightRulesPagesWithContext(ctx aws.Context, input *DescribeInsightRulesInput, fn func(*DescribeInsightRulesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInsightRulesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInsightRulesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInsightRulesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDisableAlarmActions = "DisableAlarmActions" + +// DisableAlarmActionsRequest generates a "aws/request.Request" representing the +// client's request for the DisableAlarmActions 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 EnableAlarmActions for more information on using the EnableAlarmActions +// See DisableAlarmActions for more information on using the DisableAlarmActions // 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 EnableAlarmActionsRequest method. -// req, resp := client.EnableAlarmActionsRequest(params) +// // Example sending a request using the DisableAlarmActionsRequest method. +// req, resp := client.DisableAlarmActionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions -func (c *CloudWatch) EnableAlarmActionsRequest(input *EnableAlarmActionsInput) (req *request.Request, output *EnableAlarmActionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions +func (c *CloudWatch) DisableAlarmActionsRequest(input *DisableAlarmActionsInput) (req *request.Request, output *DisableAlarmActionsOutput) { op := &request.Operation{ - Name: opEnableAlarmActions, + Name: opDisableAlarmActions, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &EnableAlarmActionsInput{} + input = &DisableAlarmActionsInput{} } - output = &EnableAlarmActionsOutput{} + output = &DisableAlarmActionsOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// EnableAlarmActions API operation for Amazon CloudWatch. +// DisableAlarmActions API operation for Amazon CloudWatch. // -// Enables the actions for the specified alarms. +// Disables the actions for the specified alarms. When an alarm's actions are +// disabled, the alarm actions do not execute when the alarm state changes. // // 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 CloudWatch's -// API operation EnableAlarmActions for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions -func (c *CloudWatch) EnableAlarmActions(input *EnableAlarmActionsInput) (*EnableAlarmActionsOutput, error) { - req, out := c.EnableAlarmActionsRequest(input) +// API operation DisableAlarmActions for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableAlarmActions +func (c *CloudWatch) DisableAlarmActions(input *DisableAlarmActionsInput) (*DisableAlarmActionsOutput, error) { + req, out := c.DisableAlarmActionsRequest(input) return out, req.Send() } -// EnableAlarmActionsWithContext is the same as EnableAlarmActions with the addition of +// DisableAlarmActionsWithContext is the same as DisableAlarmActions with the addition of // the ability to pass a context and additional request options. // -// See EnableAlarmActions for details on how to use this API operation. +// See DisableAlarmActions 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 *CloudWatch) EnableAlarmActionsWithContext(ctx aws.Context, input *EnableAlarmActionsInput, opts ...request.Option) (*EnableAlarmActionsOutput, error) { - req, out := c.EnableAlarmActionsRequest(input) +func (c *CloudWatch) DisableAlarmActionsWithContext(ctx aws.Context, input *DisableAlarmActionsInput, opts ...request.Option) (*DisableAlarmActionsOutput, error) { + req, out := c.DisableAlarmActionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetDashboard = "GetDashboard" +const opDisableInsightRules = "DisableInsightRules" -// GetDashboardRequest generates a "aws/request.Request" representing the -// client's request for the GetDashboard operation. The "output" return +// DisableInsightRulesRequest generates a "aws/request.Request" representing the +// client's request for the DisableInsightRules 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 GetDashboard for more information on using the GetDashboard +// See DisableInsightRules for more information on using the DisableInsightRules // 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 GetDashboardRequest method. -// req, resp := client.GetDashboardRequest(params) +// // Example sending a request using the DisableInsightRulesRequest method. +// req, resp := client.DisableInsightRulesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboard -func (c *CloudWatch) GetDashboardRequest(input *GetDashboardInput) (req *request.Request, output *GetDashboardOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableInsightRules +func (c *CloudWatch) DisableInsightRulesRequest(input *DisableInsightRulesInput) (req *request.Request, output *DisableInsightRulesOutput) { op := &request.Operation{ - Name: opGetDashboard, + Name: opDisableInsightRules, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetDashboardInput{} + input = &DisableInsightRulesInput{} } - output = &GetDashboardOutput{} + output = &DisableInsightRulesOutput{} req = c.newRequest(op, input, output) return } -// GetDashboard API operation for Amazon CloudWatch. -// -// Displays the details of the dashboard that you specify. +// DisableInsightRules API operation for Amazon CloudWatch. // -// To copy an existing dashboard, use GetDashboard, and then use the data returned -// within DashboardBody as the template for the new dashboard when you call -// PutDashboard to create the copy. +// Disables the specified Contributor Insights rules. When rules are disabled, +// they do not analyze log groups and do not incur costs. // // 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 CloudWatch's -// API operation GetDashboard for usage and error information. +// API operation DisableInsightRules for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value of an input parameter is bad or out-of-range. // -// * ErrCodeDashboardNotFoundError "ResourceNotFound" -// The specified dashboard does not exist. -// -// * ErrCodeInternalServiceFault "InternalServiceError" -// Request processing has failed due to some unknown error, exception, or failure. +// * ErrCodeMissingRequiredParameterException "MissingParameter" +// An input parameter that is required is missing. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboard -func (c *CloudWatch) GetDashboard(input *GetDashboardInput) (*GetDashboardOutput, error) { - req, out := c.GetDashboardRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DisableInsightRules +func (c *CloudWatch) DisableInsightRules(input *DisableInsightRulesInput) (*DisableInsightRulesOutput, error) { + req, out := c.DisableInsightRulesRequest(input) return out, req.Send() } -// GetDashboardWithContext is the same as GetDashboard with the addition of +// DisableInsightRulesWithContext is the same as DisableInsightRules with the addition of // the ability to pass a context and additional request options. // -// See GetDashboard for details on how to use this API operation. +// See DisableInsightRules 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 *CloudWatch) GetDashboardWithContext(ctx aws.Context, input *GetDashboardInput, opts ...request.Option) (*GetDashboardOutput, error) { - req, out := c.GetDashboardRequest(input) +func (c *CloudWatch) DisableInsightRulesWithContext(ctx aws.Context, input *DisableInsightRulesInput, opts ...request.Option) (*DisableInsightRulesOutput, error) { + req, out := c.DisableInsightRulesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetMetricData = "GetMetricData" +const opEnableAlarmActions = "EnableAlarmActions" -// GetMetricDataRequest generates a "aws/request.Request" representing the -// client's request for the GetMetricData operation. The "output" return +// EnableAlarmActionsRequest generates a "aws/request.Request" representing the +// client's request for the EnableAlarmActions 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 GetMetricData for more information on using the GetMetricData +// See EnableAlarmActions for more information on using the EnableAlarmActions // 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 GetMetricDataRequest method. -// req, resp := client.GetMetricDataRequest(params) +// // Example sending a request using the EnableAlarmActionsRequest method. +// req, resp := client.EnableAlarmActionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricData -func (c *CloudWatch) GetMetricDataRequest(input *GetMetricDataInput) (req *request.Request, output *GetMetricDataOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions +func (c *CloudWatch) EnableAlarmActionsRequest(input *EnableAlarmActionsInput) (req *request.Request, output *EnableAlarmActionsOutput) { op := &request.Operation{ - Name: opGetMetricData, + Name: opEnableAlarmActions, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxDatapoints", - TruncationToken: "", - }, } if input == nil { - input = &GetMetricDataInput{} + input = &EnableAlarmActionsInput{} } - output = &GetMetricDataOutput{} + output = &EnableAlarmActionsOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetMetricData API operation for Amazon CloudWatch. -// -// You can use the GetMetricData API to retrieve as many as 100 different metrics -// in a single request, with a total of as many as 100,800 datapoints. You can -// also optionally perform math expressions on the values of the returned statistics, -// to create new time series that represent new insights into your data. For -// example, using Lambda metrics, you could divide the Errors metric by the -// Invocations metric to get an error rate time series. For more information -// about metric math expressions, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) -// in the Amazon CloudWatch User Guide. +// EnableAlarmActions API operation for Amazon CloudWatch. // -// Calls to the GetMetricData API have a different pricing structure than calls -// to GetMetricStatistics. For more information about pricing, see Amazon CloudWatch -// Pricing (https://aws.amazon.com/cloudwatch/pricing/). +// Enables the actions for the specified alarms. // -// Amazon CloudWatch retains metric data as follows: +// 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. // -// * Data points with a period of less than 60 seconds are available for -// 3 hours. These data points are high-resolution metrics and are available +// See the AWS API reference guide for Amazon CloudWatch's +// API operation EnableAlarmActions for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableAlarmActions +func (c *CloudWatch) EnableAlarmActions(input *EnableAlarmActionsInput) (*EnableAlarmActionsOutput, error) { + req, out := c.EnableAlarmActionsRequest(input) + return out, req.Send() +} + +// EnableAlarmActionsWithContext is the same as EnableAlarmActions with the addition of +// the ability to pass a context and additional request options. +// +// See EnableAlarmActions 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 *CloudWatch) EnableAlarmActionsWithContext(ctx aws.Context, input *EnableAlarmActionsInput, opts ...request.Option) (*EnableAlarmActionsOutput, error) { + req, out := c.EnableAlarmActionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opEnableInsightRules = "EnableInsightRules" + +// EnableInsightRulesRequest generates a "aws/request.Request" representing the +// client's request for the EnableInsightRules 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 EnableInsightRules for more information on using the EnableInsightRules +// 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 EnableInsightRulesRequest method. +// req, resp := client.EnableInsightRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableInsightRules +func (c *CloudWatch) EnableInsightRulesRequest(input *EnableInsightRulesInput) (req *request.Request, output *EnableInsightRulesOutput) { + op := &request.Operation{ + Name: opEnableInsightRules, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &EnableInsightRulesInput{} + } + + output = &EnableInsightRulesOutput{} + req = c.newRequest(op, input, output) + return +} + +// EnableInsightRules API operation for Amazon CloudWatch. +// +// Enables the specified Contributor Insights rules. When rules are enabled, +// they immediately begin analyzing log data. +// +// 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 CloudWatch's +// API operation EnableInsightRules for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value of an input parameter is bad or out-of-range. +// +// * ErrCodeMissingRequiredParameterException "MissingParameter" +// An input parameter that is required is missing. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The operation exceeded one or more limits. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EnableInsightRules +func (c *CloudWatch) EnableInsightRules(input *EnableInsightRulesInput) (*EnableInsightRulesOutput, error) { + req, out := c.EnableInsightRulesRequest(input) + return out, req.Send() +} + +// EnableInsightRulesWithContext is the same as EnableInsightRules with the addition of +// the ability to pass a context and additional request options. +// +// See EnableInsightRules 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 *CloudWatch) EnableInsightRulesWithContext(ctx aws.Context, input *EnableInsightRulesInput, opts ...request.Option) (*EnableInsightRulesOutput, error) { + req, out := c.EnableInsightRulesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDashboard = "GetDashboard" + +// GetDashboardRequest generates a "aws/request.Request" representing the +// client's request for the GetDashboard 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 GetDashboard for more information on using the GetDashboard +// 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 GetDashboardRequest method. +// req, resp := client.GetDashboardRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboard +func (c *CloudWatch) GetDashboardRequest(input *GetDashboardInput) (req *request.Request, output *GetDashboardOutput) { + op := &request.Operation{ + Name: opGetDashboard, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDashboardInput{} + } + + output = &GetDashboardOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDashboard API operation for Amazon CloudWatch. +// +// Displays the details of the dashboard that you specify. +// +// To copy an existing dashboard, use GetDashboard, and then use the data returned +// within DashboardBody as the template for the new dashboard when you call +// PutDashboard to create the copy. +// +// 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 CloudWatch's +// API operation GetDashboard for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value of an input parameter is bad or out-of-range. +// +// * ErrCodeDashboardNotFoundError "ResourceNotFound" +// The specified dashboard does not exist. +// +// * ErrCodeInternalServiceFault "InternalServiceError" +// Request processing has failed due to some unknown error, exception, or failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetDashboard +func (c *CloudWatch) GetDashboard(input *GetDashboardInput) (*GetDashboardOutput, error) { + req, out := c.GetDashboardRequest(input) + return out, req.Send() +} + +// GetDashboardWithContext is the same as GetDashboard with the addition of +// the ability to pass a context and additional request options. +// +// See GetDashboard 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 *CloudWatch) GetDashboardWithContext(ctx aws.Context, input *GetDashboardInput, opts ...request.Option) (*GetDashboardOutput, error) { + req, out := c.GetDashboardRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetInsightRuleReport = "GetInsightRuleReport" + +// GetInsightRuleReportRequest generates a "aws/request.Request" representing the +// client's request for the GetInsightRuleReport 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 GetInsightRuleReport for more information on using the GetInsightRuleReport +// 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 GetInsightRuleReportRequest method. +// req, resp := client.GetInsightRuleReportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetInsightRuleReport +func (c *CloudWatch) GetInsightRuleReportRequest(input *GetInsightRuleReportInput) (req *request.Request, output *GetInsightRuleReportOutput) { + op := &request.Operation{ + Name: opGetInsightRuleReport, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetInsightRuleReportInput{} + } + + output = &GetInsightRuleReportOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetInsightRuleReport API operation for Amazon CloudWatch. +// +// This operation returns the time series data collected by a Contributor Insights +// rule. The data includes the identity and number of contributors to the log +// group. +// +// You can also optionally return one or more statistics about each data point +// in the time series. These statistics can include the following: +// +// * UniqueContributors -- the number of unique contributors for each data +// point. +// +// * MaxContributorValue -- the value of the top contributor for each data +// point. The identity of the contributor may change for each data point +// in the graph. If this rule aggregates by COUNT, the top contributor for +// each data point is the contributor with the most occurrences in that period. +// If the rule aggregates by SUM, the top contributor is the contributor +// with the highest sum in the log field specified by the rule's Value, during +// that period. +// +// * SampleCount -- the number of data points matched by the rule. +// +// * Sum -- the sum of the values from all contributors during the time period +// represented by that data point. +// +// * Minimum -- the minimum value from a single observation during the time +// period represented by that data point. +// +// * Maximum -- the maximum value from a single observation during the time +// period represented by that data point. +// +// * Average -- the average value from all contributors during the time period +// represented by that data point. +// +// 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 CloudWatch's +// API operation GetInsightRuleReport for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value of an input parameter is bad or out-of-range. +// +// * ErrCodeMissingRequiredParameterException "MissingParameter" +// An input parameter that is required is missing. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The named resource does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetInsightRuleReport +func (c *CloudWatch) GetInsightRuleReport(input *GetInsightRuleReportInput) (*GetInsightRuleReportOutput, error) { + req, out := c.GetInsightRuleReportRequest(input) + return out, req.Send() +} + +// GetInsightRuleReportWithContext is the same as GetInsightRuleReport with the addition of +// the ability to pass a context and additional request options. +// +// See GetInsightRuleReport 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 *CloudWatch) GetInsightRuleReportWithContext(ctx aws.Context, input *GetInsightRuleReportInput, opts ...request.Option) (*GetInsightRuleReportOutput, error) { + req, out := c.GetInsightRuleReportRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetMetricData = "GetMetricData" + +// GetMetricDataRequest generates a "aws/request.Request" representing the +// client's request for the GetMetricData 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 GetMetricData for more information on using the GetMetricData +// 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 GetMetricDataRequest method. +// req, resp := client.GetMetricDataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/GetMetricData +func (c *CloudWatch) GetMetricDataRequest(input *GetMetricDataInput) (req *request.Request, output *GetMetricDataOutput) { + op := &request.Operation{ + Name: opGetMetricData, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxDatapoints", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetMetricDataInput{} + } + + output = &GetMetricDataOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMetricData API operation for Amazon CloudWatch. +// +// You can use the GetMetricData API to retrieve as many as 100 different metrics +// in a single request, with a total of as many as 100,800 data points. You +// can also optionally perform math expressions on the values of the returned +// statistics, to create new time series that represent new insights into your +// data. For example, using Lambda metrics, you could divide the Errors metric +// by the Invocations metric to get an error rate time series. For more information +// about metric math expressions, see Metric Math Syntax and Functions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) +// in the Amazon CloudWatch User Guide. +// +// Calls to the GetMetricData API have a different pricing structure than calls +// to GetMetricStatistics. For more information about pricing, see Amazon CloudWatch +// Pricing (https://aws.amazon.com/cloudwatch/pricing/). +// +// Amazon CloudWatch retains metric data as follows: +// +// * Data points with a period of less than 60 seconds are available for +// 3 hours. These data points are high-resolution metrics and are available // only for custom metrics that have been defined with a StorageResolution // of 1. // @@ -1929,6 +2440,99 @@ func (c *CloudWatch) PutDashboardWithContext(ctx aws.Context, input *PutDashboar return out, req.Send() } +const opPutInsightRule = "PutInsightRule" + +// PutInsightRuleRequest generates a "aws/request.Request" representing the +// client's request for the PutInsightRule 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 PutInsightRule for more information on using the PutInsightRule +// 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 PutInsightRuleRequest method. +// req, resp := client.PutInsightRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutInsightRule +func (c *CloudWatch) PutInsightRuleRequest(input *PutInsightRuleInput) (req *request.Request, output *PutInsightRuleOutput) { + op := &request.Operation{ + Name: opPutInsightRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutInsightRuleInput{} + } + + output = &PutInsightRuleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutInsightRule API operation for Amazon CloudWatch. +// +// Creates a Contributor Insights rule. Rules evaluate log events in a CloudWatch +// Logs log group, enabling you to find contributor data for the log events +// in that log group. For more information, see Using Contributor Insights to +// Analyze High-Cardinality Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html). +// +// If you create a rule, delete it, and then re-create it with the same name, +// historical data from the first time the rule was created may or may not be +// available. +// +// 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 CloudWatch's +// API operation PutInsightRule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValue" +// The value of an input parameter is bad or out-of-range. +// +// * ErrCodeMissingRequiredParameterException "MissingParameter" +// An input parameter that is required is missing. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The operation exceeded one or more limits. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutInsightRule +func (c *CloudWatch) PutInsightRule(input *PutInsightRuleInput) (*PutInsightRuleOutput, error) { + req, out := c.PutInsightRuleRequest(input) + return out, req.Send() +} + +// PutInsightRuleWithContext is the same as PutInsightRule with the addition of +// the ability to pass a context and additional request options. +// +// See PutInsightRule 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 *CloudWatch) PutInsightRuleWithContext(ctx aws.Context, input *PutInsightRuleInput, opts ...request.Option) (*PutInsightRuleOutput, error) { + req, out := c.PutInsightRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutMetricAlarm = "PutMetricAlarm" // PutMetricAlarmRequest generates a "aws/request.Request" representing the @@ -2114,9 +2718,8 @@ func (c *CloudWatch) PutMetricDataRequest(input *PutMetricDataInput) (req *reque // // Although the Value parameter accepts numbers of type Double, CloudWatch rejects // values that are either too small or too large. Values must be in the range -// of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2). -// In addition, special values (for example, NaN, +Infinity, -Infinity) are -// not supported. +// of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, +// -Infinity) are not supported. // // You can use up to 10 dimensions per metric to further clarify what data the // metric collects. Each dimension consists of a Name and Value pair. For more @@ -2523,7 +3126,7 @@ func (s *AlarmHistoryItem) SetTimestamp(v time.Time) *AlarmHistoryItem { } // An anomaly detection model associated with a particular CloudWatch metric -// athresnd statistic. You can use the model to display a band of expected normal +// and statistic. You can use the model to display a band of expected normal // values when the metric is graphed. type AnomalyDetector struct { _ struct{} `type:"structure"` @@ -3032,6 +3635,69 @@ func (s DeleteDashboardsOutput) GoString() string { return s.String() } +type DeleteInsightRulesInput struct { + _ struct{} `type:"structure"` + + // An array of the rule names to delete. If you need to find out the names of + // your rules, use DescribeInsightRules. + // + // RuleNames is a required field + RuleNames []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s DeleteInsightRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInsightRulesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteInsightRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInsightRulesInput"} + if s.RuleNames == nil { + invalidParams.Add(request.NewErrParamRequired("RuleNames")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleNames sets the RuleNames field's value. +func (s *DeleteInsightRulesInput) SetRuleNames(v []*string) *DeleteInsightRulesInput { + s.RuleNames = v + return s +} + +type DeleteInsightRulesOutput struct { + _ struct{} `type:"structure"` + + // An array listing the rules that could not be deleted. You cannot delete built-in + // rules. + Failures []*PartialFailure `type:"list"` +} + +// String returns the string representation +func (s DeleteInsightRulesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInsightRulesOutput) GoString() string { + return s.String() +} + +// SetFailures sets the Failures field's value. +func (s *DeleteInsightRulesOutput) SetFailures(v []*PartialFailure) *DeleteInsightRulesOutput { + s.Failures = v + return s +} + type DescribeAlarmHistoryInput struct { _ struct{} `type:"structure"` @@ -3448,32 +4114,129 @@ func (s DescribeAnomalyDetectorsInput) String() string { } // GoString returns the string representation -func (s DescribeAnomalyDetectorsInput) GoString() string { +func (s DescribeAnomalyDetectorsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAnomalyDetectorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAnomalyDetectorsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.MetricName != nil && len(*s.MetricName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + if s.Dimensions != nil { + for i, v := range s.Dimensions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDimensions sets the Dimensions field's value. +func (s *DescribeAnomalyDetectorsInput) SetDimensions(v []*Dimension) *DescribeAnomalyDetectorsInput { + s.Dimensions = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeAnomalyDetectorsInput) SetMaxResults(v int64) *DescribeAnomalyDetectorsInput { + s.MaxResults = &v + return s +} + +// SetMetricName sets the MetricName field's value. +func (s *DescribeAnomalyDetectorsInput) SetMetricName(v string) *DescribeAnomalyDetectorsInput { + s.MetricName = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DescribeAnomalyDetectorsInput) SetNamespace(v string) *DescribeAnomalyDetectorsInput { + s.Namespace = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeAnomalyDetectorsInput) SetNextToken(v string) *DescribeAnomalyDetectorsInput { + s.NextToken = &v + return s +} + +type DescribeAnomalyDetectorsOutput struct { + _ struct{} `type:"structure"` + + // The list of anomaly detection models returned by the operation. + AnomalyDetectors []*AnomalyDetector `type:"list"` + + // A token that you can use in a subsequent operation to retrieve the next set + // of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeAnomalyDetectorsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAnomalyDetectorsOutput) GoString() string { + return s.String() +} + +// SetAnomalyDetectors sets the AnomalyDetectors field's value. +func (s *DescribeAnomalyDetectorsOutput) SetAnomalyDetectors(v []*AnomalyDetector) *DescribeAnomalyDetectorsOutput { + s.AnomalyDetectors = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeAnomalyDetectorsOutput) SetNextToken(v string) *DescribeAnomalyDetectorsOutput { + s.NextToken = &v + return s +} + +type DescribeInsightRulesInput struct { + _ struct{} `type:"structure"` + + // This parameter is not currently used. Reserved for future use. If it is used + // in the future, the maximum value may be different. + MaxResults *int64 `min:"1" type:"integer"` + + // Reserved for future use. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInsightRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInsightRulesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAnomalyDetectorsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAnomalyDetectorsInput"} +func (s *DescribeInsightRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInsightRulesInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.MetricName != nil && len(*s.MetricName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) - } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) - } - if s.Dimensions != nil { - for i, v := range s.Dimensions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -3481,65 +4244,46 @@ func (s *DescribeAnomalyDetectorsInput) Validate() error { return nil } -// SetDimensions sets the Dimensions field's value. -func (s *DescribeAnomalyDetectorsInput) SetDimensions(v []*Dimension) *DescribeAnomalyDetectorsInput { - s.Dimensions = v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *DescribeAnomalyDetectorsInput) SetMaxResults(v int64) *DescribeAnomalyDetectorsInput { +func (s *DescribeInsightRulesInput) SetMaxResults(v int64) *DescribeInsightRulesInput { s.MaxResults = &v return s } -// SetMetricName sets the MetricName field's value. -func (s *DescribeAnomalyDetectorsInput) SetMetricName(v string) *DescribeAnomalyDetectorsInput { - s.MetricName = &v - return s -} - -// SetNamespace sets the Namespace field's value. -func (s *DescribeAnomalyDetectorsInput) SetNamespace(v string) *DescribeAnomalyDetectorsInput { - s.Namespace = &v - return s -} - // SetNextToken sets the NextToken field's value. -func (s *DescribeAnomalyDetectorsInput) SetNextToken(v string) *DescribeAnomalyDetectorsInput { +func (s *DescribeInsightRulesInput) SetNextToken(v string) *DescribeInsightRulesInput { s.NextToken = &v return s } -type DescribeAnomalyDetectorsOutput struct { +type DescribeInsightRulesOutput struct { _ struct{} `type:"structure"` - // The list of anomaly detection models returned by the operation. - AnomalyDetectors []*AnomalyDetector `type:"list"` + // The rules returned by the operation. + InsightRules []*InsightRule `type:"list"` - // A token that you can use in a subsequent operation to retrieve the next set - // of results. + // Reserved for future use. NextToken *string `type:"string"` } // String returns the string representation -func (s DescribeAnomalyDetectorsOutput) String() string { +func (s DescribeInsightRulesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeAnomalyDetectorsOutput) GoString() string { +func (s DescribeInsightRulesOutput) GoString() string { return s.String() } -// SetAnomalyDetectors sets the AnomalyDetectors field's value. -func (s *DescribeAnomalyDetectorsOutput) SetAnomalyDetectors(v []*AnomalyDetector) *DescribeAnomalyDetectorsOutput { - s.AnomalyDetectors = v +// SetInsightRules sets the InsightRules field's value. +func (s *DescribeInsightRulesOutput) SetInsightRules(v []*InsightRule) *DescribeInsightRulesOutput { + s.InsightRules = v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeAnomalyDetectorsOutput) SetNextToken(v string) *DescribeAnomalyDetectorsOutput { +func (s *DescribeInsightRulesOutput) SetNextToken(v string) *DescribeInsightRulesOutput { s.NextToken = &v return s } @@ -3709,6 +4453,69 @@ func (s DisableAlarmActionsOutput) GoString() string { return s.String() } +type DisableInsightRulesInput struct { + _ struct{} `type:"structure"` + + // An array of the rule names to disable. If you need to find out the names + // of your rules, use DescribeInsightRules. + // + // RuleNames is a required field + RuleNames []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s DisableInsightRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableInsightRulesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisableInsightRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableInsightRulesInput"} + if s.RuleNames == nil { + invalidParams.Add(request.NewErrParamRequired("RuleNames")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleNames sets the RuleNames field's value. +func (s *DisableInsightRulesInput) SetRuleNames(v []*string) *DisableInsightRulesInput { + s.RuleNames = v + return s +} + +type DisableInsightRulesOutput struct { + _ struct{} `type:"structure"` + + // An array listing the rules that could not be disabled. You cannot disable + // built-in rules. + Failures []*PartialFailure `type:"list"` +} + +// String returns the string representation +func (s DisableInsightRulesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableInsightRulesOutput) GoString() string { + return s.String() +} + +// SetFailures sets the Failures field's value. +func (s *DisableInsightRulesOutput) SetFailures(v []*PartialFailure) *DisableInsightRulesOutput { + s.Failures = v + return s +} + type EnableAlarmActionsInput struct { _ struct{} `type:"structure"` @@ -3761,6 +4568,69 @@ func (s EnableAlarmActionsOutput) GoString() string { return s.String() } +type EnableInsightRulesInput struct { + _ struct{} `type:"structure"` + + // An array of the rule names to enable. If you need to find out the names of + // your rules, use DescribeInsightRules. + // + // RuleNames is a required field + RuleNames []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s EnableInsightRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableInsightRulesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableInsightRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableInsightRulesInput"} + if s.RuleNames == nil { + invalidParams.Add(request.NewErrParamRequired("RuleNames")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleNames sets the RuleNames field's value. +func (s *EnableInsightRulesInput) SetRuleNames(v []*string) *EnableInsightRulesInput { + s.RuleNames = v + return s +} + +type EnableInsightRulesOutput struct { + _ struct{} `type:"structure"` + + // An array listing the rules that could not be enabled. You cannot disable + // or enable built-in rules. + Failures []*PartialFailure `type:"list"` +} + +// String returns the string representation +func (s EnableInsightRulesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableInsightRulesOutput) GoString() string { + return s.String() +} + +// SetFailures sets the Failures field's value. +func (s *EnableInsightRulesOutput) SetFailures(v []*PartialFailure) *EnableInsightRulesOutput { + s.Failures = v + return s +} + type GetDashboardInput struct { _ struct{} `type:"structure"` @@ -3810,35 +4680,257 @@ type GetDashboardOutput struct { // the DashboardBody syntax, see CloudWatch-Dashboard-Body-Structure. DashboardBody *string `type:"string"` - // The name of the dashboard. - DashboardName *string `type:"string"` + // The name of the dashboard. + DashboardName *string `type:"string"` +} + +// String returns the string representation +func (s GetDashboardOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDashboardOutput) GoString() string { + return s.String() +} + +// SetDashboardArn sets the DashboardArn field's value. +func (s *GetDashboardOutput) SetDashboardArn(v string) *GetDashboardOutput { + s.DashboardArn = &v + return s +} + +// SetDashboardBody sets the DashboardBody field's value. +func (s *GetDashboardOutput) SetDashboardBody(v string) *GetDashboardOutput { + s.DashboardBody = &v + return s +} + +// SetDashboardName sets the DashboardName field's value. +func (s *GetDashboardOutput) SetDashboardName(v string) *GetDashboardOutput { + s.DashboardName = &v + return s +} + +type GetInsightRuleReportInput struct { + _ struct{} `type:"structure"` + + // The end time of the data to use in the report. When used in a raw HTTP Query + // API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" required:"true"` + + // The maximum number of contributors to include in the report. The range is + // 1 to 100. If you omit this, the default of 10 is used. + MaxContributorCount *int64 `type:"integer"` + + // Specifies which metrics to use for aggregation of contributor values for + // the report. You can specify one or more of the following metrics: + // + // * UniqueContributors -- the number of unique contributors for each data + // point. + // + // * MaxContributorValue -- the value of the top contributor for each data + // point. The identity of the contributor may change for each data point + // in the graph. If this rule aggregates by COUNT, the top contributor for + // each data point is the contributor with the most occurrences in that period. + // If the rule aggregates by SUM, the top contributor is the contributor + // with the highest sum in the log field specified by the rule's Value, during + // that period. + // + // * SampleCount -- the number of data points matched by the rule. + // + // * Sum -- the sum of the values from all contributors during the time period + // represented by that data point. + // + // * Minimum -- the minimum value from a single observation during the time + // period represented by that data point. + // + // * Maximum -- the maximum value from a single observation during the time + // period represented by that data point. + // + // * Average -- the average value from all contributors during the time period + // represented by that data point. + Metrics []*string `type:"list"` + + // Determines what statistic to use to rank the contributors. Valid values are + // SUM and MAXIMUM. + OrderBy *string `min:"1" type:"string"` + + // The period, in seconds, to use for the statistics in the InsightRuleMetricDatapoint + // results. + // + // Period is a required field + Period *int64 `min:"1" type:"integer" required:"true"` + + // The name of the rule that you want to see data from. + // + // RuleName is a required field + RuleName *string `min:"1" type:"string" required:"true"` + + // The start time of the data to use in the report. When used in a raw HTTP + // Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59. + // + // StartTime is a required field + StartTime *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s GetInsightRuleReportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInsightRuleReportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetInsightRuleReportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInsightRuleReportInput"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.OrderBy != nil && len(*s.OrderBy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OrderBy", 1)) + } + if s.Period == nil { + invalidParams.Add(request.NewErrParamRequired("Period")) + } + if s.Period != nil && *s.Period < 1 { + invalidParams.Add(request.NewErrParamMinValue("Period", 1)) + } + if s.RuleName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleName")) + } + if s.RuleName != nil && len(*s.RuleName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleName", 1)) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *GetInsightRuleReportInput) SetEndTime(v time.Time) *GetInsightRuleReportInput { + s.EndTime = &v + return s +} + +// SetMaxContributorCount sets the MaxContributorCount field's value. +func (s *GetInsightRuleReportInput) SetMaxContributorCount(v int64) *GetInsightRuleReportInput { + s.MaxContributorCount = &v + return s +} + +// SetMetrics sets the Metrics field's value. +func (s *GetInsightRuleReportInput) SetMetrics(v []*string) *GetInsightRuleReportInput { + s.Metrics = v + return s +} + +// SetOrderBy sets the OrderBy field's value. +func (s *GetInsightRuleReportInput) SetOrderBy(v string) *GetInsightRuleReportInput { + s.OrderBy = &v + return s +} + +// SetPeriod sets the Period field's value. +func (s *GetInsightRuleReportInput) SetPeriod(v int64) *GetInsightRuleReportInput { + s.Period = &v + return s +} + +// SetRuleName sets the RuleName field's value. +func (s *GetInsightRuleReportInput) SetRuleName(v string) *GetInsightRuleReportInput { + s.RuleName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GetInsightRuleReportInput) SetStartTime(v time.Time) *GetInsightRuleReportInput { + s.StartTime = &v + return s +} + +type GetInsightRuleReportOutput struct { + _ struct{} `type:"structure"` + + // The sum of the values from all individual contributors that match the rule. + AggregateValue *float64 `type:"double"` + + // Specifies whether this rule aggregates contributor data by COUNT or SUM. + AggregationStatistic *string `type:"string"` + + // An approximate count of the unique contributors found by this rule in this + // time period. + ApproximateUniqueCount *int64 `type:"long"` + + // An array of the unique contributors found by this rule in this time period. + // If the rule contains multiple keys, each combination of values for the keys + // counts as a unique contributor. + Contributors []*InsightRuleContributor `type:"list"` + + // An array of the strings used as the keys for this rule. The keys are the + // dimensions used to classify contributors. If the rule contains more than + // one key, then each unique combination of values for the keys is counted as + // a unique contributor. + KeyLabels []*string `type:"list"` + + // A time series of metric data points that matches the time period in the rule + // request. + MetricDatapoints []*InsightRuleMetricDatapoint `type:"list"` } // String returns the string representation -func (s GetDashboardOutput) String() string { +func (s GetInsightRuleReportOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDashboardOutput) GoString() string { +func (s GetInsightRuleReportOutput) GoString() string { return s.String() } -// SetDashboardArn sets the DashboardArn field's value. -func (s *GetDashboardOutput) SetDashboardArn(v string) *GetDashboardOutput { - s.DashboardArn = &v +// SetAggregateValue sets the AggregateValue field's value. +func (s *GetInsightRuleReportOutput) SetAggregateValue(v float64) *GetInsightRuleReportOutput { + s.AggregateValue = &v return s } -// SetDashboardBody sets the DashboardBody field's value. -func (s *GetDashboardOutput) SetDashboardBody(v string) *GetDashboardOutput { - s.DashboardBody = &v +// SetAggregationStatistic sets the AggregationStatistic field's value. +func (s *GetInsightRuleReportOutput) SetAggregationStatistic(v string) *GetInsightRuleReportOutput { + s.AggregationStatistic = &v return s } -// SetDashboardName sets the DashboardName field's value. -func (s *GetDashboardOutput) SetDashboardName(v string) *GetDashboardOutput { - s.DashboardName = &v +// SetApproximateUniqueCount sets the ApproximateUniqueCount field's value. +func (s *GetInsightRuleReportOutput) SetApproximateUniqueCount(v int64) *GetInsightRuleReportOutput { + s.ApproximateUniqueCount = &v + return s +} + +// SetContributors sets the Contributors field's value. +func (s *GetInsightRuleReportOutput) SetContributors(v []*InsightRuleContributor) *GetInsightRuleReportOutput { + s.Contributors = v + return s +} + +// SetKeyLabels sets the KeyLabels field's value. +func (s *GetInsightRuleReportOutput) SetKeyLabels(v []*string) *GetInsightRuleReportOutput { + s.KeyLabels = v + return s +} + +// SetMetricDatapoints sets the MetricDatapoints field's value. +func (s *GetInsightRuleReportOutput) SetMetricDatapoints(v []*InsightRuleMetricDatapoint) *GetInsightRuleReportOutput { + s.MetricDatapoints = v return s } @@ -4056,7 +5148,8 @@ type GetMetricStatisticsInput struct { // The time stamp that determines the last data point to return. // // The value specified is exclusive; results include data points up to the specified - // time stamp. The time stamp must be in ISO 8601 UTC format (for example, 2016-10-10T23:00:00Z). + // time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format + // (for example, 2016-10-10T23:00:00Z). // // EndTime is a required field EndTime *time.Time `type:"timestamp" required:"true"` @@ -4104,7 +5197,8 @@ type GetMetricStatisticsInput struct { // are evaluated relative to the time that CloudWatch receives the request. // // The value specified is inclusive; results include data points with the specified - // time stamp. The time stamp must be in ISO 8601 UTC format (for example, 2016-10-03T23:00:00Z). + // time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format + // (for example, 2016-10-03T23:00:00Z). // // CloudWatch rounds the specified time stamp as follows: // @@ -4397,6 +5491,284 @@ func (s *GetMetricWidgetImageOutput) SetMetricWidgetImage(v []byte) *GetMetricWi return s } +// This structure contains the definition for a Contributor Insights rule. +type InsightRule struct { + _ struct{} `type:"structure"` + + // The definition of the rule, as a JSON object. The definition contains the + // keywords used to define contributors, the value to aggregate on if this rule + // returns a sum instead of a count, and the filters. For details on the valid + // syntax, see Contributor Insights Rule Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html). + // + // Definition is a required field + Definition *string `min:"1" type:"string" required:"true"` + + // The name of the rule. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // For rules that you create, this is always {"Name": "CloudWatchLogRule", "Version": + // 1}. For built-in rules, this is {"Name": "ServiceLogRule", "Version": 1} + // + // Schema is a required field + Schema *string `type:"string" required:"true"` + + // Indicates whether the rule is enabled or disabled. + // + // State is a required field + State *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s InsightRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InsightRule) GoString() string { + return s.String() +} + +// SetDefinition sets the Definition field's value. +func (s *InsightRule) SetDefinition(v string) *InsightRule { + s.Definition = &v + return s +} + +// SetName sets the Name field's value. +func (s *InsightRule) SetName(v string) *InsightRule { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *InsightRule) SetSchema(v string) *InsightRule { + s.Schema = &v + return s +} + +// SetState sets the State field's value. +func (s *InsightRule) SetState(v string) *InsightRule { + s.State = &v + return s +} + +// One of the unique contributors found by a Contributor Insights rule. If the +// rule contains multiple keys, then a unique contributor is a unique combination +// of values from all the keys in the rule. +// +// If the rule contains a single key, then each unique contributor is each unique +// value for this key. +// +// For more information, see GetInsightRuleReport. +type InsightRuleContributor struct { + _ struct{} `type:"structure"` + + // An approximation of the aggregate value that comes from this contributor. + // + // ApproximateAggregateValue is a required field + ApproximateAggregateValue *float64 `type:"double" required:"true"` + + // An array of the data points where this contributor is present. Only the data + // points when this contributor appeared are included in the array. + // + // Datapoints is a required field + Datapoints []*InsightRuleContributorDatapoint `type:"list" required:"true"` + + // One of the log entry field keywords that is used to define contributors for + // this rule. + // + // Keys is a required field + Keys []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s InsightRuleContributor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InsightRuleContributor) GoString() string { + return s.String() +} + +// SetApproximateAggregateValue sets the ApproximateAggregateValue field's value. +func (s *InsightRuleContributor) SetApproximateAggregateValue(v float64) *InsightRuleContributor { + s.ApproximateAggregateValue = &v + return s +} + +// SetDatapoints sets the Datapoints field's value. +func (s *InsightRuleContributor) SetDatapoints(v []*InsightRuleContributorDatapoint) *InsightRuleContributor { + s.Datapoints = v + return s +} + +// SetKeys sets the Keys field's value. +func (s *InsightRuleContributor) SetKeys(v []*string) *InsightRuleContributor { + s.Keys = v + return s +} + +// One data point related to one contributor. +// +// For more information, see GetInsightRuleReport and InsightRuleContributor. +type InsightRuleContributorDatapoint struct { + _ struct{} `type:"structure"` + + // The approximate value that this contributor added during this timestamp. + // + // ApproximateValue is a required field + ApproximateValue *float64 `type:"double" required:"true"` + + // The timestamp of the data point. + // + // Timestamp is a required field + Timestamp *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s InsightRuleContributorDatapoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InsightRuleContributorDatapoint) GoString() string { + return s.String() +} + +// SetApproximateValue sets the ApproximateValue field's value. +func (s *InsightRuleContributorDatapoint) SetApproximateValue(v float64) *InsightRuleContributorDatapoint { + s.ApproximateValue = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *InsightRuleContributorDatapoint) SetTimestamp(v time.Time) *InsightRuleContributorDatapoint { + s.Timestamp = &v + return s +} + +// One data point from the metric time series returned in a Contributor Insights +// rule report. +// +// For more information, see GetInsightRuleReport. +type InsightRuleMetricDatapoint struct { + _ struct{} `type:"structure"` + + // The average value from all contributors during the time period represented + // by that data point. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + Average *float64 `type:"double"` + + // The maximum value provided by one contributor during this timestamp. Each + // timestamp is evaluated separately, so the identity of the max contributor + // could be different for each timestamp. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + MaxContributorValue *float64 `type:"double"` + + // The maximum value from a single occurence from a single contributor during + // the time period represented by that data point. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + Maximum *float64 `type:"double"` + + // The minimum value from a single contributor during the time period represented + // by that data point. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + Minimum *float64 `type:"double"` + + // The number of occurrences that matched the rule during this data point. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + SampleCount *float64 `type:"double"` + + // The sum of the values from all contributors during the time period represented + // by that data point. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + Sum *float64 `type:"double"` + + // The timestamp of the data point. + // + // Timestamp is a required field + Timestamp *time.Time `type:"timestamp" required:"true"` + + // The number of unique contributors who published data during this timestamp. + // + // This statistic is returned only if you included it in the Metrics array in + // your request. + UniqueContributors *float64 `type:"double"` +} + +// String returns the string representation +func (s InsightRuleMetricDatapoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InsightRuleMetricDatapoint) GoString() string { + return s.String() +} + +// SetAverage sets the Average field's value. +func (s *InsightRuleMetricDatapoint) SetAverage(v float64) *InsightRuleMetricDatapoint { + s.Average = &v + return s +} + +// SetMaxContributorValue sets the MaxContributorValue field's value. +func (s *InsightRuleMetricDatapoint) SetMaxContributorValue(v float64) *InsightRuleMetricDatapoint { + s.MaxContributorValue = &v + return s +} + +// SetMaximum sets the Maximum field's value. +func (s *InsightRuleMetricDatapoint) SetMaximum(v float64) *InsightRuleMetricDatapoint { + s.Maximum = &v + return s +} + +// SetMinimum sets the Minimum field's value. +func (s *InsightRuleMetricDatapoint) SetMinimum(v float64) *InsightRuleMetricDatapoint { + s.Minimum = &v + return s +} + +// SetSampleCount sets the SampleCount field's value. +func (s *InsightRuleMetricDatapoint) SetSampleCount(v float64) *InsightRuleMetricDatapoint { + s.SampleCount = &v + return s +} + +// SetSum sets the Sum field's value. +func (s *InsightRuleMetricDatapoint) SetSum(v float64) *InsightRuleMetricDatapoint { + s.Sum = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *InsightRuleMetricDatapoint) SetTimestamp(v time.Time) *InsightRuleMetricDatapoint { + s.Timestamp = &v + return s +} + +// SetUniqueContributors sets the UniqueContributors field's value. +func (s *InsightRuleMetricDatapoint) SetUniqueContributors(v float64) *InsightRuleMetricDatapoint { + s.UniqueContributors = &v + return s +} + type ListDashboardsInput struct { _ struct{} `type:"structure"` @@ -4768,7 +6140,7 @@ type MetricAlarm struct { // threshold. The specified statistic value is used as the first operand. ComparisonOperator *string `type:"string" enum:"ComparisonOperator"` - // The number of datapoints that must be breaching to trigger the alarm. + // The number of data points that must be breaching to trigger the alarm. DatapointsToAlarm *int64 `min:"1" type:"integer"` // The dimensions for the metric associated with the alarm. @@ -5086,10 +6458,9 @@ type MetricDataQuery struct { // or any multiple of 60. High-resolution metrics are those metrics stored by // a PutMetricData operation that includes a StorageResolution of 1 second. // - // Use this field only when you are performing a GetMetricData operation, and - // only when you are specifying the Expression field. Do not use this field - // with a PutMetricAlarm operation or when you are specifying a MetricStat in - // a GetMetricData operation. + // If you are performing a GetMetricData operation, use this field only if you + // are specifying an Expression. Do not use this field when you are specifying + // a MetricStat in a GetMetricData operation. Period *int64 `min:"1" type:"integer"` // When used in GetMetricData, this option indicates whether to return the timestamps @@ -5306,9 +6677,8 @@ type MetricDatum struct { // // Although the parameter accepts numbers of type Double, CloudWatch rejects // values that are either too small or too large. Values must be in the range - // of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2). - // In addition, special values (for example, NaN, +Infinity, -Infinity) are - // not supported. + // of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, + // -Infinity) are not supported. Value *float64 `type:"double"` // Array of numbers representing the values for the metric during the period. @@ -5319,9 +6689,8 @@ type MetricDatum struct { // // Although the Values array accepts numbers of type Double, CloudWatch rejects // values that are either too small or too large. Values must be in the range - // of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2). - // In addition, special values (for example, NaN, +Infinity, -Infinity) are - // not supported. + // of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, + // -Infinity) are not supported. Values []*float64 `type:"list"` } @@ -5535,6 +6904,59 @@ func (s *MetricStat) SetUnit(v string) *MetricStat { return s } +// This array is empty if the API operation was successful for all the rules +// specified in the request. If the operation could not process one of the rules, +// the following data is returned for each of those rules. +type PartialFailure struct { + _ struct{} `type:"structure"` + + // The type of error. + ExceptionType *string `type:"string"` + + // The code of the error. + FailureCode *string `type:"string"` + + // A description of the error. + FailureDescription *string `type:"string"` + + // The specified rule that could not be deleted. + FailureResource *string `type:"string"` +} + +// String returns the string representation +func (s PartialFailure) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PartialFailure) GoString() string { + return s.String() +} + +// SetExceptionType sets the ExceptionType field's value. +func (s *PartialFailure) SetExceptionType(v string) *PartialFailure { + s.ExceptionType = &v + return s +} + +// SetFailureCode sets the FailureCode field's value. +func (s *PartialFailure) SetFailureCode(v string) *PartialFailure { + s.FailureCode = &v + return s +} + +// SetFailureDescription sets the FailureDescription field's value. +func (s *PartialFailure) SetFailureDescription(v string) *PartialFailure { + s.FailureDescription = &v + return s +} + +// SetFailureResource sets the FailureResource field's value. +func (s *PartialFailure) SetFailureResource(v string) *PartialFailure { + s.FailureResource = &v + return s +} + type PutAnomalyDetectorInput struct { _ struct{} `type:"structure"` @@ -5750,6 +7172,91 @@ func (s *PutDashboardOutput) SetDashboardValidationMessages(v []*DashboardValida return s } +type PutInsightRuleInput struct { + _ struct{} `type:"structure"` + + // The definition of the rule, as a JSON object. For details on the valid syntax, + // see Contributor Insights Rule Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html). + // + // RuleDefinition is a required field + RuleDefinition *string `min:"1" type:"string" required:"true"` + + // A unique name for the rule. + // + // RuleName is a required field + RuleName *string `min:"1" type:"string" required:"true"` + + // The state of the rule. Valid values are ENABLED and DISABLED. + RuleState *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s PutInsightRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutInsightRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutInsightRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutInsightRuleInput"} + if s.RuleDefinition == nil { + invalidParams.Add(request.NewErrParamRequired("RuleDefinition")) + } + if s.RuleDefinition != nil && len(*s.RuleDefinition) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleDefinition", 1)) + } + if s.RuleName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleName")) + } + if s.RuleName != nil && len(*s.RuleName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleName", 1)) + } + if s.RuleState != nil && len(*s.RuleState) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleState", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleDefinition sets the RuleDefinition field's value. +func (s *PutInsightRuleInput) SetRuleDefinition(v string) *PutInsightRuleInput { + s.RuleDefinition = &v + return s +} + +// SetRuleName sets the RuleName field's value. +func (s *PutInsightRuleInput) SetRuleName(v string) *PutInsightRuleInput { + s.RuleName = &v + return s +} + +// SetRuleState sets the RuleState field's value. +func (s *PutInsightRuleInput) SetRuleState(v string) *PutInsightRuleInput { + s.RuleState = &v + return s +} + +type PutInsightRuleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutInsightRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutInsightRuleOutput) GoString() string { + return s.String() +} + type PutMetricAlarmInput struct { _ struct{} `type:"structure"` @@ -5787,7 +7294,7 @@ type PutMetricAlarmInput struct { // ComparisonOperator is a required field ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` - // The number of datapoints that must be breaching to trigger the alarm. This + // The number of data points that must be breaching to trigger the alarm. This // is used only if you are setting an "M out of N" alarm. In that case, this // value is the M. For more information, see Evaluating an Alarm (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) // in the Amazon CloudWatch User Guide. 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 2f1afa6b3673..53bcc0f6d571 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 @@ -250,6 +250,164 @@ func (c *CodeBuild) BatchGetProjectsWithContext(ctx aws.Context, input *BatchGet return out, req.Send() } +const opBatchGetReportGroups = "BatchGetReportGroups" + +// BatchGetReportGroupsRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetReportGroups 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 BatchGetReportGroups for more information on using the BatchGetReportGroups +// 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 BatchGetReportGroupsRequest method. +// req, resp := client.BatchGetReportGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReportGroups +func (c *CodeBuild) BatchGetReportGroupsRequest(input *BatchGetReportGroupsInput) (req *request.Request, output *BatchGetReportGroupsOutput) { + op := &request.Operation{ + Name: opBatchGetReportGroups, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchGetReportGroupsInput{} + } + + output = &BatchGetReportGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetReportGroups API operation for AWS CodeBuild. +// +// Returns an array of report groups. +// +// 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 CodeBuild's +// API operation BatchGetReportGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReportGroups +func (c *CodeBuild) BatchGetReportGroups(input *BatchGetReportGroupsInput) (*BatchGetReportGroupsOutput, error) { + req, out := c.BatchGetReportGroupsRequest(input) + return out, req.Send() +} + +// BatchGetReportGroupsWithContext is the same as BatchGetReportGroups with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetReportGroups 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 *CodeBuild) BatchGetReportGroupsWithContext(ctx aws.Context, input *BatchGetReportGroupsInput, opts ...request.Option) (*BatchGetReportGroupsOutput, error) { + req, out := c.BatchGetReportGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchGetReports = "BatchGetReports" + +// BatchGetReportsRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetReports 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 BatchGetReports for more information on using the BatchGetReports +// 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 BatchGetReportsRequest method. +// req, resp := client.BatchGetReportsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReports +func (c *CodeBuild) BatchGetReportsRequest(input *BatchGetReportsInput) (req *request.Request, output *BatchGetReportsOutput) { + op := &request.Operation{ + Name: opBatchGetReports, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchGetReportsInput{} + } + + output = &BatchGetReportsOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetReports API operation for AWS CodeBuild. +// +// Returns an array of reports. +// +// 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 CodeBuild's +// API operation BatchGetReports for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReports +func (c *CodeBuild) BatchGetReports(input *BatchGetReportsInput) (*BatchGetReportsOutput, error) { + req, out := c.BatchGetReportsRequest(input) + return out, req.Send() +} + +// BatchGetReportsWithContext is the same as BatchGetReports with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetReports 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 *CodeBuild) BatchGetReportsWithContext(ctx aws.Context, input *BatchGetReportsInput, opts ...request.Option) (*BatchGetReportsOutput, error) { + req, out := c.BatchGetReportsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateProject = "CreateProject" // CreateProjectRequest generates a "aws/request.Request" representing the @@ -336,6 +494,92 @@ func (c *CodeBuild) CreateProjectWithContext(ctx aws.Context, input *CreateProje return out, req.Send() } +const opCreateReportGroup = "CreateReportGroup" + +// CreateReportGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateReportGroup 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 CreateReportGroup for more information on using the CreateReportGroup +// 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 CreateReportGroupRequest method. +// req, resp := client.CreateReportGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateReportGroup +func (c *CodeBuild) CreateReportGroupRequest(input *CreateReportGroupInput) (req *request.Request, output *CreateReportGroupOutput) { + op := &request.Operation{ + Name: opCreateReportGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateReportGroupInput{} + } + + output = &CreateReportGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateReportGroup API operation for AWS CodeBuild. +// +// Creates a report group. A report group contains a collection of reports. +// +// 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 CodeBuild's +// API operation CreateReportGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The specified AWS resource cannot be created, because an AWS resource with +// the same settings already exists. +// +// * ErrCodeAccountLimitExceededException "AccountLimitExceededException" +// An AWS service limit was exceeded for the calling AWS account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateReportGroup +func (c *CodeBuild) CreateReportGroup(input *CreateReportGroupInput) (*CreateReportGroupOutput, error) { + req, out := c.CreateReportGroupRequest(input) + return out, req.Send() +} + +// CreateReportGroupWithContext is the same as CreateReportGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateReportGroup 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 *CodeBuild) CreateReportGroupWithContext(ctx aws.Context, input *CreateReportGroupInput, opts ...request.Option) (*CreateReportGroupOutput, error) { + req, out := c.CreateReportGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateWebhook = "CreateWebhook" // CreateWebhookRequest generates a "aws/request.Request" representing the @@ -481,7 +725,7 @@ func (c *CodeBuild) DeleteProjectRequest(input *DeleteProjectInput) (req *reques // DeleteProject API operation for AWS CodeBuild. // -// Deletes a build project. +// Deletes a build project. When you delete a project, its builds are not deleted. // // 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 @@ -516,214 +760,460 @@ func (c *CodeBuild) DeleteProjectWithContext(ctx aws.Context, input *DeleteProje return out, req.Send() } -const opDeleteSourceCredentials = "DeleteSourceCredentials" +const opDeleteReport = "DeleteReport" -// DeleteSourceCredentialsRequest generates a "aws/request.Request" representing the -// client's request for the DeleteSourceCredentials operation. The "output" return +// DeleteReportRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReport 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 DeleteSourceCredentials for more information on using the DeleteSourceCredentials +// See DeleteReport for more information on using the DeleteReport // 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 DeleteSourceCredentialsRequest method. -// req, resp := client.DeleteSourceCredentialsRequest(params) +// // Example sending a request using the DeleteReportRequest method. +// req, resp := client.DeleteReportRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteSourceCredentials -func (c *CodeBuild) DeleteSourceCredentialsRequest(input *DeleteSourceCredentialsInput) (req *request.Request, output *DeleteSourceCredentialsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReport +func (c *CodeBuild) DeleteReportRequest(input *DeleteReportInput) (req *request.Request, output *DeleteReportOutput) { op := &request.Operation{ - Name: opDeleteSourceCredentials, + Name: opDeleteReport, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteSourceCredentialsInput{} + input = &DeleteReportInput{} } - output = &DeleteSourceCredentialsOutput{} + output = &DeleteReportOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteSourceCredentials API operation for AWS CodeBuild. +// DeleteReport API operation for AWS CodeBuild. // -// Deletes a set of GitHub, GitHub Enterprise, or Bitbucket source credentials. +// Deletes a report. // // 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 CodeBuild's -// API operation DeleteSourceCredentials for usage and error information. +// API operation DeleteReport for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidInputException "InvalidInputException" // The input value that was provided is not valid. // -// * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The specified AWS resource cannot be found. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteSourceCredentials -func (c *CodeBuild) DeleteSourceCredentials(input *DeleteSourceCredentialsInput) (*DeleteSourceCredentialsOutput, error) { - req, out := c.DeleteSourceCredentialsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReport +func (c *CodeBuild) DeleteReport(input *DeleteReportInput) (*DeleteReportOutput, error) { + req, out := c.DeleteReportRequest(input) return out, req.Send() } -// DeleteSourceCredentialsWithContext is the same as DeleteSourceCredentials with the addition of +// DeleteReportWithContext is the same as DeleteReport with the addition of // the ability to pass a context and additional request options. // -// See DeleteSourceCredentials for details on how to use this API operation. +// See DeleteReport 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 *CodeBuild) DeleteSourceCredentialsWithContext(ctx aws.Context, input *DeleteSourceCredentialsInput, opts ...request.Option) (*DeleteSourceCredentialsOutput, error) { - req, out := c.DeleteSourceCredentialsRequest(input) +func (c *CodeBuild) DeleteReportWithContext(ctx aws.Context, input *DeleteReportInput, opts ...request.Option) (*DeleteReportOutput, error) { + req, out := c.DeleteReportRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteWebhook = "DeleteWebhook" +const opDeleteReportGroup = "DeleteReportGroup" -// DeleteWebhookRequest generates a "aws/request.Request" representing the -// client's request for the DeleteWebhook operation. The "output" return +// DeleteReportGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReportGroup 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 DeleteWebhook for more information on using the DeleteWebhook +// See DeleteReportGroup for more information on using the DeleteReportGroup // 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 DeleteWebhookRequest method. -// req, resp := client.DeleteWebhookRequest(params) +// // Example sending a request using the DeleteReportGroupRequest method. +// req, resp := client.DeleteReportGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook -func (c *CodeBuild) DeleteWebhookRequest(input *DeleteWebhookInput) (req *request.Request, output *DeleteWebhookOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReportGroup +func (c *CodeBuild) DeleteReportGroupRequest(input *DeleteReportGroupInput) (req *request.Request, output *DeleteReportGroupOutput) { op := &request.Operation{ - Name: opDeleteWebhook, + Name: opDeleteReportGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteWebhookInput{} + input = &DeleteReportGroupInput{} } - output = &DeleteWebhookOutput{} + output = &DeleteReportGroupOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteWebhook API operation for AWS CodeBuild. +// DeleteReportGroup API operation for AWS CodeBuild. // -// For an existing AWS CodeBuild build project that has its source code stored -// in a GitHub or Bitbucket repository, stops AWS CodeBuild from rebuilding -// the source code every time a code change is pushed to the repository. +// DeleteReportGroup: Deletes a report group. Before you delete a report group, +// you must delete its reports. Use ListReportsForReportGroup (https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ListReportsForReportGroup.html) +// to get the reports in a report group. Use DeleteReport (https://docs.aws.amazon.com/codebuild/latest/APIReference/API_DeleteReport.html) +// to delete the reports. If you call DeleteReportGroup for a report group that +// contains one or more reports, an exception is thrown. // // 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 CodeBuild's -// API operation DeleteWebhook for usage and error information. +// API operation DeleteReportGroup for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidInputException "InvalidInputException" // The input value that was provided is not valid. // -// * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The specified AWS resource cannot be found. -// -// * ErrCodeOAuthProviderException "OAuthProviderException" -// There was a problem with the underlying OAuth provider. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook -func (c *CodeBuild) DeleteWebhook(input *DeleteWebhookInput) (*DeleteWebhookOutput, error) { - req, out := c.DeleteWebhookRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReportGroup +func (c *CodeBuild) DeleteReportGroup(input *DeleteReportGroupInput) (*DeleteReportGroupOutput, error) { + req, out := c.DeleteReportGroupRequest(input) return out, req.Send() } -// DeleteWebhookWithContext is the same as DeleteWebhook with the addition of +// DeleteReportGroupWithContext is the same as DeleteReportGroup with the addition of // the ability to pass a context and additional request options. // -// See DeleteWebhook for details on how to use this API operation. +// See DeleteReportGroup 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 *CodeBuild) DeleteWebhookWithContext(ctx aws.Context, input *DeleteWebhookInput, opts ...request.Option) (*DeleteWebhookOutput, error) { - req, out := c.DeleteWebhookRequest(input) +func (c *CodeBuild) DeleteReportGroupWithContext(ctx aws.Context, input *DeleteReportGroupInput, opts ...request.Option) (*DeleteReportGroupOutput, error) { + req, out := c.DeleteReportGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opImportSourceCredentials = "ImportSourceCredentials" +const opDeleteSourceCredentials = "DeleteSourceCredentials" -// ImportSourceCredentialsRequest generates a "aws/request.Request" representing the -// client's request for the ImportSourceCredentials operation. The "output" return +// DeleteSourceCredentialsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSourceCredentials 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 ImportSourceCredentials for more information on using the ImportSourceCredentials +// See DeleteSourceCredentials for more information on using the DeleteSourceCredentials // 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 ImportSourceCredentialsRequest method. -// req, resp := client.ImportSourceCredentialsRequest(params) +// // Example sending a request using the DeleteSourceCredentialsRequest method. +// req, resp := client.DeleteSourceCredentialsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ImportSourceCredentials -func (c *CodeBuild) ImportSourceCredentialsRequest(input *ImportSourceCredentialsInput) (req *request.Request, output *ImportSourceCredentialsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteSourceCredentials +func (c *CodeBuild) DeleteSourceCredentialsRequest(input *DeleteSourceCredentialsInput) (req *request.Request, output *DeleteSourceCredentialsOutput) { op := &request.Operation{ - Name: opImportSourceCredentials, + Name: opDeleteSourceCredentials, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ImportSourceCredentialsInput{} + input = &DeleteSourceCredentialsInput{} } - output = &ImportSourceCredentialsOutput{} + output = &DeleteSourceCredentialsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteSourceCredentials API operation for AWS CodeBuild. +// +// Deletes a set of GitHub, GitHub Enterprise, or Bitbucket source credentials. +// +// 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 CodeBuild's +// API operation DeleteSourceCredentials for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteSourceCredentials +func (c *CodeBuild) DeleteSourceCredentials(input *DeleteSourceCredentialsInput) (*DeleteSourceCredentialsOutput, error) { + req, out := c.DeleteSourceCredentialsRequest(input) + return out, req.Send() +} + +// DeleteSourceCredentialsWithContext is the same as DeleteSourceCredentials with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSourceCredentials 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 *CodeBuild) DeleteSourceCredentialsWithContext(ctx aws.Context, input *DeleteSourceCredentialsInput, opts ...request.Option) (*DeleteSourceCredentialsOutput, error) { + req, out := c.DeleteSourceCredentialsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteWebhook = "DeleteWebhook" + +// DeleteWebhookRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWebhook 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 DeleteWebhook for more information on using the DeleteWebhook +// 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 DeleteWebhookRequest method. +// req, resp := client.DeleteWebhookRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook +func (c *CodeBuild) DeleteWebhookRequest(input *DeleteWebhookInput) (req *request.Request, output *DeleteWebhookOutput) { + op := &request.Operation{ + Name: opDeleteWebhook, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteWebhookInput{} + } + + output = &DeleteWebhookOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteWebhook API operation for AWS CodeBuild. +// +// For an existing AWS CodeBuild build project that has its source code stored +// in a GitHub or Bitbucket repository, stops AWS CodeBuild from rebuilding +// the source code every time a code change is pushed to the repository. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation DeleteWebhook for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified AWS resource cannot be found. +// +// * ErrCodeOAuthProviderException "OAuthProviderException" +// There was a problem with the underlying OAuth provider. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook +func (c *CodeBuild) DeleteWebhook(input *DeleteWebhookInput) (*DeleteWebhookOutput, error) { + req, out := c.DeleteWebhookRequest(input) + return out, req.Send() +} + +// DeleteWebhookWithContext is the same as DeleteWebhook with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWebhook 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 *CodeBuild) DeleteWebhookWithContext(ctx aws.Context, input *DeleteWebhookInput, opts ...request.Option) (*DeleteWebhookOutput, error) { + req, out := c.DeleteWebhookRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeTestCases = "DescribeTestCases" + +// DescribeTestCasesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTestCases 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 DescribeTestCases for more information on using the DescribeTestCases +// 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 DescribeTestCasesRequest method. +// req, resp := client.DescribeTestCasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DescribeTestCases +func (c *CodeBuild) DescribeTestCasesRequest(input *DescribeTestCasesInput) (req *request.Request, output *DescribeTestCasesOutput) { + op := &request.Operation{ + Name: opDescribeTestCases, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeTestCasesInput{} + } + + output = &DescribeTestCasesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeTestCases API operation for AWS CodeBuild. +// +// Returns a list of details about test cases for a report. +// +// 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 CodeBuild's +// API operation DescribeTestCases for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DescribeTestCases +func (c *CodeBuild) DescribeTestCases(input *DescribeTestCasesInput) (*DescribeTestCasesOutput, error) { + req, out := c.DescribeTestCasesRequest(input) + return out, req.Send() +} + +// DescribeTestCasesWithContext is the same as DescribeTestCases with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeTestCases 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 *CodeBuild) DescribeTestCasesWithContext(ctx aws.Context, input *DescribeTestCasesInput, opts ...request.Option) (*DescribeTestCasesOutput, error) { + req, out := c.DescribeTestCasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opImportSourceCredentials = "ImportSourceCredentials" + +// ImportSourceCredentialsRequest generates a "aws/request.Request" representing the +// client's request for the ImportSourceCredentials 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 ImportSourceCredentials for more information on using the ImportSourceCredentials +// 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 ImportSourceCredentialsRequest method. +// req, resp := client.ImportSourceCredentialsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ImportSourceCredentials +func (c *CodeBuild) ImportSourceCredentialsRequest(input *ImportSourceCredentialsInput) (req *request.Request, output *ImportSourceCredentialsOutput) { + op := &request.Operation{ + Name: opImportSourceCredentials, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ImportSourceCredentialsInput{} + } + + output = &ImportSourceCredentialsOutput{} req = c.newRequest(op, input, output) return } @@ -937,236 +1427,476 @@ func (c *CodeBuild) ListBuildsWithContext(ctx aws.Context, input *ListBuildsInpu const opListBuildsForProject = "ListBuildsForProject" -// ListBuildsForProjectRequest generates a "aws/request.Request" representing the -// client's request for the ListBuildsForProject operation. The "output" return +// ListBuildsForProjectRequest generates a "aws/request.Request" representing the +// client's request for the ListBuildsForProject 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 ListBuildsForProject for more information on using the ListBuildsForProject +// 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 ListBuildsForProjectRequest method. +// req, resp := client.ListBuildsForProjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildsForProject +func (c *CodeBuild) ListBuildsForProjectRequest(input *ListBuildsForProjectInput) (req *request.Request, output *ListBuildsForProjectOutput) { + op := &request.Operation{ + Name: opListBuildsForProject, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListBuildsForProjectInput{} + } + + output = &ListBuildsForProjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBuildsForProject API operation for AWS CodeBuild. +// +// Gets a list of build IDs for the specified build project, with each build +// ID representing a single build. +// +// 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 CodeBuild's +// API operation ListBuildsForProject for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildsForProject +func (c *CodeBuild) ListBuildsForProject(input *ListBuildsForProjectInput) (*ListBuildsForProjectOutput, error) { + req, out := c.ListBuildsForProjectRequest(input) + return out, req.Send() +} + +// ListBuildsForProjectWithContext is the same as ListBuildsForProject with the addition of +// the ability to pass a context and additional request options. +// +// See ListBuildsForProject 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 *CodeBuild) ListBuildsForProjectWithContext(ctx aws.Context, input *ListBuildsForProjectInput, opts ...request.Option) (*ListBuildsForProjectOutput, error) { + req, out := c.ListBuildsForProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListCuratedEnvironmentImages = "ListCuratedEnvironmentImages" + +// ListCuratedEnvironmentImagesRequest generates a "aws/request.Request" representing the +// client's request for the ListCuratedEnvironmentImages 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 ListCuratedEnvironmentImages for more information on using the ListCuratedEnvironmentImages +// 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 ListCuratedEnvironmentImagesRequest method. +// req, resp := client.ListCuratedEnvironmentImagesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListCuratedEnvironmentImages +func (c *CodeBuild) ListCuratedEnvironmentImagesRequest(input *ListCuratedEnvironmentImagesInput) (req *request.Request, output *ListCuratedEnvironmentImagesOutput) { + op := &request.Operation{ + Name: opListCuratedEnvironmentImages, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListCuratedEnvironmentImagesInput{} + } + + output = &ListCuratedEnvironmentImagesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCuratedEnvironmentImages API operation for AWS CodeBuild. +// +// Gets information about Docker images that are managed by AWS CodeBuild. +// +// 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 CodeBuild's +// API operation ListCuratedEnvironmentImages for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListCuratedEnvironmentImages +func (c *CodeBuild) ListCuratedEnvironmentImages(input *ListCuratedEnvironmentImagesInput) (*ListCuratedEnvironmentImagesOutput, error) { + req, out := c.ListCuratedEnvironmentImagesRequest(input) + return out, req.Send() +} + +// ListCuratedEnvironmentImagesWithContext is the same as ListCuratedEnvironmentImages with the addition of +// the ability to pass a context and additional request options. +// +// See ListCuratedEnvironmentImages 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 *CodeBuild) ListCuratedEnvironmentImagesWithContext(ctx aws.Context, input *ListCuratedEnvironmentImagesInput, opts ...request.Option) (*ListCuratedEnvironmentImagesOutput, error) { + req, out := c.ListCuratedEnvironmentImagesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListProjects = "ListProjects" + +// ListProjectsRequest generates a "aws/request.Request" representing the +// client's request for the ListProjects 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 ListProjects for more information on using the ListProjects +// 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 ListProjectsRequest method. +// req, resp := client.ListProjectsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListProjects +func (c *CodeBuild) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) { + op := &request.Operation{ + Name: opListProjects, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListProjectsInput{} + } + + output = &ListProjectsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProjects API operation for AWS CodeBuild. +// +// Gets a list of build project names, with each build project name representing +// a single build project. +// +// 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 CodeBuild's +// API operation ListProjects for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListProjects +func (c *CodeBuild) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) { + req, out := c.ListProjectsRequest(input) + return out, req.Send() +} + +// ListProjectsWithContext is the same as ListProjects with the addition of +// the ability to pass a context and additional request options. +// +// See ListProjects 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 *CodeBuild) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) { + req, out := c.ListProjectsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListReportGroups = "ListReportGroups" + +// ListReportGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListReportGroups 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 ListBuildsForProject for more information on using the ListBuildsForProject +// See ListReportGroups for more information on using the ListReportGroups // 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 ListBuildsForProjectRequest method. -// req, resp := client.ListBuildsForProjectRequest(params) +// // Example sending a request using the ListReportGroupsRequest method. +// req, resp := client.ListReportGroupsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildsForProject -func (c *CodeBuild) ListBuildsForProjectRequest(input *ListBuildsForProjectInput) (req *request.Request, output *ListBuildsForProjectOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportGroups +func (c *CodeBuild) ListReportGroupsRequest(input *ListReportGroupsInput) (req *request.Request, output *ListReportGroupsOutput) { op := &request.Operation{ - Name: opListBuildsForProject, + Name: opListReportGroups, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListBuildsForProjectInput{} + input = &ListReportGroupsInput{} } - output = &ListBuildsForProjectOutput{} + output = &ListReportGroupsOutput{} req = c.newRequest(op, input, output) return } -// ListBuildsForProject API operation for AWS CodeBuild. +// ListReportGroups API operation for AWS CodeBuild. // -// Gets a list of build IDs for the specified build project, with each build -// ID representing a single build. +// Gets a list ARNs for the report groups 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 AWS CodeBuild's -// API operation ListBuildsForProject for usage and error information. +// API operation ListReportGroups for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidInputException "InvalidInputException" // The input value that was provided is not valid. // -// * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The specified AWS resource cannot be found. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildsForProject -func (c *CodeBuild) ListBuildsForProject(input *ListBuildsForProjectInput) (*ListBuildsForProjectOutput, error) { - req, out := c.ListBuildsForProjectRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportGroups +func (c *CodeBuild) ListReportGroups(input *ListReportGroupsInput) (*ListReportGroupsOutput, error) { + req, out := c.ListReportGroupsRequest(input) return out, req.Send() } -// ListBuildsForProjectWithContext is the same as ListBuildsForProject with the addition of +// ListReportGroupsWithContext is the same as ListReportGroups with the addition of // the ability to pass a context and additional request options. // -// See ListBuildsForProject for details on how to use this API operation. +// See ListReportGroups 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 *CodeBuild) ListBuildsForProjectWithContext(ctx aws.Context, input *ListBuildsForProjectInput, opts ...request.Option) (*ListBuildsForProjectOutput, error) { - req, out := c.ListBuildsForProjectRequest(input) +func (c *CodeBuild) ListReportGroupsWithContext(ctx aws.Context, input *ListReportGroupsInput, opts ...request.Option) (*ListReportGroupsOutput, error) { + req, out := c.ListReportGroupsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListCuratedEnvironmentImages = "ListCuratedEnvironmentImages" +const opListReports = "ListReports" -// ListCuratedEnvironmentImagesRequest generates a "aws/request.Request" representing the -// client's request for the ListCuratedEnvironmentImages operation. The "output" return +// ListReportsRequest generates a "aws/request.Request" representing the +// client's request for the ListReports 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 ListCuratedEnvironmentImages for more information on using the ListCuratedEnvironmentImages +// See ListReports for more information on using the ListReports // 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 ListCuratedEnvironmentImagesRequest method. -// req, resp := client.ListCuratedEnvironmentImagesRequest(params) +// // Example sending a request using the ListReportsRequest method. +// req, resp := client.ListReportsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListCuratedEnvironmentImages -func (c *CodeBuild) ListCuratedEnvironmentImagesRequest(input *ListCuratedEnvironmentImagesInput) (req *request.Request, output *ListCuratedEnvironmentImagesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReports +func (c *CodeBuild) ListReportsRequest(input *ListReportsInput) (req *request.Request, output *ListReportsOutput) { op := &request.Operation{ - Name: opListCuratedEnvironmentImages, + Name: opListReports, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListCuratedEnvironmentImagesInput{} + input = &ListReportsInput{} } - output = &ListCuratedEnvironmentImagesOutput{} + output = &ListReportsOutput{} req = c.newRequest(op, input, output) return } -// ListCuratedEnvironmentImages API operation for AWS CodeBuild. +// ListReports API operation for AWS CodeBuild. // -// Gets information about Docker images that are managed by AWS CodeBuild. +// Returns a list of ARNs for the reports 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 AWS CodeBuild's -// API operation ListCuratedEnvironmentImages for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListCuratedEnvironmentImages -func (c *CodeBuild) ListCuratedEnvironmentImages(input *ListCuratedEnvironmentImagesInput) (*ListCuratedEnvironmentImagesOutput, error) { - req, out := c.ListCuratedEnvironmentImagesRequest(input) +// API operation ListReports for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReports +func (c *CodeBuild) ListReports(input *ListReportsInput) (*ListReportsOutput, error) { + req, out := c.ListReportsRequest(input) return out, req.Send() } -// ListCuratedEnvironmentImagesWithContext is the same as ListCuratedEnvironmentImages with the addition of +// ListReportsWithContext is the same as ListReports with the addition of // the ability to pass a context and additional request options. // -// See ListCuratedEnvironmentImages for details on how to use this API operation. +// See ListReports 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 *CodeBuild) ListCuratedEnvironmentImagesWithContext(ctx aws.Context, input *ListCuratedEnvironmentImagesInput, opts ...request.Option) (*ListCuratedEnvironmentImagesOutput, error) { - req, out := c.ListCuratedEnvironmentImagesRequest(input) +func (c *CodeBuild) ListReportsWithContext(ctx aws.Context, input *ListReportsInput, opts ...request.Option) (*ListReportsOutput, error) { + req, out := c.ListReportsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListProjects = "ListProjects" +const opListReportsForReportGroup = "ListReportsForReportGroup" -// ListProjectsRequest generates a "aws/request.Request" representing the -// client's request for the ListProjects operation. The "output" return +// ListReportsForReportGroupRequest generates a "aws/request.Request" representing the +// client's request for the ListReportsForReportGroup 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 ListProjects for more information on using the ListProjects +// See ListReportsForReportGroup for more information on using the ListReportsForReportGroup // 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 ListProjectsRequest method. -// req, resp := client.ListProjectsRequest(params) +// // Example sending a request using the ListReportsForReportGroupRequest method. +// req, resp := client.ListReportsForReportGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListProjects -func (c *CodeBuild) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportsForReportGroup +func (c *CodeBuild) ListReportsForReportGroupRequest(input *ListReportsForReportGroupInput) (req *request.Request, output *ListReportsForReportGroupOutput) { op := &request.Operation{ - Name: opListProjects, + Name: opListReportsForReportGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListProjectsInput{} + input = &ListReportsForReportGroupInput{} } - output = &ListProjectsOutput{} + output = &ListReportsForReportGroupOutput{} req = c.newRequest(op, input, output) return } -// ListProjects API operation for AWS CodeBuild. +// ListReportsForReportGroup API operation for AWS CodeBuild. // -// Gets a list of build project names, with each build project name representing -// a single build project. +// Returns a list of ARNs for the reports that belong to a ReportGroup. // // 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 CodeBuild's -// API operation ListProjects for usage and error information. +// API operation ListReportsForReportGroup for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidInputException "InvalidInputException" // The input value that was provided is not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListProjects -func (c *CodeBuild) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) { - req, out := c.ListProjectsRequest(input) +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportsForReportGroup +func (c *CodeBuild) ListReportsForReportGroup(input *ListReportsForReportGroupInput) (*ListReportsForReportGroupOutput, error) { + req, out := c.ListReportsForReportGroupRequest(input) return out, req.Send() } -// ListProjectsWithContext is the same as ListProjects with the addition of +// ListReportsForReportGroupWithContext is the same as ListReportsForReportGroup with the addition of // the ability to pass a context and additional request options. // -// See ListProjects for details on how to use this API operation. +// See ListReportsForReportGroup 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 *CodeBuild) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) { - req, out := c.ListProjectsRequest(input) +func (c *CodeBuild) ListReportsForReportGroupWithContext(ctx aws.Context, input *ListReportsForReportGroupInput, opts ...request.Option) (*ListReportsForReportGroupOutput, error) { + req, out := c.ListReportsForReportGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -1495,6 +2225,88 @@ func (c *CodeBuild) UpdateProjectWithContext(ctx aws.Context, input *UpdateProje return out, req.Send() } +const opUpdateReportGroup = "UpdateReportGroup" + +// UpdateReportGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateReportGroup 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 UpdateReportGroup for more information on using the UpdateReportGroup +// 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 UpdateReportGroupRequest method. +// req, resp := client.UpdateReportGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateReportGroup +func (c *CodeBuild) UpdateReportGroupRequest(input *UpdateReportGroupInput) (req *request.Request, output *UpdateReportGroupOutput) { + op := &request.Operation{ + Name: opUpdateReportGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateReportGroupInput{} + } + + output = &UpdateReportGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateReportGroup API operation for AWS CodeBuild. +// +// Updates a report 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 AWS CodeBuild's +// API operation UpdateReportGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The input value that was provided is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateReportGroup +func (c *CodeBuild) UpdateReportGroup(input *UpdateReportGroupInput) (*UpdateReportGroupOutput, error) { + req, out := c.UpdateReportGroupRequest(input) + return out, req.Send() +} + +// UpdateReportGroupWithContext is the same as UpdateReportGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateReportGroup 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 *CodeBuild) UpdateReportGroupWithContext(ctx aws.Context, input *UpdateReportGroupInput, opts ...request.Option) (*UpdateReportGroupOutput, error) { + req, out := c.UpdateReportGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateWebhook = "UpdateWebhook" // UpdateWebhookRequest generates a "aws/request.Request" representing the @@ -1722,39 +2534,186 @@ func (s *BatchGetBuildsOutput) SetBuilds(v []*Build) *BatchGetBuildsOutput { return s } -// SetBuildsNotFound sets the BuildsNotFound field's value. -func (s *BatchGetBuildsOutput) SetBuildsNotFound(v []*string) *BatchGetBuildsOutput { - s.BuildsNotFound = v +// SetBuildsNotFound sets the BuildsNotFound field's value. +func (s *BatchGetBuildsOutput) SetBuildsNotFound(v []*string) *BatchGetBuildsOutput { + s.BuildsNotFound = v + return s +} + +type BatchGetProjectsInput struct { + _ struct{} `type:"structure"` + + // The names of the build projects. + // + // Names is a required field + Names []*string `locationName:"names" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetProjectsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetProjectsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetProjectsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetProjectsInput"} + if s.Names == nil { + invalidParams.Add(request.NewErrParamRequired("Names")) + } + if s.Names != nil && len(s.Names) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Names", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNames sets the Names field's value. +func (s *BatchGetProjectsInput) SetNames(v []*string) *BatchGetProjectsInput { + s.Names = v + return s +} + +type BatchGetProjectsOutput struct { + _ struct{} `type:"structure"` + + // Information about the requested build projects. + Projects []*Project `locationName:"projects" type:"list"` + + // The names of build projects for which information could not be found. + ProjectsNotFound []*string `locationName:"projectsNotFound" min:"1" type:"list"` +} + +// String returns the string representation +func (s BatchGetProjectsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetProjectsOutput) GoString() string { + return s.String() +} + +// SetProjects sets the Projects field's value. +func (s *BatchGetProjectsOutput) SetProjects(v []*Project) *BatchGetProjectsOutput { + s.Projects = v + return s +} + +// SetProjectsNotFound sets the ProjectsNotFound field's value. +func (s *BatchGetProjectsOutput) SetProjectsNotFound(v []*string) *BatchGetProjectsOutput { + s.ProjectsNotFound = v + return s +} + +type BatchGetReportGroupsInput struct { + _ struct{} `type:"structure"` + + // An array of report group ARNs that identify the report groups to return. + // + // ReportGroupArns is a required field + ReportGroupArns []*string `locationName:"reportGroupArns" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetReportGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetReportGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetReportGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetReportGroupsInput"} + if s.ReportGroupArns == nil { + invalidParams.Add(request.NewErrParamRequired("ReportGroupArns")) + } + if s.ReportGroupArns != nil && len(s.ReportGroupArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReportGroupArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReportGroupArns sets the ReportGroupArns field's value. +func (s *BatchGetReportGroupsInput) SetReportGroupArns(v []*string) *BatchGetReportGroupsInput { + s.ReportGroupArns = v + return s +} + +type BatchGetReportGroupsOutput struct { + _ struct{} `type:"structure"` + + // The array of report groups returned by BatchGetReportGroups. + ReportGroups []*ReportGroup `locationName:"reportGroups" min:"1" type:"list"` + + // An array of ARNs passed to BatchGetReportGroups that are not associated with + // a ReportGroup. + ReportGroupsNotFound []*string `locationName:"reportGroupsNotFound" min:"1" type:"list"` +} + +// String returns the string representation +func (s BatchGetReportGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetReportGroupsOutput) GoString() string { + return s.String() +} + +// SetReportGroups sets the ReportGroups field's value. +func (s *BatchGetReportGroupsOutput) SetReportGroups(v []*ReportGroup) *BatchGetReportGroupsOutput { + s.ReportGroups = v + return s +} + +// SetReportGroupsNotFound sets the ReportGroupsNotFound field's value. +func (s *BatchGetReportGroupsOutput) SetReportGroupsNotFound(v []*string) *BatchGetReportGroupsOutput { + s.ReportGroupsNotFound = v return s } -type BatchGetProjectsInput struct { +type BatchGetReportsInput struct { _ struct{} `type:"structure"` - // The names of the build projects. + // An array of ARNs that identify the Report objects to return. // - // Names is a required field - Names []*string `locationName:"names" min:"1" type:"list" required:"true"` + // ReportArns is a required field + ReportArns []*string `locationName:"reportArns" min:"1" type:"list" required:"true"` } // String returns the string representation -func (s BatchGetProjectsInput) String() string { +func (s BatchGetReportsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchGetProjectsInput) GoString() string { +func (s BatchGetReportsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetProjectsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetProjectsInput"} - if s.Names == nil { - invalidParams.Add(request.NewErrParamRequired("Names")) +func (s *BatchGetReportsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetReportsInput"} + if s.ReportArns == nil { + invalidParams.Add(request.NewErrParamRequired("ReportArns")) } - if s.Names != nil && len(s.Names) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Names", 1)) + if s.ReportArns != nil && len(s.ReportArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReportArns", 1)) } if invalidParams.Len() > 0 { @@ -1763,41 +2722,42 @@ func (s *BatchGetProjectsInput) Validate() error { return nil } -// SetNames sets the Names field's value. -func (s *BatchGetProjectsInput) SetNames(v []*string) *BatchGetProjectsInput { - s.Names = v +// SetReportArns sets the ReportArns field's value. +func (s *BatchGetReportsInput) SetReportArns(v []*string) *BatchGetReportsInput { + s.ReportArns = v return s } -type BatchGetProjectsOutput struct { +type BatchGetReportsOutput struct { _ struct{} `type:"structure"` - // Information about the requested build projects. - Projects []*Project `locationName:"projects" type:"list"` + // The array of Report objects returned by BatchGetReports. + Reports []*Report `locationName:"reports" min:"1" type:"list"` - // The names of build projects for which information could not be found. - ProjectsNotFound []*string `locationName:"projectsNotFound" min:"1" type:"list"` + // An array of ARNs passed to BatchGetReportGroups that are not associated with + // a Report. + ReportsNotFound []*string `locationName:"reportsNotFound" min:"1" type:"list"` } // String returns the string representation -func (s BatchGetProjectsOutput) String() string { +func (s BatchGetReportsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchGetProjectsOutput) GoString() string { +func (s BatchGetReportsOutput) GoString() string { return s.String() } -// SetProjects sets the Projects field's value. -func (s *BatchGetProjectsOutput) SetProjects(v []*Project) *BatchGetProjectsOutput { - s.Projects = v +// SetReports sets the Reports field's value. +func (s *BatchGetReportsOutput) SetReports(v []*Report) *BatchGetReportsOutput { + s.Reports = v return s } -// SetProjectsNotFound sets the ProjectsNotFound field's value. -func (s *BatchGetProjectsOutput) SetProjectsNotFound(v []*string) *BatchGetProjectsOutput { - s.ProjectsNotFound = v +// SetReportsNotFound sets the ReportsNotFound field's value. +func (s *BatchGetReportsOutput) SetReportsNotFound(v []*string) *BatchGetReportsOutput { + s.ReportsNotFound = v return s } @@ -1890,6 +2850,9 @@ type Build struct { // The number of minutes a build is allowed to be queued before it times out. QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" type:"integer"` + // An array of the ARNs associated with this build's reports. + ReportArns []*string `locationName:"reportArns" type:"list"` + // An identifier for the version of this build's source code. // // * For AWS CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit @@ -1906,7 +2869,7 @@ type Build struct { // An array of ProjectSourceVersion objects. Each ProjectSourceVersion must // be one of: // - // * For AWS CodeCommit: the commit ID to use. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // // * For GitHub: the commit ID, pull request ID, branch name, or tag name // that corresponds to the version of the source code you want to build. @@ -2073,6 +3036,12 @@ func (s *Build) SetQueuedTimeoutInMinutes(v int64) *Build { return s } +// SetReportArns sets the ReportArns field's value. +func (s *Build) SetReportArns(v []*string) *Build { + s.ReportArns = v + return s +} + // SetResolvedSourceVersion sets the ResolvedSourceVersion field's value. func (s *Build) SetResolvedSourceVersion(v string) *Build { s.ResolvedSourceVersion = &v @@ -2496,7 +3465,7 @@ type CreateProjectInput struct { // A version of the build input to be built for this project. If not specified, // the latest version is used. If specified, it must be one of: // - // * For AWS CodeCommit: the commit ID to use. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // // * For GitHub: the commit ID, pull request ID, branch name, or tag name // that corresponds to the version of the source code you want to build. @@ -2786,6 +3755,104 @@ func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput { return s } +type CreateReportGroupInput struct { + _ struct{} `type:"structure"` + + // A ReportExportConfig object that contains information about where the report + // group test results are exported. + // + // ExportConfig is a required field + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure" required:"true"` + + // The name of the report group. + // + // Name is a required field + Name *string `locationName:"name" min:"2" type:"string" required:"true"` + + // The type of report group. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ReportType"` +} + +// String returns the string representation +func (s CreateReportGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateReportGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateReportGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateReportGroupInput"} + if s.ExportConfig == nil { + invalidParams.Add(request.NewErrParamRequired("ExportConfig")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Name", 2)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.ExportConfig != nil { + if err := s.ExportConfig.Validate(); err != nil { + invalidParams.AddNested("ExportConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExportConfig sets the ExportConfig field's value. +func (s *CreateReportGroupInput) SetExportConfig(v *ReportExportConfig) *CreateReportGroupInput { + s.ExportConfig = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateReportGroupInput) SetName(v string) *CreateReportGroupInput { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *CreateReportGroupInput) SetType(v string) *CreateReportGroupInput { + s.Type = &v + return s +} + +type CreateReportGroupOutput struct { + _ struct{} `type:"structure"` + + // Information about the report group that was created. + ReportGroup *ReportGroup `locationName:"reportGroup" type:"structure"` +} + +// String returns the string representation +func (s CreateReportGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateReportGroupOutput) GoString() string { + return s.String() +} + +// SetReportGroup sets the ReportGroup field's value. +func (s *CreateReportGroupOutput) SetReportGroup(v *ReportGroup) *CreateReportGroupOutput { + s.ReportGroup = v + return s +} + type CreateWebhookInput struct { _ struct{} `type:"structure"` @@ -2934,6 +4001,116 @@ func (s DeleteProjectOutput) GoString() string { return s.String() } +type DeleteReportGroupInput struct { + _ struct{} `type:"structure"` + + // The ARN of the report group to delete. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteReportGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReportGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReportGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReportGroupInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DeleteReportGroupInput) SetArn(v string) *DeleteReportGroupInput { + s.Arn = &v + return s +} + +type DeleteReportGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteReportGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReportGroupOutput) GoString() string { + return s.String() +} + +type DeleteReportInput struct { + _ struct{} `type:"structure"` + + // The ARN of the report to delete. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteReportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReportInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DeleteReportInput) SetArn(v string) *DeleteReportInput { + s.Arn = &v + return s +} + +type DeleteReportOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteReportOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReportOutput) GoString() string { + return s.String() +} + type DeleteSourceCredentialsInput struct { _ struct{} `type:"structure"` @@ -3048,9 +4225,123 @@ func (s DeleteWebhookOutput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s DeleteWebhookOutput) GoString() string { - return s.String() +// GoString returns the string representation +func (s DeleteWebhookOutput) GoString() string { + return s.String() +} + +type DescribeTestCasesInput struct { + _ struct{} `type:"structure"` + + // A TestCaseFilter object used to filter the returned reports. + Filter *TestCaseFilter `locationName:"filter" type:"structure"` + + // The maximum number of paginated test cases returned per response. Use nextToken + // to iterate pages in the list of returned TestCase objects. The default value + // is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The ARN of the report for which test cases are returned. + // + // ReportArn is a required field + ReportArn *string `locationName:"reportArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeTestCasesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTestCasesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTestCasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTestCasesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ReportArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReportArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilter sets the Filter field's value. +func (s *DescribeTestCasesInput) SetFilter(v *TestCaseFilter) *DescribeTestCasesInput { + s.Filter = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeTestCasesInput) SetMaxResults(v int64) *DescribeTestCasesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeTestCasesInput) SetNextToken(v string) *DescribeTestCasesInput { + s.NextToken = &v + return s +} + +// SetReportArn sets the ReportArn field's value. +func (s *DescribeTestCasesInput) SetReportArn(v string) *DescribeTestCasesInput { + s.ReportArn = &v + return s +} + +type DescribeTestCasesOutput struct { + _ struct{} `type:"structure"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The returned list of test cases. + TestCases []*TestCase `locationName:"testCases" type:"list"` +} + +// String returns the string representation +func (s DescribeTestCasesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTestCasesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeTestCasesOutput) SetNextToken(v string) *DescribeTestCasesOutput { + s.NextToken = &v + return s +} + +// SetTestCases sets the TestCases field's value. +func (s *DescribeTestCasesOutput) SetTestCases(v []*TestCase) *DescribeTestCasesOutput { + s.TestCases = v + return s } // Information about a Docker image that is managed by AWS CodeBuild. @@ -3177,7 +4468,7 @@ type EnvironmentVariable struct { // * PARAMETER_STORE: An environment variable stored in Amazon EC2 Systems // Manager Parameter Store. // - // * PLAINTEXT: An environment variable in plaintext format. + // * PLAINTEXT: An environment variable in plain text format. // // * SECRETS_MANAGER: An environment variable stored in AWS Secrets Manager. Type *string `locationName:"type" type:"string" enum:"EnvironmentVariableType"` @@ -3496,11 +4787,11 @@ type ListBuildsForProjectInput struct { _ struct{} `type:"structure"` // During a previous call, if there are more than 100 items in the list, only - // the first 100 items are returned, along with a unique string called a next - // token. To get the next batch of items in the list, call this operation again, - // adding the next token to the call. To get all of the items in the list, keep - // calling this operation with each subsequent next token that is returned, - // until no more next tokens are returned. + // the first 100 items are returned, along with a unique string called a nextToken. + // To get the next batch of items in the list, call this operation again, adding + // the next token to the call. To get all of the items in the list, keep calling + // this operation with each subsequent next token that is returned, until no + // more next tokens are returned. NextToken *string `locationName:"nextToken" type:"string"` // The name of the AWS CodeBuild project. @@ -3568,7 +4859,7 @@ type ListBuildsForProjectOutput struct { Ids []*string `locationName:"ids" min:"1" type:"list"` // If there are more than 100 items in the list, only the first 100 items are - // returned, along with a unique string called a next token. To get the next + // returned, along with a unique string called a nextToken. To get the next // batch of items in the list, call this operation again, adding the next token // to the call. NextToken *string `locationName:"nextToken" type:"string"` @@ -3600,11 +4891,11 @@ type ListBuildsInput struct { _ struct{} `type:"structure"` // During a previous call, if there are more than 100 items in the list, only - // the first 100 items are returned, along with a unique string called a next - // token. To get the next batch of items in the list, call this operation again, - // adding the next token to the call. To get all of the items in the list, keep - // calling this operation with each subsequent next token that is returned, - // until no more next tokens are returned. + // the first 100 items are returned, along with a unique string called a nextToken. + // To get the next batch of items in the list, call this operation again, adding + // the next token to the call. To get all of the items in the list, keep calling + // this operation with each subsequent next token that is returned, until no + // more next tokens are returned. NextToken *string `locationName:"nextToken" type:"string"` // The order to list build IDs. Valid values include: @@ -3644,7 +4935,7 @@ type ListBuildsOutput struct { Ids []*string `locationName:"ids" min:"1" type:"list"` // If there are more than 100 items in the list, only the first 100 items are - // returned, along with a unique string called a next token. To get the next + // returned, along with a unique string called a nextToken. To get the next // batch of items in the list, call this operation again, adding the next token // to the call. NextToken *string `locationName:"nextToken" type:"string"` @@ -3660,105 +4951,452 @@ func (s ListBuildsOutput) GoString() string { return s.String() } -// SetIds sets the Ids field's value. -func (s *ListBuildsOutput) SetIds(v []*string) *ListBuildsOutput { - s.Ids = v +// SetIds sets the Ids field's value. +func (s *ListBuildsOutput) SetIds(v []*string) *ListBuildsOutput { + s.Ids = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput { + s.NextToken = &v + return s +} + +type ListCuratedEnvironmentImagesInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ListCuratedEnvironmentImagesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCuratedEnvironmentImagesInput) GoString() string { + return s.String() +} + +type ListCuratedEnvironmentImagesOutput struct { + _ struct{} `type:"structure"` + + // Information about supported platforms for Docker images that are managed + // by AWS CodeBuild. + Platforms []*EnvironmentPlatform `locationName:"platforms" type:"list"` +} + +// String returns the string representation +func (s ListCuratedEnvironmentImagesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCuratedEnvironmentImagesOutput) GoString() string { + return s.String() +} + +// SetPlatforms sets the Platforms field's value. +func (s *ListCuratedEnvironmentImagesOutput) SetPlatforms(v []*EnvironmentPlatform) *ListCuratedEnvironmentImagesOutput { + s.Platforms = v + return s +} + +type ListProjectsInput struct { + _ struct{} `type:"structure"` + + // During a previous call, if there are more than 100 items in the list, only + // the first 100 items are returned, along with a unique string called a nextToken. + // To get the next batch of items in the list, call this operation again, adding + // the next token to the call. To get all of the items in the list, keep calling + // this operation with each subsequent next token that is returned, until no + // more next tokens are returned. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The criterion to be used to list build project names. Valid values include: + // + // * CREATED_TIME: List based on when each build project was created. + // + // * LAST_MODIFIED_TIME: List based on when information about each build + // project was last changed. + // + // * NAME: List based on each build project's name. + // + // Use sortOrder to specify in what order to list the build project names based + // on the preceding criteria. + SortBy *string `locationName:"sortBy" type:"string" enum:"ProjectSortByType"` + + // The order in which to list build projects. Valid values include: + // + // * ASCENDING: List in ascending order. + // + // * DESCENDING: List in descending order. + // + // Use sortBy to specify the criterion to be used to list build project names. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` +} + +// String returns the string representation +func (s ListProjectsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProjectsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProjectsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListProjectsInput) SetSortBy(v string) *ListProjectsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListProjectsInput) SetSortOrder(v string) *ListProjectsInput { + s.SortOrder = &v + return s +} + +type ListProjectsOutput struct { + _ struct{} `type:"structure"` + + // If there are more than 100 items in the list, only the first 100 items are + // returned, along with a unique string called a nextToken. To get the next + // batch of items in the list, call this operation again, adding the next token + // to the call. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of build project names, with each build project name representing + // a single build project. + Projects []*string `locationName:"projects" min:"1" type:"list"` +} + +// String returns the string representation +func (s ListProjectsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProjectsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput { + s.NextToken = &v + return s +} + +// SetProjects sets the Projects field's value. +func (s *ListProjectsOutput) SetProjects(v []*string) *ListProjectsOutput { + s.Projects = v + return s +} + +type ListReportGroupsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of paginated report groups returned per response. Use + // nextToken to iterate pages in the list of returned ReportGroup objects. The + // default value is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The criterion to be used to list build report groups. Valid values include: + // + // * CREATED_TIME: List based on when each report group was created. + // + // * LAST_MODIFIED_TIME: List based on when each report group was last changed. + // + // * NAME: List based on each report group's name. + SortBy *string `locationName:"sortBy" type:"string" enum:"ReportGroupSortByType"` + + // Used to specify the order to sort the list of returned report groups. Valid + // values are ASCENDING and DESCENDING. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` +} + +// String returns the string representation +func (s ListReportGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListReportGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListReportGroupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListReportGroupsInput) SetMaxResults(v int64) *ListReportGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportGroupsInput) SetNextToken(v string) *ListReportGroupsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListReportGroupsInput) SetSortBy(v string) *ListReportGroupsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListReportGroupsInput) SetSortOrder(v string) *ListReportGroupsInput { + s.SortOrder = &v + return s +} + +type ListReportGroupsOutput struct { + _ struct{} `type:"structure"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of ARNs for the report groups in the current AWS account. + ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"` +} + +// String returns the string representation +func (s ListReportGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportGroupsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportGroupsOutput) SetNextToken(v string) *ListReportGroupsOutput { + s.NextToken = &v + return s +} + +// SetReportGroups sets the ReportGroups field's value. +func (s *ListReportGroupsOutput) SetReportGroups(v []*string) *ListReportGroupsOutput { + s.ReportGroups = v + return s +} + +type ListReportsForReportGroupInput struct { + _ struct{} `type:"structure"` + + // A ReportFilter object used to filter the returned reports. + Filter *ReportFilter `locationName:"filter" type:"structure"` + + // The maximum number of paginated reports in this report group returned per + // response. Use nextToken to iterate pages in the list of returned Report objects. + // The default value is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The ARN of the report group for which you want to return report ARNs. + // + // ReportGroupArn is a required field + ReportGroupArn *string `locationName:"reportGroupArn" type:"string" required:"true"` + + // Use to specify whether the results are returned in ascending or descending + // order. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` +} + +// String returns the string representation +func (s ListReportsForReportGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportsForReportGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListReportsForReportGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListReportsForReportGroupInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ReportGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReportGroupArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilter sets the Filter field's value. +func (s *ListReportsForReportGroupInput) SetFilter(v *ReportFilter) *ListReportsForReportGroupInput { + s.Filter = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListReportsForReportGroupInput) SetMaxResults(v int64) *ListReportsForReportGroupInput { + s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput { +func (s *ListReportsForReportGroupInput) SetNextToken(v string) *ListReportsForReportGroupInput { s.NextToken = &v return s } -type ListCuratedEnvironmentImagesInput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s ListCuratedEnvironmentImagesInput) String() string { - return awsutil.Prettify(s) +// SetReportGroupArn sets the ReportGroupArn field's value. +func (s *ListReportsForReportGroupInput) SetReportGroupArn(v string) *ListReportsForReportGroupInput { + s.ReportGroupArn = &v + return s } -// GoString returns the string representation -func (s ListCuratedEnvironmentImagesInput) GoString() string { - return s.String() +// SetSortOrder sets the SortOrder field's value. +func (s *ListReportsForReportGroupInput) SetSortOrder(v string) *ListReportsForReportGroupInput { + s.SortOrder = &v + return s } -type ListCuratedEnvironmentImagesOutput struct { +type ListReportsForReportGroupOutput struct { _ struct{} `type:"structure"` - // Information about supported platforms for Docker images that are managed - // by AWS CodeBuild. - Platforms []*EnvironmentPlatform `locationName:"platforms" type:"list"` + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of returned report group ARNs. + Reports []*string `locationName:"reports" min:"1" type:"list"` } // String returns the string representation -func (s ListCuratedEnvironmentImagesOutput) String() string { +func (s ListReportsForReportGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListCuratedEnvironmentImagesOutput) GoString() string { +func (s ListReportsForReportGroupOutput) GoString() string { return s.String() } -// SetPlatforms sets the Platforms field's value. -func (s *ListCuratedEnvironmentImagesOutput) SetPlatforms(v []*EnvironmentPlatform) *ListCuratedEnvironmentImagesOutput { - s.Platforms = v +// SetNextToken sets the NextToken field's value. +func (s *ListReportsForReportGroupOutput) SetNextToken(v string) *ListReportsForReportGroupOutput { + s.NextToken = &v return s } -type ListProjectsInput struct { - _ struct{} `type:"structure"` +// SetReports sets the Reports field's value. +func (s *ListReportsForReportGroupOutput) SetReports(v []*string) *ListReportsForReportGroupOutput { + s.Reports = v + return s +} - // During a previous call, if there are more than 100 items in the list, only - // the first 100 items are returned, along with a unique string called a next - // token. To get the next batch of items in the list, call this operation again, - // adding the next token to the call. To get all of the items in the list, keep - // calling this operation with each subsequent next token that is returned, - // until no more next tokens are returned. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` +type ListReportsInput struct { + _ struct{} `type:"structure"` - // The criterion to be used to list build project names. Valid values include: - // - // * CREATED_TIME: List based on when each build project was created. - // - // * LAST_MODIFIED_TIME: List based on when information about each build - // project was last changed. - // - // * NAME: List based on each build project's name. - // - // Use sortOrder to specify in what order to list the build project names based - // on the preceding criteria. - SortBy *string `locationName:"sortBy" type:"string" enum:"ProjectSortByType"` + // A ReportFilter object used to filter the returned reports. + Filter *ReportFilter `locationName:"filter" type:"structure"` + + // The maximum number of paginated reports returned per response. Use nextToken + // to iterate pages in the list of returned Report objects. The default value + // is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` - // The order in which to list build projects. Valid values include: - // - // * ASCENDING: List in ascending order. + // Specifies the sort order for the list of returned reports. Valid values are: // - // * DESCENDING: List in descending order. + // * ASCENDING: return reports in chronological order based on their creation + // date. // - // Use sortBy to specify the criterion to be used to list build project names. + // * DESCENDING: return reports in the reverse chronological order based + // on their creation date. SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s ListProjectsInput) String() string { +func (s ListReportsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListProjectsInput) GoString() string { +func (s ListReportsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListProjectsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"} - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) +func (s *ListReportsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListReportsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -3767,57 +5405,65 @@ func (s *ListProjectsInput) Validate() error { return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput { - s.NextToken = &v +// SetFilter sets the Filter field's value. +func (s *ListReportsInput) SetFilter(v *ReportFilter) *ListReportsInput { + s.Filter = v return s } -// SetSortBy sets the SortBy field's value. -func (s *ListProjectsInput) SetSortBy(v string) *ListProjectsInput { - s.SortBy = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListReportsInput) SetMaxResults(v int64) *ListReportsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportsInput) SetNextToken(v string) *ListReportsInput { + s.NextToken = &v return s } // SetSortOrder sets the SortOrder field's value. -func (s *ListProjectsInput) SetSortOrder(v string) *ListProjectsInput { +func (s *ListReportsInput) SetSortOrder(v string) *ListReportsInput { s.SortOrder = &v return s } -type ListProjectsOutput struct { +type ListReportsOutput struct { _ struct{} `type:"structure"` - // If there are more than 100 items in the list, only the first 100 items are - // returned, along with a unique string called a next token. To get the next - // batch of items in the list, call this operation again, adding the next token - // to the call. + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. NextToken *string `locationName:"nextToken" type:"string"` - // The list of build project names, with each build project name representing - // a single build project. - Projects []*string `locationName:"projects" min:"1" type:"list"` + // The list of returned ARNs for the reports in the current AWS account. + Reports []*string `locationName:"reports" min:"1" type:"list"` } // String returns the string representation -func (s ListProjectsOutput) String() string { +func (s ListReportsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListProjectsOutput) GoString() string { +func (s ListReportsOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput { +func (s *ListReportsOutput) SetNextToken(v string) *ListReportsOutput { s.NextToken = &v return s } -// SetProjects sets the Projects field's value. -func (s *ListProjectsOutput) SetProjects(v []*string) *ListProjectsOutput { - s.Projects = v +// SetReports sets the Reports field's value. +func (s *ListReportsOutput) SetReports(v []*string) *ListReportsOutput { + s.Reports = v return s } @@ -3923,6 +5569,10 @@ type LogsLocation struct { // Information about Amazon CloudWatch Logs for a build project. CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" type:"structure"` + // The ARN of Amazon CloudWatch Logs for a build project. Its format is arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. + // For more information, see Resources Defined by Amazon CloudWatch Logs (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatchlogs.html#amazoncloudwatchlogs-resources-for-iam-policies). + CloudWatchLogsArn *string `locationName:"cloudWatchLogsArn" type:"string"` + // The URL to an individual build log in Amazon CloudWatch Logs. DeepLink *string `locationName:"deepLink" type:"string"` @@ -3935,6 +5585,10 @@ type LogsLocation struct { // Information about S3 logs for a build project. S3Logs *S3LogsConfig `locationName:"s3Logs" type:"structure"` + // The ARN of S3 logs for a build project. Its format is arn:${Partition}:s3:::${BucketName}/${ObjectName}. + // For more information, see Resources Defined by Amazon S3 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html#amazons3-resources-for-iam-policies). + S3LogsArn *string `locationName:"s3LogsArn" type:"string"` + // The name of the Amazon CloudWatch Logs stream for the build logs. StreamName *string `locationName:"streamName" type:"string"` } @@ -3955,6 +5609,12 @@ func (s *LogsLocation) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsLocation return s } +// SetCloudWatchLogsArn sets the CloudWatchLogsArn field's value. +func (s *LogsLocation) SetCloudWatchLogsArn(v string) *LogsLocation { + s.CloudWatchLogsArn = &v + return s +} + // SetDeepLink sets the DeepLink field's value. func (s *LogsLocation) SetDeepLink(v string) *LogsLocation { s.DeepLink = &v @@ -3979,6 +5639,12 @@ func (s *LogsLocation) SetS3Logs(v *S3LogsConfig) *LogsLocation { return s } +// SetS3LogsArn sets the S3LogsArn field's value. +func (s *LogsLocation) SetS3LogsArn(v string) *LogsLocation { + s.S3LogsArn = &v + return s +} + // SetStreamName sets the StreamName field's value. func (s *LogsLocation) SetStreamName(v string) *LogsLocation { s.StreamName = &v @@ -4124,7 +5790,7 @@ type Project struct { // A version of the build input to be built for this project. If not specified, // the latest version is used. If specified, it must be one of: // - // * For AWS CodeCommit: the commit ID to use. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // // * For GitHub: the commit ID, pull request ID, branch name, or tag name // that corresponds to the version of the source code you want to build. @@ -4581,7 +6247,7 @@ type ProjectCache struct { // Only directories can be specified for caching. You cannot specify individual // files. Symlinks are used to reference cached directories. Cached directories // are linked to your build before it downloads its project sources. Cached - // items are overriden if a source item has the same name. Directories are + // items are overridden if a source item has the same name. Directories are // specified using cache paths in the buildspec file. Modes []*string `locationName:"modes" type:"list"` @@ -5057,7 +6723,7 @@ type ProjectSourceVersion struct { // The source version for the corresponding source identifier. If specified, // must be one of: // - // * For AWS CodeCommit: the commit ID to use. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // // * For GitHub: the commit ID, pull request ID, branch name, or tag name // that corresponds to the version of the source code you want to build. @@ -5170,21 +6836,292 @@ func (s *RegistryCredential) Validate() error { invalidParams.Add(request.NewErrParamRequired("CredentialProvider")) } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCredential sets the Credential field's value. +func (s *RegistryCredential) SetCredential(v string) *RegistryCredential { + s.Credential = &v + return s +} + +// SetCredentialProvider sets the CredentialProvider field's value. +func (s *RegistryCredential) SetCredentialProvider(v string) *RegistryCredential { + s.CredentialProvider = &v + return s +} + +// Information about the results from running a series of test cases during +// the run of a build project. The test cases are specified in the buildspec +// for the build project using one or more paths to the test case files. You +// can specify any type of tests you want, such as unit tests, integration tests, +// and functional tests. +type Report struct { + _ struct{} `type:"structure"` + + // The ARN of the report run. + Arn *string `locationName:"arn" min:"1" type:"string"` + + // The date and time this report run occurred. + Created *time.Time `locationName:"created" type:"timestamp"` + + // The ARN of the build run that generated this report. + ExecutionId *string `locationName:"executionId" type:"string"` + + // The date and time a report expires. A report expires 30 days after it is + // created. An expired report is not available to view in CodeBuild. + Expired *time.Time `locationName:"expired" type:"timestamp"` + + // Information about where the raw data used to generate this report was exported. + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` + + // The name of the report that was run. + Name *string `locationName:"name" type:"string"` + + // The ARN of the report group associated with this report. + ReportGroupArn *string `locationName:"reportGroupArn" min:"1" type:"string"` + + // The status of this report. + Status *string `locationName:"status" type:"string" enum:"ReportStatusType"` + + // A TestReportSummary object that contains information about this test report. + TestSummary *TestReportSummary `locationName:"testSummary" type:"structure"` + + // A boolean that specifies if this report run is truncated. The list of test + // cases is truncated after the maximum number of test cases is reached. + Truncated *bool `locationName:"truncated" type:"boolean"` + + // The type of the report that was run. + Type *string `locationName:"type" type:"string" enum:"ReportType"` +} + +// String returns the string representation +func (s Report) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Report) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Report) SetArn(v string) *Report { + s.Arn = &v + return s +} + +// SetCreated sets the Created field's value. +func (s *Report) SetCreated(v time.Time) *Report { + s.Created = &v + return s +} + +// SetExecutionId sets the ExecutionId field's value. +func (s *Report) SetExecutionId(v string) *Report { + s.ExecutionId = &v + return s +} + +// SetExpired sets the Expired field's value. +func (s *Report) SetExpired(v time.Time) *Report { + s.Expired = &v + return s +} + +// SetExportConfig sets the ExportConfig field's value. +func (s *Report) SetExportConfig(v *ReportExportConfig) *Report { + s.ExportConfig = v + return s +} + +// SetName sets the Name field's value. +func (s *Report) SetName(v string) *Report { + s.Name = &v + return s +} + +// SetReportGroupArn sets the ReportGroupArn field's value. +func (s *Report) SetReportGroupArn(v string) *Report { + s.ReportGroupArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Report) SetStatus(v string) *Report { + s.Status = &v + return s +} + +// SetTestSummary sets the TestSummary field's value. +func (s *Report) SetTestSummary(v *TestReportSummary) *Report { + s.TestSummary = v + return s +} + +// SetTruncated sets the Truncated field's value. +func (s *Report) SetTruncated(v bool) *Report { + s.Truncated = &v + return s +} + +// SetType sets the Type field's value. +func (s *Report) SetType(v string) *Report { + s.Type = &v + return s +} + +// Information about the location where the run of a report is exported. +type ReportExportConfig struct { + _ struct{} `type:"structure"` + + // The export configuration type. Valid values are: + // + // * S3: The report results are exported to an S3 bucket. + // + // * NO_EXPORT: The report results are not exported. + ExportConfigType *string `locationName:"exportConfigType" type:"string" enum:"ReportExportConfigType"` + + // A S3ReportExportConfig object that contains information about the S3 bucket + // where the run of a report is exported. + S3Destination *S3ReportExportConfig `locationName:"s3Destination" type:"structure"` +} + +// String returns the string representation +func (s ReportExportConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReportExportConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReportExportConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReportExportConfig"} + if s.S3Destination != nil { + if err := s.S3Destination.Validate(); err != nil { + invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExportConfigType sets the ExportConfigType field's value. +func (s *ReportExportConfig) SetExportConfigType(v string) *ReportExportConfig { + s.ExportConfigType = &v + return s +} + +// SetS3Destination sets the S3Destination field's value. +func (s *ReportExportConfig) SetS3Destination(v *S3ReportExportConfig) *ReportExportConfig { + s.S3Destination = v + return s +} + +// A filter used to return reports with the status specified by the input status +// parameter. +type ReportFilter struct { + _ struct{} `type:"structure"` + + // The status used to filter reports. You can filter using one status only. + Status *string `locationName:"status" type:"string" enum:"ReportStatusType"` +} + +// String returns the string representation +func (s ReportFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReportFilter) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *ReportFilter) SetStatus(v string) *ReportFilter { + s.Status = &v + return s +} + +// A series of reports. Each report contains information about the results from +// running a series of test cases. You specify the test cases for a report group +// in the buildspec for a build project using one or more paths to the test +// case files. +type ReportGroup struct { + _ struct{} `type:"structure"` + + // The ARN of a ReportGroup. + Arn *string `locationName:"arn" min:"1" type:"string"` + + // The date and time this ReportGroup was created. + Created *time.Time `locationName:"created" type:"timestamp"` + + // Information about the destination where the raw data of this ReportGroup + // is exported. + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` + + // The date and time this ReportGroup was last modified. + LastModified *time.Time `locationName:"lastModified" type:"timestamp"` + + // The name of a ReportGroup. + Name *string `locationName:"name" min:"2" type:"string"` + + // The type of the ReportGroup. The one valid value is TEST. + Type *string `locationName:"type" type:"string" enum:"ReportType"` +} + +// String returns the string representation +func (s ReportGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReportGroup) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ReportGroup) SetArn(v string) *ReportGroup { + s.Arn = &v + return s +} + +// SetCreated sets the Created field's value. +func (s *ReportGroup) SetCreated(v time.Time) *ReportGroup { + s.Created = &v + return s } -// SetCredential sets the Credential field's value. -func (s *RegistryCredential) SetCredential(v string) *RegistryCredential { - s.Credential = &v +// SetExportConfig sets the ExportConfig field's value. +func (s *ReportGroup) SetExportConfig(v *ReportExportConfig) *ReportGroup { + s.ExportConfig = v return s } -// SetCredentialProvider sets the CredentialProvider field's value. -func (s *RegistryCredential) SetCredentialProvider(v string) *RegistryCredential { - s.CredentialProvider = &v +// SetLastModified sets the LastModified field's value. +func (s *ReportGroup) SetLastModified(v time.Time) *ReportGroup { + s.LastModified = &v + return s +} + +// SetName sets the Name field's value. +func (s *ReportGroup) SetName(v string) *ReportGroup { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *ReportGroup) SetType(v string) *ReportGroup { + s.Type = &v return s } @@ -5252,6 +7189,88 @@ func (s *S3LogsConfig) SetStatus(v string) *S3LogsConfig { return s } +// Information about the S3 bucket where the raw data of a report are exported. +type S3ReportExportConfig struct { + _ struct{} `type:"structure"` + + // The name of the S3 bucket where the raw data of a report are exported. + Bucket *string `locationName:"bucket" min:"1" type:"string"` + + // A boolean value that specifies if the results of a report are encrypted. + EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` + + // The encryption key for the report's encrypted raw data. + EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` + + // The type of build output artifact to create. Valid values include: + // + // * NONE: AWS CodeBuild creates the raw data in the output bucket. This + // is the default if packaging is not specified. + // + // * ZIP: AWS CodeBuild creates a ZIP file with the raw data in the output + // bucket. + Packaging *string `locationName:"packaging" type:"string" enum:"ReportPackagingType"` + + // The path to the exported report's raw data results. + Path *string `locationName:"path" type:"string"` +} + +// String returns the string representation +func (s S3ReportExportConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3ReportExportConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3ReportExportConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3ReportExportConfig"} + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } + if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucket sets the Bucket field's value. +func (s *S3ReportExportConfig) SetBucket(v string) *S3ReportExportConfig { + s.Bucket = &v + return s +} + +// SetEncryptionDisabled sets the EncryptionDisabled field's value. +func (s *S3ReportExportConfig) SetEncryptionDisabled(v bool) *S3ReportExportConfig { + s.EncryptionDisabled = &v + return s +} + +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *S3ReportExportConfig) SetEncryptionKey(v string) *S3ReportExportConfig { + s.EncryptionKey = &v + return s +} + +// SetPackaging sets the Packaging field's value. +func (s *S3ReportExportConfig) SetPackaging(v string) *S3ReportExportConfig { + s.Packaging = &v + return s +} + +// SetPath sets the Path field's value. +func (s *S3ReportExportConfig) SetPath(v string) *S3ReportExportConfig { + s.Path = &v + return s +} + // Information about the authorization settings for AWS CodeBuild to access // the source code to be built. // @@ -5480,7 +7499,7 @@ type StartBuildInput struct { // A version of the build input to be built, for this build only. If not specified, // the latest version is used. If specified, must be one of: // - // * For AWS CodeCommit: the commit ID to use. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // // * For GitHub: the commit ID, pull request ID, branch name, or tag name // that corresponds to the version of the source code you want to build. @@ -5923,6 +7942,173 @@ func (s *Tag) SetValue(v string) *Tag { return s } +// Information about a test case created using a framework such as NUnit or +// Cucumber. A test case might be a unit test or a configuration test. +type TestCase struct { + _ struct{} `type:"structure"` + + // The number of nanoseconds it took to run this test case. + DurationInNanoSeconds *int64 `locationName:"durationInNanoSeconds" type:"long"` + + // The date and time a test case expires. A test case expires 30 days after + // it is created. An expired test case is not available to view in CodeBuild. + Expired *time.Time `locationName:"expired" type:"timestamp"` + + // A message associated with a test case. For example, an error message or stack + // trace. + Message *string `locationName:"message" type:"string"` + + // The name of the test case. + Name *string `locationName:"name" type:"string"` + + // A string that is applied to a series of related test cases. CodeBuild generates + // the prefix. The prefix depends on the framework used to generate the tests. + Prefix *string `locationName:"prefix" type:"string"` + + // The ARN of the report to which the test case belongs. + ReportArn *string `locationName:"reportArn" min:"1" type:"string"` + + // The status returned by the test case after it was run. Valid statuses are + // SUCCEEDED, FAILED, ERROR, SKIPPED, and UNKNOWN. + Status *string `locationName:"status" type:"string"` + + // The path to the raw data file that contains the test result. + TestRawDataPath *string `locationName:"testRawDataPath" type:"string"` +} + +// String returns the string representation +func (s TestCase) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestCase) GoString() string { + return s.String() +} + +// SetDurationInNanoSeconds sets the DurationInNanoSeconds field's value. +func (s *TestCase) SetDurationInNanoSeconds(v int64) *TestCase { + s.DurationInNanoSeconds = &v + return s +} + +// SetExpired sets the Expired field's value. +func (s *TestCase) SetExpired(v time.Time) *TestCase { + s.Expired = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *TestCase) SetMessage(v string) *TestCase { + s.Message = &v + return s +} + +// SetName sets the Name field's value. +func (s *TestCase) SetName(v string) *TestCase { + s.Name = &v + return s +} + +// SetPrefix sets the Prefix field's value. +func (s *TestCase) SetPrefix(v string) *TestCase { + s.Prefix = &v + return s +} + +// SetReportArn sets the ReportArn field's value. +func (s *TestCase) SetReportArn(v string) *TestCase { + s.ReportArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *TestCase) SetStatus(v string) *TestCase { + s.Status = &v + return s +} + +// SetTestRawDataPath sets the TestRawDataPath field's value. +func (s *TestCase) SetTestRawDataPath(v string) *TestCase { + s.TestRawDataPath = &v + return s +} + +// A filter used to return specific types of test cases. +type TestCaseFilter struct { + _ struct{} `type:"structure"` + + // The status used to filter test cases. Valid statuses are SUCCEEDED, FAILED, + // ERROR, SKIPPED, and UNKNOWN. A TestCaseFilter can have one status. + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s TestCaseFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestCaseFilter) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *TestCaseFilter) SetStatus(v string) *TestCaseFilter { + s.Status = &v + return s +} + +// Information about a test report. +type TestReportSummary struct { + _ struct{} `type:"structure"` + + // The number of nanoseconds it took to run all of the test cases in this report. + // + // DurationInNanoSeconds is a required field + DurationInNanoSeconds *int64 `locationName:"durationInNanoSeconds" type:"long" required:"true"` + + // A map that contains the number of each type of status returned by the test + // results in this TestReportSummary. + // + // StatusCounts is a required field + StatusCounts map[string]*int64 `locationName:"statusCounts" type:"map" required:"true"` + + // The number of test cases in this TestReportSummary. The total includes truncated + // test cases. + // + // Total is a required field + Total *int64 `locationName:"total" type:"integer" required:"true"` +} + +// String returns the string representation +func (s TestReportSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestReportSummary) GoString() string { + return s.String() +} + +// SetDurationInNanoSeconds sets the DurationInNanoSeconds field's value. +func (s *TestReportSummary) SetDurationInNanoSeconds(v int64) *TestReportSummary { + s.DurationInNanoSeconds = &v + return s +} + +// SetStatusCounts sets the StatusCounts field's value. +func (s *TestReportSummary) SetStatusCounts(v map[string]*int64) *TestReportSummary { + s.StatusCounts = v + return s +} + +// SetTotal sets the Total field's value. +func (s *TestReportSummary) SetTotal(v int64) *TestReportSummary { + s.Total = &v + return s +} + type UpdateProjectInput struct { _ struct{} `type:"structure"` @@ -5991,7 +8177,7 @@ type UpdateProjectInput struct { // A version of the build input to be built for this project. If not specified, // the latest version is used. If specified, it must be one of: // - // * For AWS CodeCommit: the commit ID to use. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // // * For GitHub: the commit ID, pull request ID, branch name, or tag name // that corresponds to the version of the source code you want to build. @@ -6268,6 +8454,88 @@ func (s *UpdateProjectOutput) SetProject(v *Project) *UpdateProjectOutput { return s } +type UpdateReportGroupInput struct { + _ struct{} `type:"structure"` + + // The ARN of the report group to update. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` + + // Used to specify an updated export type. Valid values are: + // + // * S3: The report results are exported to an S3 bucket. + // + // * NO_EXPORT: The report results are not exported. + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` +} + +// String returns the string representation +func (s UpdateReportGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateReportGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateReportGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateReportGroupInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.ExportConfig != nil { + if err := s.ExportConfig.Validate(); err != nil { + invalidParams.AddNested("ExportConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *UpdateReportGroupInput) SetArn(v string) *UpdateReportGroupInput { + s.Arn = &v + return s +} + +// SetExportConfig sets the ExportConfig field's value. +func (s *UpdateReportGroupInput) SetExportConfig(v *ReportExportConfig) *UpdateReportGroupInput { + s.ExportConfig = v + return s +} + +type UpdateReportGroupOutput struct { + _ struct{} `type:"structure"` + + // Information about the updated report group. + ReportGroup *ReportGroup `locationName:"reportGroup" type:"structure"` +} + +// String returns the string representation +func (s UpdateReportGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateReportGroupOutput) GoString() string { + return s.String() +} + +// SetReportGroup sets the ReportGroup field's value. +func (s *UpdateReportGroupOutput) SetReportGroup(v *ReportGroup) *UpdateReportGroupOutput { + s.ReportGroup = v + return s +} + type UpdateWebhookInput struct { _ struct{} `type:"structure"` @@ -6280,7 +8548,7 @@ type UpdateWebhookInput struct { BranchFilter *string `locationName:"branchFilter" type:"string"` // An array of arrays of WebhookFilter objects used to determine if a webhook - // event can trigger a build. A filter group must pcontain at least one EVENT + // event can trigger a build. A filter group must contain at least one EVENT // WebhookFilter. FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"` @@ -6814,6 +9082,55 @@ const ( ProjectSortByTypeLastModifiedTime = "LAST_MODIFIED_TIME" ) +const ( + // ReportExportConfigTypeS3 is a ReportExportConfigType enum value + ReportExportConfigTypeS3 = "S3" + + // ReportExportConfigTypeNoExport is a ReportExportConfigType enum value + ReportExportConfigTypeNoExport = "NO_EXPORT" +) + +const ( + // ReportGroupSortByTypeName is a ReportGroupSortByType enum value + ReportGroupSortByTypeName = "NAME" + + // ReportGroupSortByTypeCreatedTime is a ReportGroupSortByType enum value + ReportGroupSortByTypeCreatedTime = "CREATED_TIME" + + // ReportGroupSortByTypeLastModifiedTime is a ReportGroupSortByType enum value + ReportGroupSortByTypeLastModifiedTime = "LAST_MODIFIED_TIME" +) + +const ( + // ReportPackagingTypeZip is a ReportPackagingType enum value + ReportPackagingTypeZip = "ZIP" + + // ReportPackagingTypeNone is a ReportPackagingType enum value + ReportPackagingTypeNone = "NONE" +) + +const ( + // ReportStatusTypeGenerating is a ReportStatusType enum value + ReportStatusTypeGenerating = "GENERATING" + + // ReportStatusTypeSucceeded is a ReportStatusType enum value + ReportStatusTypeSucceeded = "SUCCEEDED" + + // ReportStatusTypeFailed is a ReportStatusType enum value + ReportStatusTypeFailed = "FAILED" + + // ReportStatusTypeIncomplete is a ReportStatusType enum value + ReportStatusTypeIncomplete = "INCOMPLETE" + + // ReportStatusTypeDeleting is a ReportStatusType enum value + ReportStatusTypeDeleting = "DELETING" +) + +const ( + // ReportTypeTest is a ReportType enum value + ReportTypeTest = "TEST" +) + const ( // ServerTypeGithub is a ServerType enum value ServerTypeGithub = "GITHUB" diff --git a/vendor/github.com/aws/aws-sdk-go/service/codebuild/doc.go b/vendor/github.com/aws/aws-sdk-go/service/codebuild/doc.go index c9e77dc3ed72..989a57f67ab5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codebuild/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codebuild/doc.go @@ -28,8 +28,15 @@ // language runtime, and tools that AWS CodeBuild uses to run a build. You // can add tags to build projects to help manage your resources and costs. // +// * BatchGetReportGroups: Returns an array of report groups. +// +// * BatchGetReports: Returns an array of reports. +// // * CreateProject: Creates a build project. // +// * CreateReportGroup: Creates a report group. A report group contains a +// collection of reports. +// // * CreateWebhook: For an existing AWS CodeBuild build project that has // its source code stored in a GitHub or Bitbucket repository, enables AWS // CodeBuild to start rebuilding the source code every time a code change @@ -37,6 +44,10 @@ // // * DeleteProject: Deletes a build project. // +// * DeleteReport: Deletes a report. +// +// * DeleteReportGroup: Deletes a report group. +// // * DeleteSourceCredentials: Deletes a set of GitHub, GitHub Enterprise, // or Bitbucket source credentials. // @@ -45,6 +56,9 @@ // CodeBuild from rebuilding the source code every time a code change is // pushed to the repository. // +// * DescribeTestCases: Returns a list of details about test cases for a +// report. +// // * ImportSourceCredentials: Imports the source repository credentials for // an AWS CodeBuild project that has its source code stored in a GitHub, // GitHub Enterprise, or Bitbucket repository. @@ -63,6 +77,14 @@ // * ListProjects: Gets a list of build project names, with each build project // name representing a single build project. // +// * ListReportGroups: Gets a list ARNs for the report groups in the current +// AWS account. +// +// * ListReports: Gets a list ARNs for the reports in the current AWS account. +// +// * ListReportsForReportGroup: Returns a list of ARNs for the reports that +// belong to a ReportGroup. +// // * ListSourceCredentials: Returns a list of SourceCredentialsInfo objects. // Each SourceCredentialsInfo object includes the authentication type, token // ARN, and type of source provider for one set of credentials. @@ -73,6 +95,8 @@ // // * UpdateProject: Changes the settings of an existing build project. // +// * UpdateReportGroup: Changes a report group. +// // * UpdateWebhook: Changes the settings of an existing webhook. // // See https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06 for more information on this service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go b/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go index d8a0fd563f01..3f73649cdf91 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go @@ -13,6 +13,246 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) +const opAssociateApprovalRuleTemplateWithRepository = "AssociateApprovalRuleTemplateWithRepository" + +// AssociateApprovalRuleTemplateWithRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the AssociateApprovalRuleTemplateWithRepository 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 AssociateApprovalRuleTemplateWithRepository for more information on using the AssociateApprovalRuleTemplateWithRepository +// 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 AssociateApprovalRuleTemplateWithRepositoryRequest method. +// req, resp := client.AssociateApprovalRuleTemplateWithRepositoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/AssociateApprovalRuleTemplateWithRepository +func (c *CodeCommit) AssociateApprovalRuleTemplateWithRepositoryRequest(input *AssociateApprovalRuleTemplateWithRepositoryInput) (req *request.Request, output *AssociateApprovalRuleTemplateWithRepositoryOutput) { + op := &request.Operation{ + Name: opAssociateApprovalRuleTemplateWithRepository, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateApprovalRuleTemplateWithRepositoryInput{} + } + + output = &AssociateApprovalRuleTemplateWithRepositoryOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateApprovalRuleTemplateWithRepository API operation for AWS CodeCommit. +// +// Creates an association between an approval rule template and a specified +// repository. Then, the next time a pull request is created in the repository +// where the destination reference (if specified) matches the destination reference +// (branch) for the pull request, an approval rule that matches the template +// conditions is automatically created for that pull request. If no destination +// references are specified in the template, an approval rule that matches the +// template contents is created for all pull requests in that repository. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation AssociateApprovalRuleTemplateWithRepository for usage and error information. +// +// Returned Error Codes: +// * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException" +// An approval rule template name is required, but was not specified. +// +// * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException" +// The name of the approval rule template is not valid. Template names must +// be between 1 and 100 valid characters in length. For more information about +// limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException" +// The specified approval rule template does not exist. Verify that the name +// is correct and that you are signed in to the AWS Region where the template +// was created, and then try again. +// +// * ErrCodeMaximumRuleTemplatesAssociatedWithRepositoryException "MaximumRuleTemplatesAssociatedWithRepositoryException" +// The maximum number of approval rule templates for a repository has been exceeded. +// You cannot associate more than 25 approval rule templates with a repository. +// +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. +// +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. +// +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/AssociateApprovalRuleTemplateWithRepository +func (c *CodeCommit) AssociateApprovalRuleTemplateWithRepository(input *AssociateApprovalRuleTemplateWithRepositoryInput) (*AssociateApprovalRuleTemplateWithRepositoryOutput, error) { + req, out := c.AssociateApprovalRuleTemplateWithRepositoryRequest(input) + return out, req.Send() +} + +// AssociateApprovalRuleTemplateWithRepositoryWithContext is the same as AssociateApprovalRuleTemplateWithRepository with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateApprovalRuleTemplateWithRepository for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) AssociateApprovalRuleTemplateWithRepositoryWithContext(ctx aws.Context, input *AssociateApprovalRuleTemplateWithRepositoryInput, opts ...request.Option) (*AssociateApprovalRuleTemplateWithRepositoryOutput, error) { + req, out := c.AssociateApprovalRuleTemplateWithRepositoryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchAssociateApprovalRuleTemplateWithRepositories = "BatchAssociateApprovalRuleTemplateWithRepositories" + +// BatchAssociateApprovalRuleTemplateWithRepositoriesRequest generates a "aws/request.Request" representing the +// client's request for the BatchAssociateApprovalRuleTemplateWithRepositories 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 BatchAssociateApprovalRuleTemplateWithRepositories for more information on using the BatchAssociateApprovalRuleTemplateWithRepositories +// 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 BatchAssociateApprovalRuleTemplateWithRepositoriesRequest method. +// req, resp := client.BatchAssociateApprovalRuleTemplateWithRepositoriesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchAssociateApprovalRuleTemplateWithRepositories +func (c *CodeCommit) BatchAssociateApprovalRuleTemplateWithRepositoriesRequest(input *BatchAssociateApprovalRuleTemplateWithRepositoriesInput) (req *request.Request, output *BatchAssociateApprovalRuleTemplateWithRepositoriesOutput) { + op := &request.Operation{ + Name: opBatchAssociateApprovalRuleTemplateWithRepositories, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchAssociateApprovalRuleTemplateWithRepositoriesInput{} + } + + output = &BatchAssociateApprovalRuleTemplateWithRepositoriesOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchAssociateApprovalRuleTemplateWithRepositories API operation for AWS CodeCommit. +// +// Creates an association between an approval rule template and one or more +// specified repositories. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation BatchAssociateApprovalRuleTemplateWithRepositories for usage and error information. +// +// Returned Error Codes: +// * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException" +// An approval rule template name is required, but was not specified. +// +// * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException" +// The name of the approval rule template is not valid. Template names must +// be between 1 and 100 valid characters in length. For more information about +// limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException" +// The specified approval rule template does not exist. Verify that the name +// is correct and that you are signed in to the AWS Region where the template +// was created, and then try again. +// +// * ErrCodeRepositoryNamesRequiredException "RepositoryNamesRequiredException" +// At least one repository name object is required, but was not specified. +// +// * ErrCodeMaximumRepositoryNamesExceededException "MaximumRepositoryNamesExceededException" +// The maximum number of allowed repository names was exceeded. Currently, this +// number is 100. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchAssociateApprovalRuleTemplateWithRepositories +func (c *CodeCommit) BatchAssociateApprovalRuleTemplateWithRepositories(input *BatchAssociateApprovalRuleTemplateWithRepositoriesInput) (*BatchAssociateApprovalRuleTemplateWithRepositoriesOutput, error) { + req, out := c.BatchAssociateApprovalRuleTemplateWithRepositoriesRequest(input) + return out, req.Send() +} + +// BatchAssociateApprovalRuleTemplateWithRepositoriesWithContext is the same as BatchAssociateApprovalRuleTemplateWithRepositories with the addition of +// the ability to pass a context and additional request options. +// +// See BatchAssociateApprovalRuleTemplateWithRepositories for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) BatchAssociateApprovalRuleTemplateWithRepositoriesWithContext(ctx aws.Context, input *BatchAssociateApprovalRuleTemplateWithRepositoriesInput, opts ...request.Option) (*BatchAssociateApprovalRuleTemplateWithRepositoriesOutput, error) { + req, out := c.BatchAssociateApprovalRuleTemplateWithRepositoriesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opBatchDescribeMergeConflicts = "BatchDescribeMergeConflicts" // BatchDescribeMergeConflictsRequest generates a "aws/request.Request" representing the @@ -69,12 +309,12 @@ func (c *CodeCommit) BatchDescribeMergeConflictsRequest(input *BatchDescribeMerg // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // @@ -122,8 +362,8 @@ func (c *CodeCommit) BatchDescribeMergeConflictsRequest(input *BatchDescribeMerg // The number of files to load exceeds the allowed limit. // // * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" -// The maximum number of items to compare between the source or destination -// branches and the merge base has exceeded the maximum allowed. +// The number of items to compare between the source or destination branches +// and the merge base has exceeded the maximum allowed. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -162,6 +402,118 @@ func (c *CodeCommit) BatchDescribeMergeConflictsWithContext(ctx aws.Context, inp return out, req.Send() } +const opBatchDisassociateApprovalRuleTemplateFromRepositories = "BatchDisassociateApprovalRuleTemplateFromRepositories" + +// BatchDisassociateApprovalRuleTemplateFromRepositoriesRequest generates a "aws/request.Request" representing the +// client's request for the BatchDisassociateApprovalRuleTemplateFromRepositories 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 BatchDisassociateApprovalRuleTemplateFromRepositories for more information on using the BatchDisassociateApprovalRuleTemplateFromRepositories +// 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 BatchDisassociateApprovalRuleTemplateFromRepositoriesRequest method. +// req, resp := client.BatchDisassociateApprovalRuleTemplateFromRepositoriesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchDisassociateApprovalRuleTemplateFromRepositories +func (c *CodeCommit) BatchDisassociateApprovalRuleTemplateFromRepositoriesRequest(input *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) (req *request.Request, output *BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput) { + op := &request.Operation{ + Name: opBatchDisassociateApprovalRuleTemplateFromRepositories, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchDisassociateApprovalRuleTemplateFromRepositoriesInput{} + } + + output = &BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchDisassociateApprovalRuleTemplateFromRepositories API operation for AWS CodeCommit. +// +// Removes the association between an approval rule template and one or more +// specified repositories. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation BatchDisassociateApprovalRuleTemplateFromRepositories for usage and error information. +// +// Returned Error Codes: +// * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException" +// An approval rule template name is required, but was not specified. +// +// * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException" +// The name of the approval rule template is not valid. Template names must +// be between 1 and 100 valid characters in length. For more information about +// limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException" +// The specified approval rule template does not exist. Verify that the name +// is correct and that you are signed in to the AWS Region where the template +// was created, and then try again. +// +// * ErrCodeRepositoryNamesRequiredException "RepositoryNamesRequiredException" +// At least one repository name object is required, but was not specified. +// +// * ErrCodeMaximumRepositoryNamesExceededException "MaximumRepositoryNamesExceededException" +// The maximum number of allowed repository names was exceeded. Currently, this +// number is 100. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchDisassociateApprovalRuleTemplateFromRepositories +func (c *CodeCommit) BatchDisassociateApprovalRuleTemplateFromRepositories(input *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) (*BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput, error) { + req, out := c.BatchDisassociateApprovalRuleTemplateFromRepositoriesRequest(input) + return out, req.Send() +} + +// BatchDisassociateApprovalRuleTemplateFromRepositoriesWithContext is the same as BatchDisassociateApprovalRuleTemplateFromRepositories with the addition of +// the ability to pass a context and additional request options. +// +// See BatchDisassociateApprovalRuleTemplateFromRepositories for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) BatchDisassociateApprovalRuleTemplateFromRepositoriesWithContext(ctx aws.Context, input *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput, opts ...request.Option) (*BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput, error) { + req, out := c.BatchDisassociateApprovalRuleTemplateFromRepositoriesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opBatchGetCommits = "BatchGetCommits" // BatchGetCommitsRequest generates a "aws/request.Request" representing the @@ -217,6 +569,8 @@ func (c *CodeCommit) BatchGetCommitsRequest(input *BatchGetCommitsInput) (req *r // // Returned Error Codes: // * ErrCodeCommitIdsListRequiredException "CommitIdsListRequiredException" +// A list of commit IDs is required, but was either not specified or the list +// was empty. // // * ErrCodeCommitIdsLimitExceededException "CommitIdsLimitExceededException" // The maximum number of allowed commit IDs in a batch request is 100. Verify @@ -224,12 +578,12 @@ func (c *CodeCommit) BatchGetCommitsRequest(input *BatchGetCommitsInput) (req *r // again. // // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // @@ -321,9 +675,9 @@ func (c *CodeCommit) BatchGetRepositoriesRequest(input *BatchGetRepositoriesInpu // // The description field for a repository accepts all HTML characters and all // valid Unicode characters. Applications that do not HTML-encode the description -// and display it in a web page could expose users to potentially malicious -// code. Make sure that you HTML-encode the description field in any application -// that uses this API to display the repository description on a web page. +// and display it in a webpage can expose users to potentially malicious code. +// Make sure that you HTML-encode the description field in any application that +// uses this API to display the repository description on a webpage. // // 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 @@ -334,16 +688,16 @@ func (c *CodeCommit) BatchGetRepositoriesRequest(input *BatchGetRepositoriesInpu // // Returned Error Codes: // * ErrCodeRepositoryNamesRequiredException "RepositoryNamesRequiredException" -// A repository names object is required but was not specified. +// At least one repository name object is required, but was not specified. // // * ErrCodeMaximumRepositoryNamesExceededException "MaximumRepositoryNamesExceededException" // The maximum number of allowed repository names was exceeded. Currently, this -// number is 25. +// number is 100. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // @@ -384,55 +738,164 @@ func (c *CodeCommit) BatchGetRepositoriesWithContext(ctx aws.Context, input *Bat return out, req.Send() } -const opCreateBranch = "CreateBranch" +const opCreateApprovalRuleTemplate = "CreateApprovalRuleTemplate" -// CreateBranchRequest generates a "aws/request.Request" representing the -// client's request for the CreateBranch operation. The "output" return +// CreateApprovalRuleTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateApprovalRuleTemplate 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 CreateBranch for more information on using the CreateBranch +// See CreateApprovalRuleTemplate for more information on using the CreateApprovalRuleTemplate // 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 CreateBranchRequest method. -// req, resp := client.CreateBranchRequest(params) +// // Example sending a request using the CreateApprovalRuleTemplateRequest method. +// req, resp := client.CreateApprovalRuleTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateBranch -func (c *CodeCommit) CreateBranchRequest(input *CreateBranchInput) (req *request.Request, output *CreateBranchOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateApprovalRuleTemplate +func (c *CodeCommit) CreateApprovalRuleTemplateRequest(input *CreateApprovalRuleTemplateInput) (req *request.Request, output *CreateApprovalRuleTemplateOutput) { op := &request.Operation{ - Name: opCreateBranch, + Name: opCreateApprovalRuleTemplate, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &CreateBranchInput{} + input = &CreateApprovalRuleTemplateInput{} } - output = &CreateBranchOutput{} + output = &CreateApprovalRuleTemplateOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// CreateBranch API operation for AWS CodeCommit. +// CreateApprovalRuleTemplate API operation for AWS CodeCommit. // -// Creates a new branch in a repository and points the branch to a commit. +// Creates a template for approval rules that can then be associated with one +// or more repositories in your AWS account. When you associate a template with +// a repository, AWS CodeCommit creates an approval rule that matches the conditions +// of the template for all pull requests that meet the conditions of the template. +// For more information, see AssociateApprovalRuleTemplateWithRepository. // -// Calling the create branch operation does not set a repository's default branch. -// To do this, call the update default branch operation. +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation CreateApprovalRuleTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException" +// An approval rule template name is required, but was not specified. +// +// * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException" +// The name of the approval rule template is not valid. Template names must +// be between 1 and 100 valid characters in length. For more information about +// limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// * ErrCodeApprovalRuleTemplateNameAlreadyExistsException "ApprovalRuleTemplateNameAlreadyExistsException" +// You cannot create an approval rule template with that name because a template +// with that name already exists in this AWS Region for your AWS account. Approval +// rule template names must be unique. +// +// * ErrCodeApprovalRuleTemplateContentRequiredException "ApprovalRuleTemplateContentRequiredException" +// The content for the approval rule template is empty. You must provide some +// content for an approval rule template. The content cannot be null. +// +// * ErrCodeInvalidApprovalRuleTemplateContentException "InvalidApprovalRuleTemplateContentException" +// The content of the approval rule template is not valid. +// +// * ErrCodeInvalidApprovalRuleTemplateDescriptionException "InvalidApprovalRuleTemplateDescriptionException" +// The description for the approval rule template is not valid because it exceeds +// the maximum characters allowed for a description. For more information about +// limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// * ErrCodeNumberOfRuleTemplatesExceededException "NumberOfRuleTemplatesExceededException" +// The maximum number of approval rule templates has been exceeded for this +// AWS Region. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateApprovalRuleTemplate +func (c *CodeCommit) CreateApprovalRuleTemplate(input *CreateApprovalRuleTemplateInput) (*CreateApprovalRuleTemplateOutput, error) { + req, out := c.CreateApprovalRuleTemplateRequest(input) + return out, req.Send() +} + +// CreateApprovalRuleTemplateWithContext is the same as CreateApprovalRuleTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateApprovalRuleTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) CreateApprovalRuleTemplateWithContext(ctx aws.Context, input *CreateApprovalRuleTemplateInput, opts ...request.Option) (*CreateApprovalRuleTemplateOutput, error) { + req, out := c.CreateApprovalRuleTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateBranch = "CreateBranch" + +// CreateBranchRequest generates a "aws/request.Request" representing the +// client's request for the CreateBranch 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 CreateBranch for more information on using the CreateBranch +// 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 CreateBranchRequest method. +// req, resp := client.CreateBranchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateBranch +func (c *CodeCommit) CreateBranchRequest(input *CreateBranchInput) (req *request.Request, output *CreateBranchOutput) { + op := &request.Operation{ + Name: opCreateBranch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateBranchInput{} + } + + output = &CreateBranchOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreateBranch API operation for AWS CodeCommit. +// +// Creates a branch in a repository and points the branch to a commit. +// +// Calling the create branch operation does not set a repository's default branch. +// To do this, call the update default branch operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -443,12 +906,12 @@ func (c *CodeCommit) CreateBranchRequest(input *CreateBranchInput) (req *request // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // @@ -456,7 +919,7 @@ func (c *CodeCommit) CreateBranchRequest(input *CreateBranchInput) (req *request // The specified repository does not exist. // // * ErrCodeBranchNameRequiredException "BranchNameRequiredException" -// A branch name is required but was not specified. +// A branch name is required, but was not specified. // // * ErrCodeBranchNameExistsException "BranchNameExistsException" // The specified branch name already exists. @@ -566,12 +1029,12 @@ func (c *CodeCommit) CreateCommitRequest(input *CreateCommitInput) (req *request // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // @@ -598,7 +1061,7 @@ func (c *CodeCommit) CreateCommitRequest(input *CreateCommitInput) (req *request // current head of the branch, use GetBranch. // // * ErrCodeBranchNameRequiredException "BranchNameRequiredException" -// A branch name is required but was not specified. +// A branch name is required, but was not specified. // // * ErrCodeInvalidBranchNameException "InvalidBranchNameException" // The specified reference name is not valid. @@ -607,9 +1070,9 @@ func (c *CodeCommit) CreateCommitRequest(input *CreateCommitInput) (req *request // The specified branch does not exist. // // * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException" -// The specified branch name is not valid because it is a tag name. Type the -// name of a current branch in the repository. For a list of valid branch names, -// use ListBranches. +// The specified branch name is not valid because it is a tag name. Enter the +// name of a branch in the repository. For a list of valid branch names, use +// ListBranches. // // * ErrCodeFileEntryRequiredException "FileEntryRequiredException" // The commit cannot be created because no files have been specified as added, @@ -631,7 +1094,7 @@ func (c *CodeCommit) CreateCommitRequest(input *CreateCommitInput) (req *request // * ErrCodeFileContentAndSourceFileSpecifiedException "FileContentAndSourceFileSpecifiedException" // The commit cannot be created because both a source file and file content // have been specified for the same file. You cannot provide both. Either specify -// a source file, or provide the file content directly. +// a source file or provide the file content directly. // // * ErrCodePathRequiredException "PathRequiredException" // The folderPath for a location cannot be null. @@ -646,13 +1109,13 @@ func (c *CodeCommit) CreateCommitRequest(input *CreateCommitInput) (req *request // and a move request to the same file as part of the same commit. // // * ErrCodeFileDoesNotExistException "FileDoesNotExistException" -// The specified file does not exist. Verify that you have provided the correct -// name of the file, including its full path and extension. +// The specified file does not exist. Verify that you have used the correct +// file name, full path, and extension. // // * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException" -// The file cannot be added because it is too large. The maximum file size that -// can be added is 6 MB, and the combined file content change size is 7 MB. -// Consider making these changes using a Git client. +// The file cannot be added because it is too large. The maximum file size is +// 6 MB, and the combined file content change size is 7 MB. Consider making +// these changes using a Git client. // // * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException" // The commit cannot be created because at least one of the overall changes @@ -668,8 +1131,8 @@ func (c *CodeCommit) CreateCommitRequest(input *CreateCommitInput) (req *request // or moving a .gitkeep file. // // * ErrCodeFileModeRequiredException "FileModeRequiredException" -// The commit cannot be created because a file mode is required to update mode -// permissions for an existing file, but no file mode has been specified. +// The commit cannot be created because no file mode has been specified. A file +// mode is required to update mode permissions for a file. // // * ErrCodeInvalidFileModeException "InvalidFileModeException" // The specified file mode permission is not valid. For a list of valid file @@ -800,12 +1263,12 @@ func (c *CodeCommit) CreatePullRequestRequest(input *CreatePullRequestInput) (re // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // @@ -829,24 +1292,24 @@ func (c *CodeCommit) CreatePullRequestRequest(input *CreatePullRequestInput) (re // // * ErrCodeClientRequestTokenRequiredException "ClientRequestTokenRequiredException" // A client request token is required. A client request token is an unique, -// client-generated idempotency token that when provided in a request, ensures +// client-generated idempotency token that, when provided in a request, ensures // the request cannot be repeated with a changed parameter. If a request is -// received with the same parameters and a token is included, the request will -// return information about the initial request that used that token. +// received with the same parameters and a token is included, the request returns +// information about the initial request that used that token. // // * ErrCodeInvalidClientRequestTokenException "InvalidClientRequestTokenException" // The client request token is not valid. // // * ErrCodeIdempotencyParameterMismatchException "IdempotencyParameterMismatchException" // The client request token is not valid. Either the token is not in a valid -// format, or the token has been used in a previous request and cannot be re-used. +// format, or the token has been used in a previous request and cannot be reused. // // * ErrCodeReferenceNameRequiredException "ReferenceNameRequiredException" // A reference name is required, but none was provided. // // * ErrCodeInvalidReferenceNameException "InvalidReferenceNameException" // The specified reference name format is not valid. Reference names must conform -// to the Git references format, for example refs/heads/master. For more information, +// to the Git references format (for example, refs/heads/master). For more information, // see Git Internals - Git References (https://git-scm.com/book/en/v2/Git-Internals-Git-References) // or consult your Git documentation. // @@ -864,8 +1327,8 @@ func (c *CodeCommit) CreatePullRequestRequest(input *CreatePullRequestInput) (re // 100 characters in length. // // * ErrCodeInvalidDescriptionException "InvalidDescriptionException" -// The pull request description is not valid. Descriptions are limited to 1,000 -// characters in length. +// The pull request description is not valid. Descriptions cannot be more than +// 1,000 characters. // // * ErrCodeTargetsRequiredException "TargetsRequiredException" // An array of target objects is required. It cannot be empty or null. @@ -897,8 +1360,8 @@ func (c *CodeCommit) CreatePullRequestRequest(input *CreatePullRequestInput) (re // is 1,000. Close one or more open pull requests, and then try again. // // * ErrCodeSourceAndDestinationAreSameException "SourceAndDestinationAreSameException" -// The source branch and the destination branch for the pull request are the -// same. You must specify different branches for the source and destination. +// The source branch and destination branch for the pull request are the same. +// You must specify different branches for the source and destination. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreatePullRequest func (c *CodeCommit) CreatePullRequest(input *CreatePullRequestInput) (*CreatePullRequestOutput, error) { @@ -922,6 +1385,133 @@ func (c *CodeCommit) CreatePullRequestWithContext(ctx aws.Context, input *Create return out, req.Send() } +const opCreatePullRequestApprovalRule = "CreatePullRequestApprovalRule" + +// CreatePullRequestApprovalRuleRequest generates a "aws/request.Request" representing the +// client's request for the CreatePullRequestApprovalRule 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 CreatePullRequestApprovalRule for more information on using the CreatePullRequestApprovalRule +// 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 CreatePullRequestApprovalRuleRequest method. +// req, resp := client.CreatePullRequestApprovalRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreatePullRequestApprovalRule +func (c *CodeCommit) CreatePullRequestApprovalRuleRequest(input *CreatePullRequestApprovalRuleInput) (req *request.Request, output *CreatePullRequestApprovalRuleOutput) { + op := &request.Operation{ + Name: opCreatePullRequestApprovalRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreatePullRequestApprovalRuleInput{} + } + + output = &CreatePullRequestApprovalRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePullRequestApprovalRule API operation for AWS CodeCommit. +// +// Creates an approval rule for a pull 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 AWS CodeCommit's +// API operation CreatePullRequestApprovalRule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeApprovalRuleNameRequiredException "ApprovalRuleNameRequiredException" +// An approval rule name is required, but was not specified. +// +// * ErrCodeInvalidApprovalRuleNameException "InvalidApprovalRuleNameException" +// The name for the approval rule is not valid. +// +// * ErrCodeApprovalRuleNameAlreadyExistsException "ApprovalRuleNameAlreadyExistsException" +// An approval rule with that name already exists. Approval rule names must +// be unique within the scope of a pull request. +// +// * ErrCodeApprovalRuleContentRequiredException "ApprovalRuleContentRequiredException" +// The content for the approval rule is empty. You must provide some content +// for an approval rule. The content cannot be null. +// +// * ErrCodeInvalidApprovalRuleContentException "InvalidApprovalRuleContentException" +// The content for the approval rule is not valid. +// +// * ErrCodeNumberOfRulesExceededException "NumberOfRulesExceededException" +// The approval rule cannot be added. The pull request has the maximum number +// of approval rules associated with it. +// +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. +// +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. +// +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. +// +// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" +// The pull request status cannot be updated because it is already closed. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreatePullRequestApprovalRule +func (c *CodeCommit) CreatePullRequestApprovalRule(input *CreatePullRequestApprovalRuleInput) (*CreatePullRequestApprovalRuleOutput, error) { + req, out := c.CreatePullRequestApprovalRuleRequest(input) + return out, req.Send() +} + +// CreatePullRequestApprovalRuleWithContext is the same as CreatePullRequestApprovalRule with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePullRequestApprovalRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) CreatePullRequestApprovalRuleWithContext(ctx aws.Context, input *CreatePullRequestApprovalRuleInput, opts ...request.Option) (*CreatePullRequestApprovalRuleOutput, error) { + req, out := c.CreatePullRequestApprovalRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateRepository = "CreateRepository" // CreateRepositoryRequest generates a "aws/request.Request" representing the @@ -980,12 +1570,12 @@ func (c *CodeCommit) CreateRepositoryRequest(input *CreateRepositoryInput) (req // The specified repository name already exists. // // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // @@ -1091,7 +1681,7 @@ func (c *CodeCommit) CreateUnreferencedMergeCommitRequest(input *CreateUnreferen // Creates an unreferenced commit that represents the result of merging two // branches using a specified merge strategy. This can help you determine the // outcome of a potential merge. This API cannot be used with the fast-forward -// merge strategy, as that strategy does not create a merge commit. +// merge strategy because that strategy does not create a merge commit. // // This unreferenced merge commit can only be accessed using the GetCommit API // or through git commands such as git fetch. To retrieve this commit, you must @@ -1106,12 +1696,12 @@ func (c *CodeCommit) CreateUnreferencedMergeCommitRequest(input *CreateUnreferen // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // @@ -1168,7 +1758,7 @@ func (c *CodeCommit) CreateUnreferencedMergeCommitRequest(input *CreateUnreferen // type is not valid. // // * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException" -// USE_NEW_CONTENT was specified but no replacement content has been provided. +// USE_NEW_CONTENT was specified, but no replacement content has been provided. // // * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException" // Automerge was specified for resolving the conflict, but the replacement type @@ -1181,9 +1771,9 @@ func (c *CodeCommit) CreateUnreferencedMergeCommitRequest(input *CreateUnreferen // The specified path is not valid. // // * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException" -// The file cannot be added because it is too large. The maximum file size that -// can be added is 6 MB, and the combined file content change size is 7 MB. -// Consider making these changes using a Git client. +// The file cannot be added because it is too large. The maximum file size is +// 6 MB, and the combined file content change size is 7 MB. Consider making +// these changes using a Git client. // // * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException" // The commit cannot be created because at least one of the overall changes @@ -1195,8 +1785,8 @@ func (c *CodeCommit) CreateUnreferencedMergeCommitRequest(input *CreateUnreferen // The number of files to load exceeds the allowed limit. // // * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" -// The maximum number of items to compare between the source or destination -// branches and the merge base has exceeded the maximum allowed. +// The number of items to compare between the source or destination branches +// and the merge base has exceeded the maximum allowed. // // * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException" // The merge cannot be completed because the target branch has been modified. @@ -1204,8 +1794,8 @@ func (c *CodeCommit) CreateUnreferencedMergeCommitRequest(input *CreateUnreferen // progress. Wait a few minutes, and then try again. // // * ErrCodeFileModeRequiredException "FileModeRequiredException" -// The commit cannot be created because a file mode is required to update mode -// permissions for an existing file, but no file mode has been specified. +// The commit cannot be created because no file mode has been specified. A file +// mode is required to update mode permissions for a file. // // * ErrCodeInvalidFileModeException "InvalidFileModeException" // The specified file mode permission is not valid. For a list of valid file @@ -1260,6 +1850,96 @@ func (c *CodeCommit) CreateUnreferencedMergeCommitWithContext(ctx aws.Context, i return out, req.Send() } +const opDeleteApprovalRuleTemplate = "DeleteApprovalRuleTemplate" + +// DeleteApprovalRuleTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApprovalRuleTemplate 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 DeleteApprovalRuleTemplate for more information on using the DeleteApprovalRuleTemplate +// 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 DeleteApprovalRuleTemplateRequest method. +// req, resp := client.DeleteApprovalRuleTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteApprovalRuleTemplate +func (c *CodeCommit) DeleteApprovalRuleTemplateRequest(input *DeleteApprovalRuleTemplateInput) (req *request.Request, output *DeleteApprovalRuleTemplateOutput) { + op := &request.Operation{ + Name: opDeleteApprovalRuleTemplate, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteApprovalRuleTemplateInput{} + } + + output = &DeleteApprovalRuleTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteApprovalRuleTemplate API operation for AWS CodeCommit. +// +// Deletes a specified approval rule template. Deleting a template does not +// remove approval rules on pull requests already created with the template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation DeleteApprovalRuleTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException" +// An approval rule template name is required, but was not specified. +// +// * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException" +// The name of the approval rule template is not valid. Template names must +// be between 1 and 100 valid characters in length. For more information about +// limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// * ErrCodeApprovalRuleTemplateInUseException "ApprovalRuleTemplateInUseException" +// The approval rule template is associated with one or more repositories. You +// cannot delete a template that is associated with a repository. Remove all +// associations, and then try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteApprovalRuleTemplate +func (c *CodeCommit) DeleteApprovalRuleTemplate(input *DeleteApprovalRuleTemplateInput) (*DeleteApprovalRuleTemplateOutput, error) { + req, out := c.DeleteApprovalRuleTemplateRequest(input) + return out, req.Send() +} + +// DeleteApprovalRuleTemplateWithContext is the same as DeleteApprovalRuleTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApprovalRuleTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) DeleteApprovalRuleTemplateWithContext(ctx aws.Context, input *DeleteApprovalRuleTemplateInput, opts ...request.Option) (*DeleteApprovalRuleTemplateOutput, error) { + req, out := c.DeleteApprovalRuleTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteBranch = "DeleteBranch" // DeleteBranchRequest generates a "aws/request.Request" representing the @@ -1316,20 +1996,20 @@ func (c *CodeCommit) DeleteBranchRequest(input *DeleteBranchInput) (req *request // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" // The specified repository does not exist. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // // * ErrCodeBranchNameRequiredException "BranchNameRequiredException" -// A branch name is required but was not specified. +// A branch name is required, but was not specified. // // * ErrCodeInvalidBranchNameException "InvalidBranchNameException" // The specified reference name is not valid. @@ -1431,8 +2111,8 @@ func (c *CodeCommit) DeleteCommentContentRequest(input *DeleteCommentContentInpu // // Returned Error Codes: // * ErrCodeCommentDoesNotExistException "CommentDoesNotExistException" -// No comment exists with the provided ID. Verify that you have provided the -// correct ID, and then try again. +// No comment exists with the provided ID. Verify that you have used the correct +// ID, and then try again. // // * ErrCodeCommentIdRequiredException "CommentIdRequiredException" // The comment ID is missing or null. A comment ID is required. @@ -1512,8 +2192,8 @@ func (c *CodeCommit) DeleteFileRequest(input *DeleteFileInput) (req *request.Req // DeleteFile API operation for AWS CodeCommit. // // Deletes a specified file from a specified branch. A commit is created on -// the branch that contains the revision. The file will still exist in the commits -// prior to the commit that contains the deletion. +// the branch that contains the revision. The file still exists in the commits +// earlier to the commit that contains the deletion. // // 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 @@ -1524,12 +2204,12 @@ func (c *CodeCommit) DeleteFileRequest(input *DeleteFileInput) (req *request.Req // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // @@ -1562,11 +2242,11 @@ func (c *CodeCommit) DeleteFileRequest(input *DeleteFileInput) (req *request.Req // The specified path is not valid. // // * ErrCodeFileDoesNotExistException "FileDoesNotExistException" -// The specified file does not exist. Verify that you have provided the correct -// name of the file, including its full path and extension. +// The specified file does not exist. Verify that you have used the correct +// file name, full path, and extension. // // * ErrCodeBranchNameRequiredException "BranchNameRequiredException" -// A branch name is required but was not specified. +// A branch name is required, but was not specified. // // * ErrCodeInvalidBranchNameException "InvalidBranchNameException" // The specified reference name is not valid. @@ -1575,9 +2255,9 @@ func (c *CodeCommit) DeleteFileRequest(input *DeleteFileInput) (req *request.Req // The specified branch does not exist. // // * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException" -// The specified branch name is not valid because it is a tag name. Type the -// name of a current branch in the repository. For a list of valid branch names, -// use ListBranches. +// The specified branch name is not valid because it is a tag name. Enter the +// name of a branch in the repository. For a list of valid branch names, use +// ListBranches. // // * ErrCodeNameLengthExceededException "NameLengthExceededException" // The user name is not valid because it has exceeded the character limit for @@ -1628,74 +2308,89 @@ func (c *CodeCommit) DeleteFileWithContext(ctx aws.Context, input *DeleteFileInp return out, req.Send() } -const opDeleteRepository = "DeleteRepository" +const opDeletePullRequestApprovalRule = "DeletePullRequestApprovalRule" -// DeleteRepositoryRequest generates a "aws/request.Request" representing the -// client's request for the DeleteRepository operation. The "output" return +// DeletePullRequestApprovalRuleRequest generates a "aws/request.Request" representing the +// client's request for the DeletePullRequestApprovalRule 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 DeleteRepository for more information on using the DeleteRepository +// See DeletePullRequestApprovalRule for more information on using the DeletePullRequestApprovalRule // 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 DeleteRepositoryRequest method. -// req, resp := client.DeleteRepositoryRequest(params) +// // Example sending a request using the DeletePullRequestApprovalRuleRequest method. +// req, resp := client.DeletePullRequestApprovalRuleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteRepository -func (c *CodeCommit) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req *request.Request, output *DeleteRepositoryOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeletePullRequestApprovalRule +func (c *CodeCommit) DeletePullRequestApprovalRuleRequest(input *DeletePullRequestApprovalRuleInput) (req *request.Request, output *DeletePullRequestApprovalRuleOutput) { op := &request.Operation{ - Name: opDeleteRepository, + Name: opDeletePullRequestApprovalRule, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteRepositoryInput{} + input = &DeletePullRequestApprovalRuleInput{} } - output = &DeleteRepositoryOutput{} + output = &DeletePullRequestApprovalRuleOutput{} req = c.newRequest(op, input, output) return } -// DeleteRepository API operation for AWS CodeCommit. +// DeletePullRequestApprovalRule API operation for AWS CodeCommit. // -// Deletes a repository. If a specified repository was already deleted, a null -// repository ID will be returned. -// -// Deleting a repository also deletes all associated objects and metadata. After -// a repository is deleted, all future push calls to the deleted repository -// will fail. +// Deletes an approval rule from a specified pull request. Approval rules can +// be deleted from a pull request only if the pull request is open, and if the +// approval rule was created specifically for a pull request and not generated +// from an approval rule template associated with the repository where the pull +// request was created. You cannot delete an approval rule from a merged or +// closed pull 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 AWS CodeCommit's -// API operation DeleteRepository for usage and error information. +// API operation DeletePullRequestApprovalRule for usage and error information. // // Returned Error Codes: -// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. // -// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. // -// This exception only occurs when a specified repository name is not valid. -// Other exceptions occur when a required repository parameter is missing, or -// when a specified repository does not exist. +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. +// +// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" +// The pull request status cannot be updated because it is already closed. +// +// * ErrCodeApprovalRuleNameRequiredException "ApprovalRuleNameRequiredException" +// An approval rule name is required, but was not specified. +// +// * ErrCodeInvalidApprovalRuleNameException "InvalidApprovalRuleNameException" +// The name for the approval rule is not valid. +// +// * ErrCodeCannotDeleteApprovalRuleFromTemplateException "CannotDeleteApprovalRuleFromTemplateException" +// The approval rule cannot be deleted from the pull request because it was +// created by an approval rule template and applied to the pull request automatically. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -1712,13 +2407,119 @@ func (c *CodeCommit) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteRepository -func (c *CodeCommit) DeleteRepository(input *DeleteRepositoryInput) (*DeleteRepositoryOutput, error) { - req, out := c.DeleteRepositoryRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeletePullRequestApprovalRule +func (c *CodeCommit) DeletePullRequestApprovalRule(input *DeletePullRequestApprovalRuleInput) (*DeletePullRequestApprovalRuleOutput, error) { + req, out := c.DeletePullRequestApprovalRuleRequest(input) return out, req.Send() } -// DeleteRepositoryWithContext is the same as DeleteRepository with the addition of +// DeletePullRequestApprovalRuleWithContext is the same as DeletePullRequestApprovalRule with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePullRequestApprovalRule for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) DeletePullRequestApprovalRuleWithContext(ctx aws.Context, input *DeletePullRequestApprovalRuleInput, opts ...request.Option) (*DeletePullRequestApprovalRuleOutput, error) { + req, out := c.DeletePullRequestApprovalRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteRepository = "DeleteRepository" + +// DeleteRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRepository 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 DeleteRepository for more information on using the DeleteRepository +// 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 DeleteRepositoryRequest method. +// req, resp := client.DeleteRepositoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteRepository +func (c *CodeCommit) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req *request.Request, output *DeleteRepositoryOutput) { + op := &request.Operation{ + Name: opDeleteRepository, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteRepositoryInput{} + } + + output = &DeleteRepositoryOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteRepository API operation for AWS CodeCommit. +// +// Deletes a repository. If a specified repository was already deleted, a null +// repository ID is returned. +// +// Deleting a repository also deletes all associated objects and metadata. After +// a repository is deleted, all future push calls to the deleted repository +// fail. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation DeleteRepository for usage and error information. +// +// Returned Error Codes: +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. +// +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. +// +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteRepository +func (c *CodeCommit) DeleteRepository(input *DeleteRepositoryInput) (*DeleteRepositoryOutput, error) { + req, out := c.DeleteRepositoryRequest(input) + return out, req.Send() +} + +// DeleteRepositoryWithContext is the same as DeleteRepository with the addition of // the ability to pass a context and additional request options. // // See DeleteRepository for details on how to use this API operation. @@ -1787,7 +2588,7 @@ func (c *CodeCommit) DescribeMergeConflictsRequest(input *DescribeMergeConflicts // Returns information about one or more merge conflicts in the attempted merge // of two commit specifiers using the squash or three-way merge strategy. If // the merge option for the attempted merge is specified as FAST_FORWARD_MERGE, -// an exception will be thrown. +// an exception is thrown. // // 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 @@ -1798,12 +2599,12 @@ func (c *CodeCommit) DescribeMergeConflictsRequest(input *DescribeMergeConflicts // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // @@ -1842,8 +2643,8 @@ func (c *CodeCommit) DescribeMergeConflictsRequest(input *DescribeMergeConflicts // The specified path is not valid. // // * ErrCodeFileDoesNotExistException "FileDoesNotExistException" -// The specified file does not exist. Verify that you have provided the correct -// name of the file, including its full path and extension. +// The specified file does not exist. Verify that you have used the correct +// file name, full path, and extension. // // * ErrCodeInvalidMaxMergeHunksException "InvalidMaxMergeHunksException" // The specified value for the number of merge hunks to return is not valid. @@ -1858,8 +2659,8 @@ func (c *CodeCommit) DescribeMergeConflictsRequest(input *DescribeMergeConflicts // The number of files to load exceeds the allowed limit. // // * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" -// The maximum number of items to compare between the source or destination -// branches and the merge base has exceeded the maximum allowed. +// The number of items to compare between the source or destination branches +// and the merge base has exceeded the maximum allowed. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -2128,82 +2929,90 @@ func (c *CodeCommit) DescribePullRequestEventsPagesWithContext(ctx aws.Context, return p.Err() } -const opGetBlob = "GetBlob" +const opDisassociateApprovalRuleTemplateFromRepository = "DisassociateApprovalRuleTemplateFromRepository" -// GetBlobRequest generates a "aws/request.Request" representing the -// client's request for the GetBlob operation. The "output" return +// DisassociateApprovalRuleTemplateFromRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateApprovalRuleTemplateFromRepository 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 GetBlob for more information on using the GetBlob +// See DisassociateApprovalRuleTemplateFromRepository for more information on using the DisassociateApprovalRuleTemplateFromRepository // 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 GetBlobRequest method. -// req, resp := client.GetBlobRequest(params) +// // Example sending a request using the DisassociateApprovalRuleTemplateFromRepositoryRequest method. +// req, resp := client.DisassociateApprovalRuleTemplateFromRepositoryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetBlob -func (c *CodeCommit) GetBlobRequest(input *GetBlobInput) (req *request.Request, output *GetBlobOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DisassociateApprovalRuleTemplateFromRepository +func (c *CodeCommit) DisassociateApprovalRuleTemplateFromRepositoryRequest(input *DisassociateApprovalRuleTemplateFromRepositoryInput) (req *request.Request, output *DisassociateApprovalRuleTemplateFromRepositoryOutput) { op := &request.Operation{ - Name: opGetBlob, + Name: opDisassociateApprovalRuleTemplateFromRepository, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetBlobInput{} + input = &DisassociateApprovalRuleTemplateFromRepositoryInput{} } - output = &GetBlobOutput{} + output = &DisassociateApprovalRuleTemplateFromRepositoryOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetBlob API operation for AWS CodeCommit. +// DisassociateApprovalRuleTemplateFromRepository API operation for AWS CodeCommit. // -// Returns the base-64 encoded content of an individual blob within a repository. +// Removes the association between a template and a repository so that approval +// rules based on the template are not automatically created when pull requests +// are created in the specified repository. This does not delete any approval +// rules previously created for pull requests through the template association. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetBlob for usage and error information. +// API operation DisassociateApprovalRuleTemplateFromRepository for usage and error information. // // Returned Error Codes: +// * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException" +// An approval rule template name is required, but was not specified. +// +// * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException" +// The name of the approval rule template is not valid. Template names must +// be between 1 and 100 valid characters in length. For more information about +// limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException" +// The specified approval rule template does not exist. Verify that the name +// is correct and that you are signed in to the AWS Region where the template +// was created, and then try again. +// // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // // * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" // The specified repository does not exist. // -// * ErrCodeBlobIdRequiredException "BlobIdRequiredException" -// A blob ID is required but was not specified. -// -// * ErrCodeInvalidBlobIdException "InvalidBlobIdException" -// The specified blob is not valid. -// -// * ErrCodeBlobIdDoesNotExistException "BlobIdDoesNotExistException" -// The specified blob does not exist. -// // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. // @@ -2219,109 +3028,104 @@ func (c *CodeCommit) GetBlobRequest(input *GetBlobInput) (req *request.Request, // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// * ErrCodeFileTooLargeException "FileTooLargeException" -// The specified file exceeds the file size limit for AWS CodeCommit. For more -// information about limits in AWS CodeCommit, see AWS CodeCommit User Guide -// (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetBlob -func (c *CodeCommit) GetBlob(input *GetBlobInput) (*GetBlobOutput, error) { - req, out := c.GetBlobRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DisassociateApprovalRuleTemplateFromRepository +func (c *CodeCommit) DisassociateApprovalRuleTemplateFromRepository(input *DisassociateApprovalRuleTemplateFromRepositoryInput) (*DisassociateApprovalRuleTemplateFromRepositoryOutput, error) { + req, out := c.DisassociateApprovalRuleTemplateFromRepositoryRequest(input) return out, req.Send() } -// GetBlobWithContext is the same as GetBlob with the addition of +// DisassociateApprovalRuleTemplateFromRepositoryWithContext is the same as DisassociateApprovalRuleTemplateFromRepository with the addition of // the ability to pass a context and additional request options. // -// See GetBlob for details on how to use this API operation. +// See DisassociateApprovalRuleTemplateFromRepository for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetBlobWithContext(ctx aws.Context, input *GetBlobInput, opts ...request.Option) (*GetBlobOutput, error) { - req, out := c.GetBlobRequest(input) +func (c *CodeCommit) DisassociateApprovalRuleTemplateFromRepositoryWithContext(ctx aws.Context, input *DisassociateApprovalRuleTemplateFromRepositoryInput, opts ...request.Option) (*DisassociateApprovalRuleTemplateFromRepositoryOutput, error) { + req, out := c.DisassociateApprovalRuleTemplateFromRepositoryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetBranch = "GetBranch" +const opEvaluatePullRequestApprovalRules = "EvaluatePullRequestApprovalRules" -// GetBranchRequest generates a "aws/request.Request" representing the -// client's request for the GetBranch operation. The "output" return +// EvaluatePullRequestApprovalRulesRequest generates a "aws/request.Request" representing the +// client's request for the EvaluatePullRequestApprovalRules 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 GetBranch for more information on using the GetBranch +// See EvaluatePullRequestApprovalRules for more information on using the EvaluatePullRequestApprovalRules // 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 GetBranchRequest method. -// req, resp := client.GetBranchRequest(params) +// // Example sending a request using the EvaluatePullRequestApprovalRulesRequest method. +// req, resp := client.EvaluatePullRequestApprovalRulesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetBranch -func (c *CodeCommit) GetBranchRequest(input *GetBranchInput) (req *request.Request, output *GetBranchOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/EvaluatePullRequestApprovalRules +func (c *CodeCommit) EvaluatePullRequestApprovalRulesRequest(input *EvaluatePullRequestApprovalRulesInput) (req *request.Request, output *EvaluatePullRequestApprovalRulesOutput) { op := &request.Operation{ - Name: opGetBranch, + Name: opEvaluatePullRequestApprovalRules, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetBranchInput{} + input = &EvaluatePullRequestApprovalRulesInput{} } - output = &GetBranchOutput{} + output = &EvaluatePullRequestApprovalRulesOutput{} req = c.newRequest(op, input, output) return } -// GetBranch API operation for AWS CodeCommit. +// EvaluatePullRequestApprovalRules API operation for AWS CodeCommit. // -// Returns information about a repository branch, including its name and the -// last commit ID. +// Evaluates whether a pull request has met all the conditions specified in +// its associated approval rules. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetBranch for usage and error information. +// API operation EvaluatePullRequestApprovalRules for usage and error information. // // Returned Error Codes: -// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. -// -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. // -// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. // -// This exception only occurs when a specified repository name is not valid. -// Other exceptions occur when a required repository parameter is missing, or -// when a specified repository does not exist. +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. // -// * ErrCodeBranchNameRequiredException "BranchNameRequiredException" -// A branch name is required but was not specified. +// * ErrCodeInvalidRevisionIdException "InvalidRevisionIdException" +// The revision ID is not valid. Use GetPullRequest to determine the value. // -// * ErrCodeInvalidBranchNameException "InvalidBranchNameException" -// The specified reference name is not valid. +// * ErrCodeRevisionIdRequiredException "RevisionIdRequiredException" +// A revision ID is required, but was not provided. // -// * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException" -// The specified branch does not exist. +// * ErrCodeRevisionNotCurrentException "RevisionNotCurrentException" +// The revision ID provided in the request does not match the current revision +// ID. Use GetPullRequest to retrieve the current revision ID. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -2338,207 +3142,192 @@ func (c *CodeCommit) GetBranchRequest(input *GetBranchInput) (req *request.Reque // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetBranch -func (c *CodeCommit) GetBranch(input *GetBranchInput) (*GetBranchOutput, error) { - req, out := c.GetBranchRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/EvaluatePullRequestApprovalRules +func (c *CodeCommit) EvaluatePullRequestApprovalRules(input *EvaluatePullRequestApprovalRulesInput) (*EvaluatePullRequestApprovalRulesOutput, error) { + req, out := c.EvaluatePullRequestApprovalRulesRequest(input) return out, req.Send() } -// GetBranchWithContext is the same as GetBranch with the addition of +// EvaluatePullRequestApprovalRulesWithContext is the same as EvaluatePullRequestApprovalRules with the addition of // the ability to pass a context and additional request options. // -// See GetBranch for details on how to use this API operation. +// See EvaluatePullRequestApprovalRules for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetBranchWithContext(ctx aws.Context, input *GetBranchInput, opts ...request.Option) (*GetBranchOutput, error) { - req, out := c.GetBranchRequest(input) +func (c *CodeCommit) EvaluatePullRequestApprovalRulesWithContext(ctx aws.Context, input *EvaluatePullRequestApprovalRulesInput, opts ...request.Option) (*EvaluatePullRequestApprovalRulesOutput, error) { + req, out := c.EvaluatePullRequestApprovalRulesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetComment = "GetComment" +const opGetApprovalRuleTemplate = "GetApprovalRuleTemplate" -// GetCommentRequest generates a "aws/request.Request" representing the -// client's request for the GetComment operation. The "output" return +// GetApprovalRuleTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetApprovalRuleTemplate 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 GetComment for more information on using the GetComment +// See GetApprovalRuleTemplate for more information on using the GetApprovalRuleTemplate // 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 GetCommentRequest method. -// req, resp := client.GetCommentRequest(params) +// // Example sending a request using the GetApprovalRuleTemplateRequest method. +// req, resp := client.GetApprovalRuleTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetComment -func (c *CodeCommit) GetCommentRequest(input *GetCommentInput) (req *request.Request, output *GetCommentOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetApprovalRuleTemplate +func (c *CodeCommit) GetApprovalRuleTemplateRequest(input *GetApprovalRuleTemplateInput) (req *request.Request, output *GetApprovalRuleTemplateOutput) { op := &request.Operation{ - Name: opGetComment, + Name: opGetApprovalRuleTemplate, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetCommentInput{} + input = &GetApprovalRuleTemplateInput{} } - output = &GetCommentOutput{} + output = &GetApprovalRuleTemplateOutput{} req = c.newRequest(op, input, output) return } -// GetComment API operation for AWS CodeCommit. +// GetApprovalRuleTemplate API operation for AWS CodeCommit. // -// Returns the content of a comment made on a change, file, or commit in a repository. +// Returns information about a specified approval rule template. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetComment for usage and error information. +// API operation GetApprovalRuleTemplate for usage and error information. // // Returned Error Codes: -// * ErrCodeCommentDoesNotExistException "CommentDoesNotExistException" -// No comment exists with the provided ID. Verify that you have provided the -// correct ID, and then try again. -// -// * ErrCodeCommentIdRequiredException "CommentIdRequiredException" -// The comment ID is missing or null. A comment ID is required. -// -// * ErrCodeInvalidCommentIdException "InvalidCommentIdException" -// The comment ID is not in a valid format. Make sure that you have provided -// the full comment ID. -// -// * ErrCodeCommentDeletedException "CommentDeletedException" -// This comment has already been deleted. You cannot edit or delete a deleted -// comment. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetComment -func (c *CodeCommit) GetComment(input *GetCommentInput) (*GetCommentOutput, error) { - req, out := c.GetCommentRequest(input) +// * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException" +// An approval rule template name is required, but was not specified. +// +// * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException" +// The name of the approval rule template is not valid. Template names must +// be between 1 and 100 valid characters in length. For more information about +// limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException" +// The specified approval rule template does not exist. Verify that the name +// is correct and that you are signed in to the AWS Region where the template +// was created, and then try again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetApprovalRuleTemplate +func (c *CodeCommit) GetApprovalRuleTemplate(input *GetApprovalRuleTemplateInput) (*GetApprovalRuleTemplateOutput, error) { + req, out := c.GetApprovalRuleTemplateRequest(input) return out, req.Send() } -// GetCommentWithContext is the same as GetComment with the addition of +// GetApprovalRuleTemplateWithContext is the same as GetApprovalRuleTemplate with the addition of // the ability to pass a context and additional request options. // -// See GetComment for details on how to use this API operation. +// See GetApprovalRuleTemplate for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetCommentWithContext(ctx aws.Context, input *GetCommentInput, opts ...request.Option) (*GetCommentOutput, error) { - req, out := c.GetCommentRequest(input) +func (c *CodeCommit) GetApprovalRuleTemplateWithContext(ctx aws.Context, input *GetApprovalRuleTemplateInput, opts ...request.Option) (*GetApprovalRuleTemplateOutput, error) { + req, out := c.GetApprovalRuleTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetCommentsForComparedCommit = "GetCommentsForComparedCommit" +const opGetBlob = "GetBlob" -// GetCommentsForComparedCommitRequest generates a "aws/request.Request" representing the -// client's request for the GetCommentsForComparedCommit operation. The "output" return +// GetBlobRequest generates a "aws/request.Request" representing the +// client's request for the GetBlob 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 GetCommentsForComparedCommit for more information on using the GetCommentsForComparedCommit +// See GetBlob for more information on using the GetBlob // 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 GetCommentsForComparedCommitRequest method. -// req, resp := client.GetCommentsForComparedCommitRequest(params) +// // Example sending a request using the GetBlobRequest method. +// req, resp := client.GetBlobRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentsForComparedCommit -func (c *CodeCommit) GetCommentsForComparedCommitRequest(input *GetCommentsForComparedCommitInput) (req *request.Request, output *GetCommentsForComparedCommitOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetBlob +func (c *CodeCommit) GetBlobRequest(input *GetBlobInput) (req *request.Request, output *GetBlobOutput) { op := &request.Operation{ - Name: opGetCommentsForComparedCommit, + Name: opGetBlob, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "maxResults", - TruncationToken: "", - }, } if input == nil { - input = &GetCommentsForComparedCommitInput{} + input = &GetBlobInput{} } - output = &GetCommentsForComparedCommitOutput{} + output = &GetBlobOutput{} req = c.newRequest(op, input, output) return } -// GetCommentsForComparedCommit API operation for AWS CodeCommit. +// GetBlob API operation for AWS CodeCommit. // -// Returns information about comments made on the comparison between two commits. +// Returns the base-64 encoded content of an individual blob in a repository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetCommentsForComparedCommit for usage and error information. +// API operation GetBlob for usage and error information. // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. -// -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // -// * ErrCodeCommitIdRequiredException "CommitIdRequiredException" -// A commit ID was not specified. +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. // -// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" -// The specified commit ID is not valid. +// * ErrCodeBlobIdRequiredException "BlobIdRequiredException" +// A blob ID is required, but was not specified. // -// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" -// The specified commit does not exist or no commit was specified, and the specified -// repository has no default branch. -// -// * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException" -// The specified number of maximum results is not valid. +// * ErrCodeInvalidBlobIdException "InvalidBlobIdException" +// The specified blob is not valid. // -// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" -// The specified continuation token is not valid. +// * ErrCodeBlobIdDoesNotExistException "BlobIdDoesNotExistException" +// The specified blob does not exist. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -2555,185 +3344,109 @@ func (c *CodeCommit) GetCommentsForComparedCommitRequest(input *GetCommentsForCo // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentsForComparedCommit -func (c *CodeCommit) GetCommentsForComparedCommit(input *GetCommentsForComparedCommitInput) (*GetCommentsForComparedCommitOutput, error) { - req, out := c.GetCommentsForComparedCommitRequest(input) +// * ErrCodeFileTooLargeException "FileTooLargeException" +// The specified file exceeds the file size limit for AWS CodeCommit. For more +// information about limits in AWS CodeCommit, see AWS CodeCommit User Guide +// (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetBlob +func (c *CodeCommit) GetBlob(input *GetBlobInput) (*GetBlobOutput, error) { + req, out := c.GetBlobRequest(input) return out, req.Send() } -// GetCommentsForComparedCommitWithContext is the same as GetCommentsForComparedCommit with the addition of +// GetBlobWithContext is the same as GetBlob with the addition of // the ability to pass a context and additional request options. // -// See GetCommentsForComparedCommit for details on how to use this API operation. +// See GetBlob for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetCommentsForComparedCommitWithContext(ctx aws.Context, input *GetCommentsForComparedCommitInput, opts ...request.Option) (*GetCommentsForComparedCommitOutput, error) { - req, out := c.GetCommentsForComparedCommitRequest(input) +func (c *CodeCommit) GetBlobWithContext(ctx aws.Context, input *GetBlobInput, opts ...request.Option) (*GetBlobOutput, error) { + req, out := c.GetBlobRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// GetCommentsForComparedCommitPages iterates over the pages of a GetCommentsForComparedCommit operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See GetCommentsForComparedCommit 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 GetCommentsForComparedCommit operation. -// pageNum := 0 -// err := client.GetCommentsForComparedCommitPages(params, -// func(page *codecommit.GetCommentsForComparedCommitOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *CodeCommit) GetCommentsForComparedCommitPages(input *GetCommentsForComparedCommitInput, fn func(*GetCommentsForComparedCommitOutput, bool) bool) error { - return c.GetCommentsForComparedCommitPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// GetCommentsForComparedCommitPagesWithContext same as GetCommentsForComparedCommitPages 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 *CodeCommit) GetCommentsForComparedCommitPagesWithContext(ctx aws.Context, input *GetCommentsForComparedCommitInput, fn func(*GetCommentsForComparedCommitOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *GetCommentsForComparedCommitInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.GetCommentsForComparedCommitRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*GetCommentsForComparedCommitOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opGetCommentsForPullRequest = "GetCommentsForPullRequest" +const opGetBranch = "GetBranch" -// GetCommentsForPullRequestRequest generates a "aws/request.Request" representing the -// client's request for the GetCommentsForPullRequest operation. The "output" return +// GetBranchRequest generates a "aws/request.Request" representing the +// client's request for the GetBranch 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 GetCommentsForPullRequest for more information on using the GetCommentsForPullRequest +// See GetBranch for more information on using the GetBranch // 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 GetCommentsForPullRequestRequest method. -// req, resp := client.GetCommentsForPullRequestRequest(params) +// // Example sending a request using the GetBranchRequest method. +// req, resp := client.GetBranchRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentsForPullRequest -func (c *CodeCommit) GetCommentsForPullRequestRequest(input *GetCommentsForPullRequestInput) (req *request.Request, output *GetCommentsForPullRequestOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetBranch +func (c *CodeCommit) GetBranchRequest(input *GetBranchInput) (req *request.Request, output *GetBranchOutput) { op := &request.Operation{ - Name: opGetCommentsForPullRequest, + Name: opGetBranch, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "maxResults", - TruncationToken: "", - }, } if input == nil { - input = &GetCommentsForPullRequestInput{} + input = &GetBranchInput{} } - output = &GetCommentsForPullRequestOutput{} + output = &GetBranchOutput{} req = c.newRequest(op, input, output) return } -// GetCommentsForPullRequest API operation for AWS CodeCommit. +// GetBranch API operation for AWS CodeCommit. // -// Returns comments made on a pull request. +// Returns information about a repository branch, including its name and the +// last commit ID. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetCommentsForPullRequest for usage and error information. +// API operation GetBranch for usage and error information. // // Returned Error Codes: -// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" -// A pull request ID is required, but none was provided. -// -// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" -// The pull request ID could not be found. Make sure that you have specified -// the correct repository name and pull request ID, and then try again. -// -// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" -// The pull request ID is not valid. Make sure that you have provided the full -// ID and that the pull request is in the specified repository, and then try -// again. -// // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" // The specified repository does not exist. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // -// * ErrCodeCommitIdRequiredException "CommitIdRequiredException" -// A commit ID was not specified. -// -// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" -// The specified commit ID is not valid. -// -// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" -// The specified commit does not exist or no commit was specified, and the specified -// repository has no default branch. -// -// * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException" -// The specified number of maximum results is not valid. +// * ErrCodeBranchNameRequiredException "BranchNameRequiredException" +// A branch name is required, but was not specified. // -// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" -// The specified continuation token is not valid. +// * ErrCodeInvalidBranchNameException "InvalidBranchNameException" +// The specified reference name is not valid. // -// * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException" -// The repository does not contain any pull requests with that pull request -// ID. Use GetPullRequest to verify the correct repository name for the pull -// request ID. +// * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException" +// The specified branch does not exist. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -2750,293 +3463,207 @@ func (c *CodeCommit) GetCommentsForPullRequestRequest(input *GetCommentsForPullR // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentsForPullRequest -func (c *CodeCommit) GetCommentsForPullRequest(input *GetCommentsForPullRequestInput) (*GetCommentsForPullRequestOutput, error) { - req, out := c.GetCommentsForPullRequestRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetBranch +func (c *CodeCommit) GetBranch(input *GetBranchInput) (*GetBranchOutput, error) { + req, out := c.GetBranchRequest(input) return out, req.Send() } -// GetCommentsForPullRequestWithContext is the same as GetCommentsForPullRequest with the addition of +// GetBranchWithContext is the same as GetBranch with the addition of // the ability to pass a context and additional request options. // -// See GetCommentsForPullRequest for details on how to use this API operation. +// See GetBranch for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetCommentsForPullRequestWithContext(ctx aws.Context, input *GetCommentsForPullRequestInput, opts ...request.Option) (*GetCommentsForPullRequestOutput, error) { - req, out := c.GetCommentsForPullRequestRequest(input) +func (c *CodeCommit) GetBranchWithContext(ctx aws.Context, input *GetBranchInput, opts ...request.Option) (*GetBranchOutput, error) { + req, out := c.GetBranchRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// GetCommentsForPullRequestPages iterates over the pages of a GetCommentsForPullRequest operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See GetCommentsForPullRequest 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 GetCommentsForPullRequest operation. -// pageNum := 0 -// err := client.GetCommentsForPullRequestPages(params, -// func(page *codecommit.GetCommentsForPullRequestOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *CodeCommit) GetCommentsForPullRequestPages(input *GetCommentsForPullRequestInput, fn func(*GetCommentsForPullRequestOutput, bool) bool) error { - return c.GetCommentsForPullRequestPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// GetCommentsForPullRequestPagesWithContext same as GetCommentsForPullRequestPages 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 *CodeCommit) GetCommentsForPullRequestPagesWithContext(ctx aws.Context, input *GetCommentsForPullRequestInput, fn func(*GetCommentsForPullRequestOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *GetCommentsForPullRequestInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.GetCommentsForPullRequestRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*GetCommentsForPullRequestOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opGetCommit = "GetCommit" +const opGetComment = "GetComment" -// GetCommitRequest generates a "aws/request.Request" representing the -// client's request for the GetCommit operation. The "output" return +// GetCommentRequest generates a "aws/request.Request" representing the +// client's request for the GetComment 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 GetCommit for more information on using the GetCommit +// See GetComment for more information on using the GetComment // 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 GetCommitRequest method. -// req, resp := client.GetCommitRequest(params) +// // Example sending a request using the GetCommentRequest method. +// req, resp := client.GetCommentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommit -func (c *CodeCommit) GetCommitRequest(input *GetCommitInput) (req *request.Request, output *GetCommitOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetComment +func (c *CodeCommit) GetCommentRequest(input *GetCommentInput) (req *request.Request, output *GetCommentOutput) { op := &request.Operation{ - Name: opGetCommit, + Name: opGetComment, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetCommitInput{} + input = &GetCommentInput{} } - output = &GetCommitOutput{} + output = &GetCommentOutput{} req = c.newRequest(op, input, output) return } -// GetCommit API operation for AWS CodeCommit. +// GetComment API operation for AWS CodeCommit. // -// Returns information about a commit, including commit message and committer -// information. +// Returns the content of a comment made on a change, file, or commit in a repository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetCommit for usage and error information. +// API operation GetComment for usage and error information. // // Returned Error Codes: -// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. -// -// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// * ErrCodeCommentDoesNotExistException "CommentDoesNotExistException" +// No comment exists with the provided ID. Verify that you have used the correct +// ID, and then try again. // -// This exception only occurs when a specified repository name is not valid. -// Other exceptions occur when a required repository parameter is missing, or -// when a specified repository does not exist. +// * ErrCodeCommentIdRequiredException "CommentIdRequiredException" +// The comment ID is missing or null. A comment ID is required. // -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. -// -// * ErrCodeCommitIdRequiredException "CommitIdRequiredException" -// A commit ID was not specified. -// -// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" -// The specified commit ID is not valid. -// -// * ErrCodeCommitIdDoesNotExistException "CommitIdDoesNotExistException" -// The specified commit ID does not exist. -// -// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" -// An encryption integrity check failed. -// -// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" -// An encryption key could not be accessed. -// -// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" -// The encryption key is disabled. -// -// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" -// No encryption key was found. +// * ErrCodeInvalidCommentIdException "InvalidCommentIdException" +// The comment ID is not in a valid format. Make sure that you have provided +// the full comment ID. // -// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" -// The encryption key is not available. +// * ErrCodeCommentDeletedException "CommentDeletedException" +// This comment has already been deleted. You cannot edit or delete a deleted +// comment. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommit -func (c *CodeCommit) GetCommit(input *GetCommitInput) (*GetCommitOutput, error) { - req, out := c.GetCommitRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetComment +func (c *CodeCommit) GetComment(input *GetCommentInput) (*GetCommentOutput, error) { + req, out := c.GetCommentRequest(input) return out, req.Send() } -// GetCommitWithContext is the same as GetCommit with the addition of +// GetCommentWithContext is the same as GetComment with the addition of // the ability to pass a context and additional request options. // -// See GetCommit for details on how to use this API operation. +// See GetComment for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetCommitWithContext(ctx aws.Context, input *GetCommitInput, opts ...request.Option) (*GetCommitOutput, error) { - req, out := c.GetCommitRequest(input) +func (c *CodeCommit) GetCommentWithContext(ctx aws.Context, input *GetCommentInput, opts ...request.Option) (*GetCommentOutput, error) { + req, out := c.GetCommentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetDifferences = "GetDifferences" +const opGetCommentsForComparedCommit = "GetCommentsForComparedCommit" -// GetDifferencesRequest generates a "aws/request.Request" representing the -// client's request for the GetDifferences operation. The "output" return +// GetCommentsForComparedCommitRequest generates a "aws/request.Request" representing the +// client's request for the GetCommentsForComparedCommit 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 GetDifferences for more information on using the GetDifferences +// See GetCommentsForComparedCommit for more information on using the GetCommentsForComparedCommit // 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 GetDifferencesRequest method. -// req, resp := client.GetDifferencesRequest(params) +// // Example sending a request using the GetCommentsForComparedCommitRequest method. +// req, resp := client.GetCommentsForComparedCommitRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetDifferences -func (c *CodeCommit) GetDifferencesRequest(input *GetDifferencesInput) (req *request.Request, output *GetDifferencesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentsForComparedCommit +func (c *CodeCommit) GetCommentsForComparedCommitRequest(input *GetCommentsForComparedCommitInput) (req *request.Request, output *GetCommentsForComparedCommitOutput) { op := &request.Operation{ - Name: opGetDifferences, + Name: opGetCommentsForComparedCommit, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { - input = &GetDifferencesInput{} + input = &GetCommentsForComparedCommitInput{} } - output = &GetDifferencesOutput{} + output = &GetCommentsForComparedCommitOutput{} req = c.newRequest(op, input, output) return } -// GetDifferences API operation for AWS CodeCommit. +// GetCommentsForComparedCommit API operation for AWS CodeCommit. // -// Returns information about the differences in a valid commit specifier (such -// as a branch, tag, HEAD, commit ID or other fully qualified reference). Results -// can be limited to a specified path. +// Returns information about comments made on the comparison between two commits. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetDifferences for usage and error information. +// API operation GetCommentsForComparedCommit for usage and error information. // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" // The specified repository does not exist. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // -// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" -// The specified continuation token is not valid. -// -// * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException" -// The specified number of maximum results is not valid. +// * ErrCodeCommitIdRequiredException "CommitIdRequiredException" +// A commit ID was not specified. // // * ErrCodeInvalidCommitIdException "InvalidCommitIdException" // The specified commit ID is not valid. // -// * ErrCodeCommitRequiredException "CommitRequiredException" -// A commit was not specified. -// -// * ErrCodeInvalidCommitException "InvalidCommitException" -// The specified commit is not valid. -// // * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" // The specified commit does not exist or no commit was specified, and the specified // repository has no default branch. // -// * ErrCodeInvalidPathException "InvalidPathException" -// The specified path is not valid. +// * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException" +// The specified number of maximum results is not valid. // -// * ErrCodePathDoesNotExistException "PathDoesNotExistException" -// The specified path does not exist. +// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" +// The specified continuation token is not valid. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -3053,65 +3680,65 @@ func (c *CodeCommit) GetDifferencesRequest(input *GetDifferencesInput) (req *req // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetDifferences -func (c *CodeCommit) GetDifferences(input *GetDifferencesInput) (*GetDifferencesOutput, error) { - req, out := c.GetDifferencesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentsForComparedCommit +func (c *CodeCommit) GetCommentsForComparedCommit(input *GetCommentsForComparedCommitInput) (*GetCommentsForComparedCommitOutput, error) { + req, out := c.GetCommentsForComparedCommitRequest(input) return out, req.Send() } -// GetDifferencesWithContext is the same as GetDifferences with the addition of +// GetCommentsForComparedCommitWithContext is the same as GetCommentsForComparedCommit with the addition of // the ability to pass a context and additional request options. // -// See GetDifferences for details on how to use this API operation. +// See GetCommentsForComparedCommit for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetDifferencesWithContext(ctx aws.Context, input *GetDifferencesInput, opts ...request.Option) (*GetDifferencesOutput, error) { - req, out := c.GetDifferencesRequest(input) +func (c *CodeCommit) GetCommentsForComparedCommitWithContext(ctx aws.Context, input *GetCommentsForComparedCommitInput, opts ...request.Option) (*GetCommentsForComparedCommitOutput, error) { + req, out := c.GetCommentsForComparedCommitRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// GetDifferencesPages iterates over the pages of a GetDifferences operation, +// GetCommentsForComparedCommitPages iterates over the pages of a GetCommentsForComparedCommit operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See GetDifferences method for more information on how to use this operation. +// See GetCommentsForComparedCommit 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 GetDifferences operation. +// // Example iterating over at most 3 pages of a GetCommentsForComparedCommit operation. // pageNum := 0 -// err := client.GetDifferencesPages(params, -// func(page *codecommit.GetDifferencesOutput, lastPage bool) bool { +// err := client.GetCommentsForComparedCommitPages(params, +// func(page *codecommit.GetCommentsForComparedCommitOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *CodeCommit) GetDifferencesPages(input *GetDifferencesInput, fn func(*GetDifferencesOutput, bool) bool) error { - return c.GetDifferencesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CodeCommit) GetCommentsForComparedCommitPages(input *GetCommentsForComparedCommitInput, fn func(*GetCommentsForComparedCommitOutput, bool) bool) error { + return c.GetCommentsForComparedCommitPagesWithContext(aws.BackgroundContext(), input, fn) } -// GetDifferencesPagesWithContext same as GetDifferencesPages except +// GetCommentsForComparedCommitPagesWithContext same as GetCommentsForComparedCommitPages 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 *CodeCommit) GetDifferencesPagesWithContext(ctx aws.Context, input *GetDifferencesInput, fn func(*GetDifferencesOutput, bool) bool, opts ...request.Option) error { +func (c *CodeCommit) GetCommentsForComparedCommitPagesWithContext(ctx aws.Context, input *GetCommentsForComparedCommitInput, fn func(*GetCommentsForComparedCommitOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *GetDifferencesInput + var inCpy *GetCommentsForComparedCommitInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.GetDifferencesRequest(inCpy) + req, _ := c.GetCommentsForComparedCommitRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3119,7 +3746,7 @@ func (c *CodeCommit) GetDifferencesPagesWithContext(ctx aws.Context, input *GetD } for p.Next() { - if !fn(p.Page().(*GetDifferencesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*GetCommentsForComparedCommitOutput), !p.HasNextPage()) { break } } @@ -3127,89 +3754,111 @@ func (c *CodeCommit) GetDifferencesPagesWithContext(ctx aws.Context, input *GetD return p.Err() } -const opGetFile = "GetFile" +const opGetCommentsForPullRequest = "GetCommentsForPullRequest" -// GetFileRequest generates a "aws/request.Request" representing the -// client's request for the GetFile operation. The "output" return +// GetCommentsForPullRequestRequest generates a "aws/request.Request" representing the +// client's request for the GetCommentsForPullRequest 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 GetFile for more information on using the GetFile +// See GetCommentsForPullRequest for more information on using the GetCommentsForPullRequest // 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 GetFileRequest method. -// req, resp := client.GetFileRequest(params) +// // Example sending a request using the GetCommentsForPullRequestRequest method. +// req, resp := client.GetCommentsForPullRequestRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetFile -func (c *CodeCommit) GetFileRequest(input *GetFileInput) (req *request.Request, output *GetFileOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentsForPullRequest +func (c *CodeCommit) GetCommentsForPullRequestRequest(input *GetCommentsForPullRequestInput) (req *request.Request, output *GetCommentsForPullRequestOutput) { op := &request.Operation{ - Name: opGetFile, + Name: opGetCommentsForPullRequest, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &GetFileInput{} + input = &GetCommentsForPullRequestInput{} } - output = &GetFileOutput{} + output = &GetCommentsForPullRequestOutput{} req = c.newRequest(op, input, output) return } -// GetFile API operation for AWS CodeCommit. +// GetCommentsForPullRequest API operation for AWS CodeCommit. // -// Returns the base-64 encoded contents of a specified file and its metadata. +// Returns comments made on a pull 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 AWS CodeCommit's -// API operation GetFile for usage and error information. +// API operation GetCommentsForPullRequest for usage and error information. // // Returned Error Codes: +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. +// +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. +// +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. +// // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. +// +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// * ErrCodeCommitIdRequiredException "CommitIdRequiredException" +// A commit ID was not specified. // -// * ErrCodeInvalidCommitException "InvalidCommitException" -// The specified commit is not valid. +// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" +// The specified commit ID is not valid. // // * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" // The specified commit does not exist or no commit was specified, and the specified // repository has no default branch. // -// * ErrCodePathRequiredException "PathRequiredException" -// The folderPath for a location cannot be null. +// * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException" +// The specified number of maximum results is not valid. // -// * ErrCodeInvalidPathException "InvalidPathException" -// The specified path is not valid. +// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" +// The specified continuation token is not valid. // -// * ErrCodeFileDoesNotExistException "FileDoesNotExistException" -// The specified file does not exist. Verify that you have provided the correct -// name of the file, including its full path and extension. +// * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException" +// The repository does not contain any pull requests with that pull request +// ID. Use GetPullRequest to verify the correct repository name for the pull +// request ID. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -3226,116 +3875,156 @@ func (c *CodeCommit) GetFileRequest(input *GetFileInput) (req *request.Request, // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// * ErrCodeFileTooLargeException "FileTooLargeException" -// The specified file exceeds the file size limit for AWS CodeCommit. For more -// information about limits in AWS CodeCommit, see AWS CodeCommit User Guide -// (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetFile -func (c *CodeCommit) GetFile(input *GetFileInput) (*GetFileOutput, error) { - req, out := c.GetFileRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentsForPullRequest +func (c *CodeCommit) GetCommentsForPullRequest(input *GetCommentsForPullRequestInput) (*GetCommentsForPullRequestOutput, error) { + req, out := c.GetCommentsForPullRequestRequest(input) return out, req.Send() } -// GetFileWithContext is the same as GetFile with the addition of +// GetCommentsForPullRequestWithContext is the same as GetCommentsForPullRequest with the addition of // the ability to pass a context and additional request options. // -// See GetFile for details on how to use this API operation. +// See GetCommentsForPullRequest for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetFileWithContext(ctx aws.Context, input *GetFileInput, opts ...request.Option) (*GetFileOutput, error) { - req, out := c.GetFileRequest(input) +func (c *CodeCommit) GetCommentsForPullRequestWithContext(ctx aws.Context, input *GetCommentsForPullRequestInput, opts ...request.Option) (*GetCommentsForPullRequestOutput, error) { + req, out := c.GetCommentsForPullRequestRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetFolder = "GetFolder" - -// GetFolderRequest generates a "aws/request.Request" representing the -// client's request for the GetFolder 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 GetFolder for more information on using the GetFolder -// API call, and error handling. +// GetCommentsForPullRequestPages iterates over the pages of a GetCommentsForPullRequest operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// 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. +// See GetCommentsForPullRequest method for more information on how to use this operation. // +// Note: This operation can generate multiple requests to a service. // -// // Example sending a request using the GetFolderRequest method. -// req, resp := client.GetFolderRequest(params) +// // Example iterating over at most 3 pages of a GetCommentsForPullRequest operation. +// pageNum := 0 +// err := client.GetCommentsForPullRequestPages(params, +// func(page *codecommit.GetCommentsForPullRequestOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeCommit) GetCommentsForPullRequestPages(input *GetCommentsForPullRequestInput, fn func(*GetCommentsForPullRequestOutput, bool) bool) error { + return c.GetCommentsForPullRequestPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetCommentsForPullRequestPagesWithContext same as GetCommentsForPullRequestPages 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 *CodeCommit) GetCommentsForPullRequestPagesWithContext(ctx aws.Context, input *GetCommentsForPullRequestInput, fn func(*GetCommentsForPullRequestOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetCommentsForPullRequestInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetCommentsForPullRequestRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetCommentsForPullRequestOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetCommit = "GetCommit" + +// GetCommitRequest generates a "aws/request.Request" representing the +// client's request for the GetCommit 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 GetCommit for more information on using the GetCommit +// 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 GetCommitRequest method. +// req, resp := client.GetCommitRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetFolder -func (c *CodeCommit) GetFolderRequest(input *GetFolderInput) (req *request.Request, output *GetFolderOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommit +func (c *CodeCommit) GetCommitRequest(input *GetCommitInput) (req *request.Request, output *GetCommitOutput) { op := &request.Operation{ - Name: opGetFolder, + Name: opGetCommit, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetFolderInput{} + input = &GetCommitInput{} } - output = &GetFolderOutput{} + output = &GetCommitOutput{} req = c.newRequest(op, input, output) return } -// GetFolder API operation for AWS CodeCommit. +// GetCommit API operation for AWS CodeCommit. // -// Returns the contents of a specified folder in a repository. +// Returns information about a commit, including commit message and committer +// information. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetFolder for usage and error information. +// API operation GetCommit for usage and error information. // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // // * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" // The specified repository does not exist. // -// * ErrCodeInvalidCommitException "InvalidCommitException" -// The specified commit is not valid. -// -// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" -// The specified commit does not exist or no commit was specified, and the specified -// repository has no default branch. -// -// * ErrCodePathRequiredException "PathRequiredException" -// The folderPath for a location cannot be null. +// * ErrCodeCommitIdRequiredException "CommitIdRequiredException" +// A commit ID was not specified. // -// * ErrCodeInvalidPathException "InvalidPathException" -// The specified path is not valid. +// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" +// The specified commit ID is not valid. // -// * ErrCodeFolderDoesNotExistException "FolderDoesNotExistException" -// The specified folder does not exist. Either the folder name is not correct, -// or you did not provide the full path to the folder. +// * ErrCodeCommitIdDoesNotExistException "CommitIdDoesNotExistException" +// The specified commit ID does not exist. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -3352,94 +4041,111 @@ func (c *CodeCommit) GetFolderRequest(input *GetFolderInput) (req *request.Reque // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetFolder -func (c *CodeCommit) GetFolder(input *GetFolderInput) (*GetFolderOutput, error) { - req, out := c.GetFolderRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommit +func (c *CodeCommit) GetCommit(input *GetCommitInput) (*GetCommitOutput, error) { + req, out := c.GetCommitRequest(input) return out, req.Send() } -// GetFolderWithContext is the same as GetFolder with the addition of +// GetCommitWithContext is the same as GetCommit with the addition of // the ability to pass a context and additional request options. // -// See GetFolder for details on how to use this API operation. +// See GetCommit for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetFolderWithContext(ctx aws.Context, input *GetFolderInput, opts ...request.Option) (*GetFolderOutput, error) { - req, out := c.GetFolderRequest(input) +func (c *CodeCommit) GetCommitWithContext(ctx aws.Context, input *GetCommitInput, opts ...request.Option) (*GetCommitOutput, error) { + req, out := c.GetCommitRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetMergeCommit = "GetMergeCommit" +const opGetDifferences = "GetDifferences" -// GetMergeCommitRequest generates a "aws/request.Request" representing the -// client's request for the GetMergeCommit operation. The "output" return +// GetDifferencesRequest generates a "aws/request.Request" representing the +// client's request for the GetDifferences 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 GetMergeCommit for more information on using the GetMergeCommit +// See GetDifferences for more information on using the GetDifferences // 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 GetMergeCommitRequest method. -// req, resp := client.GetMergeCommitRequest(params) +// // Example sending a request using the GetDifferencesRequest method. +// req, resp := client.GetDifferencesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeCommit -func (c *CodeCommit) GetMergeCommitRequest(input *GetMergeCommitInput) (req *request.Request, output *GetMergeCommitOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetDifferences +func (c *CodeCommit) GetDifferencesRequest(input *GetDifferencesInput) (req *request.Request, output *GetDifferencesOutput) { op := &request.Operation{ - Name: opGetMergeCommit, + Name: opGetDifferences, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &GetMergeCommitInput{} + input = &GetDifferencesInput{} } - output = &GetMergeCommitOutput{} + output = &GetDifferencesOutput{} req = c.newRequest(op, input, output) return } -// GetMergeCommit API operation for AWS CodeCommit. +// GetDifferences API operation for AWS CodeCommit. // -// Returns information about a specified merge commit. +// Returns information about the differences in a valid commit specifier (such +// as a branch, tag, HEAD, commit ID, or other fully qualified reference). Results +// can be limited to a specified path. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetMergeCommit for usage and error information. +// API operation GetDifferences for usage and error information. // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. +// +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" +// The specified continuation token is not valid. +// +// * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException" +// The specified number of maximum results is not valid. +// +// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" +// The specified commit ID is not valid. // // * ErrCodeCommitRequiredException "CommitRequiredException" // A commit was not specified. @@ -3451,11 +4157,11 @@ func (c *CodeCommit) GetMergeCommitRequest(input *GetMergeCommitInput) (req *req // The specified commit does not exist or no commit was specified, and the specified // repository has no default branch. // -// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" -// The specified conflict detail level is not valid. +// * ErrCodeInvalidPathException "InvalidPathException" +// The specified path is not valid. // -// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" -// The specified conflict resolution strategy is not valid. +// * ErrCodePathDoesNotExistException "PathDoesNotExistException" +// The specified path does not exist. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -3472,150 +4178,163 @@ func (c *CodeCommit) GetMergeCommitRequest(input *GetMergeCommitInput) (req *req // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeCommit -func (c *CodeCommit) GetMergeCommit(input *GetMergeCommitInput) (*GetMergeCommitOutput, error) { - req, out := c.GetMergeCommitRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetDifferences +func (c *CodeCommit) GetDifferences(input *GetDifferencesInput) (*GetDifferencesOutput, error) { + req, out := c.GetDifferencesRequest(input) return out, req.Send() } -// GetMergeCommitWithContext is the same as GetMergeCommit with the addition of +// GetDifferencesWithContext is the same as GetDifferences with the addition of // the ability to pass a context and additional request options. // -// See GetMergeCommit for details on how to use this API operation. +// See GetDifferences for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetMergeCommitWithContext(ctx aws.Context, input *GetMergeCommitInput, opts ...request.Option) (*GetMergeCommitOutput, error) { - req, out := c.GetMergeCommitRequest(input) +func (c *CodeCommit) GetDifferencesWithContext(ctx aws.Context, input *GetDifferencesInput, opts ...request.Option) (*GetDifferencesOutput, error) { + req, out := c.GetDifferencesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetMergeConflicts = "GetMergeConflicts" +// GetDifferencesPages iterates over the pages of a GetDifferences operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetDifferences 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 GetDifferences operation. +// pageNum := 0 +// err := client.GetDifferencesPages(params, +// func(page *codecommit.GetDifferencesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeCommit) GetDifferencesPages(input *GetDifferencesInput, fn func(*GetDifferencesOutput, bool) bool) error { + return c.GetDifferencesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// GetMergeConflictsRequest generates a "aws/request.Request" representing the -// client's request for the GetMergeConflicts operation. The "output" return +// GetDifferencesPagesWithContext same as GetDifferencesPages 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 *CodeCommit) GetDifferencesPagesWithContext(ctx aws.Context, input *GetDifferencesInput, fn func(*GetDifferencesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetDifferencesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetDifferencesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetDifferencesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetFile = "GetFile" + +// GetFileRequest generates a "aws/request.Request" representing the +// client's request for the GetFile 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 GetMergeConflicts for more information on using the GetMergeConflicts +// See GetFile for more information on using the GetFile // 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 GetMergeConflictsRequest method. -// req, resp := client.GetMergeConflictsRequest(params) +// // Example sending a request using the GetFileRequest method. +// req, resp := client.GetFileRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeConflicts -func (c *CodeCommit) GetMergeConflictsRequest(input *GetMergeConflictsInput) (req *request.Request, output *GetMergeConflictsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetFile +func (c *CodeCommit) GetFileRequest(input *GetFileInput) (req *request.Request, output *GetFileOutput) { op := &request.Operation{ - Name: opGetMergeConflicts, + Name: opGetFile, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "maxConflictFiles", - TruncationToken: "", - }, } if input == nil { - input = &GetMergeConflictsInput{} + input = &GetFileInput{} } - output = &GetMergeConflictsOutput{} + output = &GetFileOutput{} req = c.newRequest(op, input, output) return } -// GetMergeConflicts API operation for AWS CodeCommit. +// GetFile API operation for AWS CodeCommit. // -// Returns information about merge conflicts between the before and after commit -// IDs for a pull request in a repository. +// Returns the base-64 encoded contents of a specified file and its metadata. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetMergeConflicts for usage and error information. +// API operation GetFile for usage and error information. // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // // * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" // The specified repository does not exist. // -// * ErrCodeMergeOptionRequiredException "MergeOptionRequiredException" -// A merge option or stategy is required, and none was provided. -// -// * ErrCodeInvalidMergeOptionException "InvalidMergeOptionException" -// The specified merge option is not valid for this operation. Not all merge -// strategies are supported for all operations. -// -// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" -// The specified continuation token is not valid. -// -// * ErrCodeCommitRequiredException "CommitRequiredException" -// A commit was not specified. +// * ErrCodeInvalidCommitException "InvalidCommitException" +// The specified commit is not valid. // // * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" // The specified commit does not exist or no commit was specified, and the specified // repository has no default branch. // -// * ErrCodeInvalidCommitException "InvalidCommitException" -// The specified commit is not valid. -// -// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" -// The divergence between the tips of the provided commit specifiers is too -// great to determine whether there might be any merge conflicts. Locally compare -// the specifiers using git diff or a diff tool. -// -// * ErrCodeInvalidMaxConflictFilesException "InvalidMaxConflictFilesException" -// The specified value for the number of conflict files to return is not valid. -// -// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" -// The specified conflict detail level is not valid. -// -// * ErrCodeInvalidDestinationCommitSpecifierException "InvalidDestinationCommitSpecifierException" -// The destination commit specifier is not valid. You must provide a valid branch -// name, tag, or full commit ID. -// -// * ErrCodeInvalidSourceCommitSpecifierException "InvalidSourceCommitSpecifierException" -// The source commit specifier is not valid. You must provide a valid branch -// name, tag, or full commit ID. -// -// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" -// The specified conflict resolution strategy is not valid. +// * ErrCodePathRequiredException "PathRequiredException" +// The folderPath for a location cannot be null. // -// * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException" -// The number of files to load exceeds the allowed limit. +// * ErrCodeInvalidPathException "InvalidPathException" +// The specified path is not valid. // -// * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" -// The maximum number of items to compare between the source or destination -// branches and the merge base has exceeded the maximum allowed. +// * ErrCodeFileDoesNotExistException "FileDoesNotExistException" +// The specified file does not exist. Verify that you have used the correct +// file name, full path, and extension. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -3632,176 +4351,116 @@ func (c *CodeCommit) GetMergeConflictsRequest(input *GetMergeConflictsInput) (re // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeConflicts -func (c *CodeCommit) GetMergeConflicts(input *GetMergeConflictsInput) (*GetMergeConflictsOutput, error) { - req, out := c.GetMergeConflictsRequest(input) +// * ErrCodeFileTooLargeException "FileTooLargeException" +// The specified file exceeds the file size limit for AWS CodeCommit. For more +// information about limits in AWS CodeCommit, see AWS CodeCommit User Guide +// (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetFile +func (c *CodeCommit) GetFile(input *GetFileInput) (*GetFileOutput, error) { + req, out := c.GetFileRequest(input) return out, req.Send() } -// GetMergeConflictsWithContext is the same as GetMergeConflicts with the addition of +// GetFileWithContext is the same as GetFile with the addition of // the ability to pass a context and additional request options. // -// See GetMergeConflicts for details on how to use this API operation. +// See GetFile for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetMergeConflictsWithContext(ctx aws.Context, input *GetMergeConflictsInput, opts ...request.Option) (*GetMergeConflictsOutput, error) { - req, out := c.GetMergeConflictsRequest(input) +func (c *CodeCommit) GetFileWithContext(ctx aws.Context, input *GetFileInput, opts ...request.Option) (*GetFileOutput, error) { + req, out := c.GetFileRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// GetMergeConflictsPages iterates over the pages of a GetMergeConflicts operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See GetMergeConflicts 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 GetMergeConflicts operation. -// pageNum := 0 -// err := client.GetMergeConflictsPages(params, -// func(page *codecommit.GetMergeConflictsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *CodeCommit) GetMergeConflictsPages(input *GetMergeConflictsInput, fn func(*GetMergeConflictsOutput, bool) bool) error { - return c.GetMergeConflictsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// GetMergeConflictsPagesWithContext same as GetMergeConflictsPages 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 *CodeCommit) GetMergeConflictsPagesWithContext(ctx aws.Context, input *GetMergeConflictsInput, fn func(*GetMergeConflictsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *GetMergeConflictsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.GetMergeConflictsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*GetMergeConflictsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opGetMergeOptions = "GetMergeOptions" +const opGetFolder = "GetFolder" -// GetMergeOptionsRequest generates a "aws/request.Request" representing the -// client's request for the GetMergeOptions operation. The "output" return +// GetFolderRequest generates a "aws/request.Request" representing the +// client's request for the GetFolder 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 GetMergeOptions for more information on using the GetMergeOptions +// See GetFolder for more information on using the GetFolder // 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 GetMergeOptionsRequest method. -// req, resp := client.GetMergeOptionsRequest(params) +// // Example sending a request using the GetFolderRequest method. +// req, resp := client.GetFolderRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeOptions -func (c *CodeCommit) GetMergeOptionsRequest(input *GetMergeOptionsInput) (req *request.Request, output *GetMergeOptionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetFolder +func (c *CodeCommit) GetFolderRequest(input *GetFolderInput) (req *request.Request, output *GetFolderOutput) { op := &request.Operation{ - Name: opGetMergeOptions, + Name: opGetFolder, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetMergeOptionsInput{} + input = &GetFolderInput{} } - output = &GetMergeOptionsOutput{} + output = &GetFolderOutput{} req = c.newRequest(op, input, output) return } -// GetMergeOptions API operation for AWS CodeCommit. +// GetFolder API operation for AWS CodeCommit. // -// Returns information about the merge options available for merging two specified -// branches. For details about why a particular merge option is not available, -// use GetMergeConflicts or DescribeMergeConflicts. +// Returns the contents of a specified folder in a repository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetMergeOptions for usage and error information. +// API operation GetFolder for usage and error information. // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // // * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" // The specified repository does not exist. // -// * ErrCodeCommitRequiredException "CommitRequiredException" -// A commit was not specified. +// * ErrCodeInvalidCommitException "InvalidCommitException" +// The specified commit is not valid. // // * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" // The specified commit does not exist or no commit was specified, and the specified // repository has no default branch. // -// * ErrCodeInvalidCommitException "InvalidCommitException" -// The specified commit is not valid. -// -// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" -// The divergence between the tips of the provided commit specifiers is too -// great to determine whether there might be any merge conflicts. Locally compare -// the specifiers using git diff or a diff tool. -// -// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" -// The specified conflict detail level is not valid. -// -// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" -// The specified conflict resolution strategy is not valid. +// * ErrCodePathRequiredException "PathRequiredException" +// The folderPath for a location cannot be null. // -// * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException" -// The number of files to load exceeds the allowed limit. +// * ErrCodeInvalidPathException "InvalidPathException" +// The specified path is not valid. // -// * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" -// The maximum number of items to compare between the source or destination -// branches and the merge base has exceeded the maximum allowed. +// * ErrCodeFolderDoesNotExistException "FolderDoesNotExistException" +// The specified folder does not exist. Either the folder name is not correct, +// or you did not enter the full path to the folder. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -3818,93 +4477,110 @@ func (c *CodeCommit) GetMergeOptionsRequest(input *GetMergeOptionsInput) (req *r // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeOptions -func (c *CodeCommit) GetMergeOptions(input *GetMergeOptionsInput) (*GetMergeOptionsOutput, error) { - req, out := c.GetMergeOptionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetFolder +func (c *CodeCommit) GetFolder(input *GetFolderInput) (*GetFolderOutput, error) { + req, out := c.GetFolderRequest(input) return out, req.Send() } -// GetMergeOptionsWithContext is the same as GetMergeOptions with the addition of +// GetFolderWithContext is the same as GetFolder with the addition of // the ability to pass a context and additional request options. // -// See GetMergeOptions for details on how to use this API operation. +// See GetFolder for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetMergeOptionsWithContext(ctx aws.Context, input *GetMergeOptionsInput, opts ...request.Option) (*GetMergeOptionsOutput, error) { - req, out := c.GetMergeOptionsRequest(input) +func (c *CodeCommit) GetFolderWithContext(ctx aws.Context, input *GetFolderInput, opts ...request.Option) (*GetFolderOutput, error) { + req, out := c.GetFolderRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetPullRequest = "GetPullRequest" +const opGetMergeCommit = "GetMergeCommit" -// GetPullRequestRequest generates a "aws/request.Request" representing the -// client's request for the GetPullRequest operation. The "output" return +// GetMergeCommitRequest generates a "aws/request.Request" representing the +// client's request for the GetMergeCommit 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 GetPullRequest for more information on using the GetPullRequest +// See GetMergeCommit for more information on using the GetMergeCommit // 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 GetPullRequestRequest method. -// req, resp := client.GetPullRequestRequest(params) +// // Example sending a request using the GetMergeCommitRequest method. +// req, resp := client.GetMergeCommitRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequest -func (c *CodeCommit) GetPullRequestRequest(input *GetPullRequestInput) (req *request.Request, output *GetPullRequestOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeCommit +func (c *CodeCommit) GetMergeCommitRequest(input *GetMergeCommitInput) (req *request.Request, output *GetMergeCommitOutput) { op := &request.Operation{ - Name: opGetPullRequest, + Name: opGetMergeCommit, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetPullRequestInput{} + input = &GetMergeCommitInput{} } - output = &GetPullRequestOutput{} + output = &GetMergeCommitOutput{} req = c.newRequest(op, input, output) return } -// GetPullRequest API operation for AWS CodeCommit. +// GetMergeCommit API operation for AWS CodeCommit. // -// Gets information about a pull request in a specified repository. +// Returns information about a specified merge commit. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetPullRequest for usage and error information. +// API operation GetMergeCommit for usage and error information. // // Returned Error Codes: -// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" -// The pull request ID could not be found. Make sure that you have specified -// the correct repository name and pull request ID, and then try again. +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. // -// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" -// The pull request ID is not valid. Make sure that you have provided the full -// ID and that the pull request is in the specified repository, and then try -// again. +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. // -// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" -// A pull request ID is required, but none was provided. +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeCommitRequiredException "CommitRequiredException" +// A commit was not specified. +// +// * ErrCodeInvalidCommitException "InvalidCommitException" +// The specified commit is not valid. +// +// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" +// The specified commit does not exist or no commit was specified, and the specified +// repository has no default branch. +// +// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" +// The specified conflict detail level is not valid. +// +// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" +// The specified conflict resolution strategy is not valid. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -3921,101 +4597,151 @@ func (c *CodeCommit) GetPullRequestRequest(input *GetPullRequestInput) (req *req // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequest -func (c *CodeCommit) GetPullRequest(input *GetPullRequestInput) (*GetPullRequestOutput, error) { - req, out := c.GetPullRequestRequest(input) - return out, req.Send() -} +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeCommit +func (c *CodeCommit) GetMergeCommit(input *GetMergeCommitInput) (*GetMergeCommitOutput, error) { + req, out := c.GetMergeCommitRequest(input) + return out, req.Send() +} -// GetPullRequestWithContext is the same as GetPullRequest with the addition of +// GetMergeCommitWithContext is the same as GetMergeCommit with the addition of // the ability to pass a context and additional request options. // -// See GetPullRequest for details on how to use this API operation. +// See GetMergeCommit for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetPullRequestWithContext(ctx aws.Context, input *GetPullRequestInput, opts ...request.Option) (*GetPullRequestOutput, error) { - req, out := c.GetPullRequestRequest(input) +func (c *CodeCommit) GetMergeCommitWithContext(ctx aws.Context, input *GetMergeCommitInput, opts ...request.Option) (*GetMergeCommitOutput, error) { + req, out := c.GetMergeCommitRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRepository = "GetRepository" +const opGetMergeConflicts = "GetMergeConflicts" -// GetRepositoryRequest generates a "aws/request.Request" representing the -// client's request for the GetRepository operation. The "output" return +// GetMergeConflictsRequest generates a "aws/request.Request" representing the +// client's request for the GetMergeConflicts 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 GetRepository for more information on using the GetRepository +// See GetMergeConflicts for more information on using the GetMergeConflicts // 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 GetRepositoryRequest method. -// req, resp := client.GetRepositoryRequest(params) +// // Example sending a request using the GetMergeConflictsRequest method. +// req, resp := client.GetMergeConflictsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetRepository -func (c *CodeCommit) GetRepositoryRequest(input *GetRepositoryInput) (req *request.Request, output *GetRepositoryOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeConflicts +func (c *CodeCommit) GetMergeConflictsRequest(input *GetMergeConflictsInput) (req *request.Request, output *GetMergeConflictsOutput) { op := &request.Operation{ - Name: opGetRepository, + Name: opGetMergeConflicts, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxConflictFiles", + TruncationToken: "", + }, } if input == nil { - input = &GetRepositoryInput{} + input = &GetMergeConflictsInput{} } - output = &GetRepositoryOutput{} + output = &GetMergeConflictsOutput{} req = c.newRequest(op, input, output) return } -// GetRepository API operation for AWS CodeCommit. -// -// Returns information about a repository. +// GetMergeConflicts API operation for AWS CodeCommit. // -// The description field for a repository accepts all HTML characters and all -// valid Unicode characters. Applications that do not HTML-encode the description -// and display it in a web page could expose users to potentially malicious -// code. Make sure that you HTML-encode the description field in any application -// that uses this API to display the repository description on a web page. +// Returns information about merge conflicts between the before and after commit +// IDs for a pull request in a repository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetRepository for usage and error information. +// API operation GetMergeConflicts for usage and error information. // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. -// -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeMergeOptionRequiredException "MergeOptionRequiredException" +// A merge option or stategy is required, and none was provided. +// +// * ErrCodeInvalidMergeOptionException "InvalidMergeOptionException" +// The specified merge option is not valid for this operation. Not all merge +// strategies are supported for all operations. +// +// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" +// The specified continuation token is not valid. +// +// * ErrCodeCommitRequiredException "CommitRequiredException" +// A commit was not specified. +// +// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" +// The specified commit does not exist or no commit was specified, and the specified +// repository has no default branch. +// +// * ErrCodeInvalidCommitException "InvalidCommitException" +// The specified commit is not valid. +// +// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" +// The divergence between the tips of the provided commit specifiers is too +// great to determine whether there might be any merge conflicts. Locally compare +// the specifiers using git diff or a diff tool. +// +// * ErrCodeInvalidMaxConflictFilesException "InvalidMaxConflictFilesException" +// The specified value for the number of conflict files to return is not valid. +// +// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" +// The specified conflict detail level is not valid. +// +// * ErrCodeInvalidDestinationCommitSpecifierException "InvalidDestinationCommitSpecifierException" +// The destination commit specifier is not valid. You must provide a valid branch +// name, tag, or full commit ID. +// +// * ErrCodeInvalidSourceCommitSpecifierException "InvalidSourceCommitSpecifierException" +// The source commit specifier is not valid. You must provide a valid branch +// name, tag, or full commit ID. +// +// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" +// The specified conflict resolution strategy is not valid. +// +// * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException" +// The number of files to load exceeds the allowed limit. +// +// * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" +// The number of items to compare between the source or destination branches +// and the merge base has exceeded the maximum allowed. +// // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. // @@ -4031,95 +4757,177 @@ func (c *CodeCommit) GetRepositoryRequest(input *GetRepositoryInput) (req *reque // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetRepository -func (c *CodeCommit) GetRepository(input *GetRepositoryInput) (*GetRepositoryOutput, error) { - req, out := c.GetRepositoryRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeConflicts +func (c *CodeCommit) GetMergeConflicts(input *GetMergeConflictsInput) (*GetMergeConflictsOutput, error) { + req, out := c.GetMergeConflictsRequest(input) return out, req.Send() } -// GetRepositoryWithContext is the same as GetRepository with the addition of +// GetMergeConflictsWithContext is the same as GetMergeConflicts with the addition of // the ability to pass a context and additional request options. // -// See GetRepository for details on how to use this API operation. +// See GetMergeConflicts for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetRepositoryWithContext(ctx aws.Context, input *GetRepositoryInput, opts ...request.Option) (*GetRepositoryOutput, error) { - req, out := c.GetRepositoryRequest(input) +func (c *CodeCommit) GetMergeConflictsWithContext(ctx aws.Context, input *GetMergeConflictsInput, opts ...request.Option) (*GetMergeConflictsOutput, error) { + req, out := c.GetMergeConflictsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRepositoryTriggers = "GetRepositoryTriggers" +// GetMergeConflictsPages iterates over the pages of a GetMergeConflicts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetMergeConflicts 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 GetMergeConflicts operation. +// pageNum := 0 +// err := client.GetMergeConflictsPages(params, +// func(page *codecommit.GetMergeConflictsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeCommit) GetMergeConflictsPages(input *GetMergeConflictsInput, fn func(*GetMergeConflictsOutput, bool) bool) error { + return c.GetMergeConflictsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// GetRepositoryTriggersRequest generates a "aws/request.Request" representing the -// client's request for the GetRepositoryTriggers operation. The "output" return +// GetMergeConflictsPagesWithContext same as GetMergeConflictsPages 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 *CodeCommit) GetMergeConflictsPagesWithContext(ctx aws.Context, input *GetMergeConflictsInput, fn func(*GetMergeConflictsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetMergeConflictsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetMergeConflictsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetMergeConflictsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetMergeOptions = "GetMergeOptions" + +// GetMergeOptionsRequest generates a "aws/request.Request" representing the +// client's request for the GetMergeOptions 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 GetRepositoryTriggers for more information on using the GetRepositoryTriggers +// See GetMergeOptions for more information on using the GetMergeOptions // 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 GetRepositoryTriggersRequest method. -// req, resp := client.GetRepositoryTriggersRequest(params) +// // Example sending a request using the GetMergeOptionsRequest method. +// req, resp := client.GetMergeOptionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetRepositoryTriggers -func (c *CodeCommit) GetRepositoryTriggersRequest(input *GetRepositoryTriggersInput) (req *request.Request, output *GetRepositoryTriggersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeOptions +func (c *CodeCommit) GetMergeOptionsRequest(input *GetMergeOptionsInput) (req *request.Request, output *GetMergeOptionsOutput) { op := &request.Operation{ - Name: opGetRepositoryTriggers, + Name: opGetMergeOptions, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRepositoryTriggersInput{} + input = &GetMergeOptionsInput{} } - output = &GetRepositoryTriggersOutput{} + output = &GetMergeOptionsOutput{} req = c.newRequest(op, input, output) return } -// GetRepositoryTriggers API operation for AWS CodeCommit. +// GetMergeOptions API operation for AWS CodeCommit. // -// Gets information about triggers configured for a repository. +// Returns information about the merge options available for merging two specified +// branches. For details about why a merge option is not available, use GetMergeConflicts +// or DescribeMergeConflicts. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation GetRepositoryTriggers for usage and error information. +// API operation GetMergeOptions for usage and error information. // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // // * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" // The specified repository does not exist. // +// * ErrCodeCommitRequiredException "CommitRequiredException" +// A commit was not specified. +// +// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" +// The specified commit does not exist or no commit was specified, and the specified +// repository has no default branch. +// +// * ErrCodeInvalidCommitException "InvalidCommitException" +// The specified commit is not valid. +// +// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" +// The divergence between the tips of the provided commit specifiers is too +// great to determine whether there might be any merge conflicts. Locally compare +// the specifiers using git diff or a diff tool. +// +// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" +// The specified conflict detail level is not valid. +// +// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" +// The specified conflict resolution strategy is not valid. +// +// * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException" +// The number of files to load exceeds the allowed limit. +// +// * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" +// The number of items to compare between the source or destination branches +// and the merge base has exceeded the maximum allowed. +// // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. // @@ -4135,100 +4943,93 @@ func (c *CodeCommit) GetRepositoryTriggersRequest(input *GetRepositoryTriggersIn // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetRepositoryTriggers -func (c *CodeCommit) GetRepositoryTriggers(input *GetRepositoryTriggersInput) (*GetRepositoryTriggersOutput, error) { - req, out := c.GetRepositoryTriggersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeOptions +func (c *CodeCommit) GetMergeOptions(input *GetMergeOptionsInput) (*GetMergeOptionsOutput, error) { + req, out := c.GetMergeOptionsRequest(input) return out, req.Send() } -// GetRepositoryTriggersWithContext is the same as GetRepositoryTriggers with the addition of +// GetMergeOptionsWithContext is the same as GetMergeOptions with the addition of // the ability to pass a context and additional request options. // -// See GetRepositoryTriggers for details on how to use this API operation. +// See GetMergeOptions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) GetRepositoryTriggersWithContext(ctx aws.Context, input *GetRepositoryTriggersInput, opts ...request.Option) (*GetRepositoryTriggersOutput, error) { - req, out := c.GetRepositoryTriggersRequest(input) +func (c *CodeCommit) GetMergeOptionsWithContext(ctx aws.Context, input *GetMergeOptionsInput, opts ...request.Option) (*GetMergeOptionsOutput, error) { + req, out := c.GetMergeOptionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListBranches = "ListBranches" +const opGetPullRequest = "GetPullRequest" -// ListBranchesRequest generates a "aws/request.Request" representing the -// client's request for the ListBranches operation. The "output" return +// GetPullRequestRequest generates a "aws/request.Request" representing the +// client's request for the GetPullRequest 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 ListBranches for more information on using the ListBranches +// See GetPullRequest for more information on using the GetPullRequest // 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 ListBranchesRequest method. -// req, resp := client.ListBranchesRequest(params) +// // Example sending a request using the GetPullRequestRequest method. +// req, resp := client.GetPullRequestRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListBranches -func (c *CodeCommit) ListBranchesRequest(input *ListBranchesInput) (req *request.Request, output *ListBranchesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequest +func (c *CodeCommit) GetPullRequestRequest(input *GetPullRequestInput) (req *request.Request, output *GetPullRequestOutput) { op := &request.Operation{ - Name: opListBranches, + Name: opGetPullRequest, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "", - TruncationToken: "", - }, } if input == nil { - input = &ListBranchesInput{} + input = &GetPullRequestInput{} } - output = &ListBranchesOutput{} + output = &GetPullRequestOutput{} req = c.newRequest(op, input, output) return } -// ListBranches API operation for AWS CodeCommit. +// GetPullRequest API operation for AWS CodeCommit. // -// Gets information about one or more branches in a repository. +// Gets information about a pull request in a specified repository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation ListBranches for usage and error information. +// API operation GetPullRequest for usage and error information. // // Returned Error Codes: -// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. -// -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. // -// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. // -// This exception only occurs when a specified repository name is not valid. -// Other exceptions occur when a required repository parameter is missing, or -// when a specified repository does not exist. +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -4245,173 +5046,101 @@ func (c *CodeCommit) ListBranchesRequest(input *ListBranchesInput) (req *request // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" -// The specified continuation token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListBranches -func (c *CodeCommit) ListBranches(input *ListBranchesInput) (*ListBranchesOutput, error) { - req, out := c.ListBranchesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequest +func (c *CodeCommit) GetPullRequest(input *GetPullRequestInput) (*GetPullRequestOutput, error) { + req, out := c.GetPullRequestRequest(input) return out, req.Send() } -// ListBranchesWithContext is the same as ListBranches with the addition of +// GetPullRequestWithContext is the same as GetPullRequest with the addition of // the ability to pass a context and additional request options. // -// See ListBranches for details on how to use this API operation. +// See GetPullRequest for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) ListBranchesWithContext(ctx aws.Context, input *ListBranchesInput, opts ...request.Option) (*ListBranchesOutput, error) { - req, out := c.ListBranchesRequest(input) +func (c *CodeCommit) GetPullRequestWithContext(ctx aws.Context, input *GetPullRequestInput, opts ...request.Option) (*GetPullRequestOutput, error) { + req, out := c.GetPullRequestRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListBranchesPages iterates over the pages of a ListBranches operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListBranches 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 ListBranches operation. -// pageNum := 0 -// err := client.ListBranchesPages(params, -// func(page *codecommit.ListBranchesOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *CodeCommit) ListBranchesPages(input *ListBranchesInput, fn func(*ListBranchesOutput, bool) bool) error { - return c.ListBranchesPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListBranchesPagesWithContext same as ListBranchesPages 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 *CodeCommit) ListBranchesPagesWithContext(ctx aws.Context, input *ListBranchesInput, fn func(*ListBranchesOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListBranchesInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListBranchesRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListBranchesOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListPullRequests = "ListPullRequests" +const opGetPullRequestApprovalStates = "GetPullRequestApprovalStates" -// ListPullRequestsRequest generates a "aws/request.Request" representing the -// client's request for the ListPullRequests operation. The "output" return +// GetPullRequestApprovalStatesRequest generates a "aws/request.Request" representing the +// client's request for the GetPullRequestApprovalStates 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 ListPullRequests for more information on using the ListPullRequests +// See GetPullRequestApprovalStates for more information on using the GetPullRequestApprovalStates // 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 ListPullRequestsRequest method. -// req, resp := client.ListPullRequestsRequest(params) +// // Example sending a request using the GetPullRequestApprovalStatesRequest method. +// req, resp := client.GetPullRequestApprovalStatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListPullRequests -func (c *CodeCommit) ListPullRequestsRequest(input *ListPullRequestsInput) (req *request.Request, output *ListPullRequestsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequestApprovalStates +func (c *CodeCommit) GetPullRequestApprovalStatesRequest(input *GetPullRequestApprovalStatesInput) (req *request.Request, output *GetPullRequestApprovalStatesOutput) { op := &request.Operation{ - Name: opListPullRequests, + Name: opGetPullRequestApprovalStates, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "maxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListPullRequestsInput{} + input = &GetPullRequestApprovalStatesInput{} } - output = &ListPullRequestsOutput{} + output = &GetPullRequestApprovalStatesOutput{} req = c.newRequest(op, input, output) return } -// ListPullRequests API operation for AWS CodeCommit. +// GetPullRequestApprovalStates API operation for AWS CodeCommit. // -// Returns a list of pull requests for a specified repository. The return list -// can be refined by pull request status or pull request author ARN. +// Gets information about the approval states for a specified pull request. +// Approval states only apply to pull requests that have one or more approval +// rules applied to them. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation ListPullRequests for usage and error information. +// API operation GetPullRequestApprovalStates for usage and error information. // // Returned Error Codes: -// * ErrCodeInvalidPullRequestStatusException "InvalidPullRequestStatusException" -// The pull request status is not valid. The only valid values are OPEN and -// CLOSED. -// -// * ErrCodeInvalidAuthorArnException "InvalidAuthorArnException" -// The Amazon Resource Name (ARN) is not valid. Make sure that you have provided -// the full ARN for the author of the pull request, and then try again. -// -// * ErrCodeAuthorDoesNotExistException "AuthorDoesNotExistException" -// The specified Amazon Resource Name (ARN) does not exist in the AWS account. -// -// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. -// -// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. // -// This exception only occurs when a specified repository name is not valid. -// Other exceptions occur when a required repository parameter is missing, or -// when a specified repository does not exist. +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. // -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. // -// * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException" -// The specified number of maximum results is not valid. +// * ErrCodeInvalidRevisionIdException "InvalidRevisionIdException" +// The revision ID is not valid. Use GetPullRequest to determine the value. // -// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" -// The specified continuation token is not valid. +// * ErrCodeRevisionIdRequiredException "RevisionIdRequiredException" +// A revision ID is required, but was not provided. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -4428,431 +5157,316 @@ func (c *CodeCommit) ListPullRequestsRequest(input *ListPullRequestsInput) (req // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListPullRequests -func (c *CodeCommit) ListPullRequests(input *ListPullRequestsInput) (*ListPullRequestsOutput, error) { - req, out := c.ListPullRequestsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequestApprovalStates +func (c *CodeCommit) GetPullRequestApprovalStates(input *GetPullRequestApprovalStatesInput) (*GetPullRequestApprovalStatesOutput, error) { + req, out := c.GetPullRequestApprovalStatesRequest(input) return out, req.Send() } -// ListPullRequestsWithContext is the same as ListPullRequests with the addition of +// GetPullRequestApprovalStatesWithContext is the same as GetPullRequestApprovalStates with the addition of // the ability to pass a context and additional request options. // -// See ListPullRequests for details on how to use this API operation. +// See GetPullRequestApprovalStates for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) ListPullRequestsWithContext(ctx aws.Context, input *ListPullRequestsInput, opts ...request.Option) (*ListPullRequestsOutput, error) { - req, out := c.ListPullRequestsRequest(input) +func (c *CodeCommit) GetPullRequestApprovalStatesWithContext(ctx aws.Context, input *GetPullRequestApprovalStatesInput, opts ...request.Option) (*GetPullRequestApprovalStatesOutput, error) { + req, out := c.GetPullRequestApprovalStatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListPullRequestsPages iterates over the pages of a ListPullRequests operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListPullRequests 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 ListPullRequests operation. -// pageNum := 0 -// err := client.ListPullRequestsPages(params, -// func(page *codecommit.ListPullRequestsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *CodeCommit) ListPullRequestsPages(input *ListPullRequestsInput, fn func(*ListPullRequestsOutput, bool) bool) error { - return c.ListPullRequestsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListPullRequestsPagesWithContext same as ListPullRequestsPages 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 *CodeCommit) ListPullRequestsPagesWithContext(ctx aws.Context, input *ListPullRequestsInput, fn func(*ListPullRequestsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListPullRequestsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListPullRequestsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListPullRequestsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListRepositories = "ListRepositories" +const opGetPullRequestOverrideState = "GetPullRequestOverrideState" -// ListRepositoriesRequest generates a "aws/request.Request" representing the -// client's request for the ListRepositories operation. The "output" return +// GetPullRequestOverrideStateRequest generates a "aws/request.Request" representing the +// client's request for the GetPullRequestOverrideState 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 ListRepositories for more information on using the ListRepositories +// See GetPullRequestOverrideState for more information on using the GetPullRequestOverrideState // 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 ListRepositoriesRequest method. -// req, resp := client.ListRepositoriesRequest(params) +// // Example sending a request using the GetPullRequestOverrideStateRequest method. +// req, resp := client.GetPullRequestOverrideStateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListRepositories -func (c *CodeCommit) ListRepositoriesRequest(input *ListRepositoriesInput) (req *request.Request, output *ListRepositoriesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequestOverrideState +func (c *CodeCommit) GetPullRequestOverrideStateRequest(input *GetPullRequestOverrideStateInput) (req *request.Request, output *GetPullRequestOverrideStateOutput) { op := &request.Operation{ - Name: opListRepositories, + Name: opGetPullRequestOverrideState, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "", - TruncationToken: "", - }, } if input == nil { - input = &ListRepositoriesInput{} + input = &GetPullRequestOverrideStateInput{} } - output = &ListRepositoriesOutput{} + output = &GetPullRequestOverrideStateOutput{} req = c.newRequest(op, input, output) return } -// ListRepositories API operation for AWS CodeCommit. +// GetPullRequestOverrideState API operation for AWS CodeCommit. // -// Gets information about one or more repositories. +// Returns information about whether approval rules have been set aside (overridden) +// for a pull request, and if so, the Amazon Resource Name (ARN) of the user +// or identity that overrode the rules and their requirements for the pull 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 AWS CodeCommit's -// API operation ListRepositories for usage and error information. +// API operation GetPullRequestOverrideState for usage and error information. // // Returned Error Codes: -// * ErrCodeInvalidSortByException "InvalidSortByException" -// The specified sort by value is not valid. +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. // -// * ErrCodeInvalidOrderException "InvalidOrderException" -// The specified sort order is not valid. +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. // -// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" -// The specified continuation token is not valid. +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListRepositories -func (c *CodeCommit) ListRepositories(input *ListRepositoriesInput) (*ListRepositoriesOutput, error) { - req, out := c.ListRepositoriesRequest(input) - return out, req.Send() -} - -// ListRepositoriesWithContext is the same as ListRepositories with the addition of -// the ability to pass a context and additional request options. +// * ErrCodeInvalidRevisionIdException "InvalidRevisionIdException" +// The revision ID is not valid. Use GetPullRequest to determine the value. // -// See ListRepositories for details on how to use this API operation. +// * ErrCodeRevisionIdRequiredException "RevisionIdRequiredException" +// A revision ID is required, but was not provided. // -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *CodeCommit) ListRepositoriesWithContext(ctx aws.Context, input *ListRepositoriesInput, opts ...request.Option) (*ListRepositoriesOutput, error) { - req, out := c.ListRepositoriesRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// ListRepositoriesPages iterates over the pages of a ListRepositories operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. // -// See ListRepositories method for more information on how to use this operation. +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. // -// Note: This operation can generate multiple requests to a service. +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. // -// // Example iterating over at most 3 pages of a ListRepositories operation. -// pageNum := 0 -// err := client.ListRepositoriesPages(params, -// func(page *codecommit.ListRepositoriesOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. // -func (c *CodeCommit) ListRepositoriesPages(input *ListRepositoriesInput, fn func(*ListRepositoriesOutput, bool) bool) error { - return c.ListRepositoriesPagesWithContext(aws.BackgroundContext(), input, fn) +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequestOverrideState +func (c *CodeCommit) GetPullRequestOverrideState(input *GetPullRequestOverrideStateInput) (*GetPullRequestOverrideStateOutput, error) { + req, out := c.GetPullRequestOverrideStateRequest(input) + return out, req.Send() } -// ListRepositoriesPagesWithContext same as ListRepositoriesPages except -// it takes a Context and allows setting request options on the pages. +// GetPullRequestOverrideStateWithContext is the same as GetPullRequestOverrideState with the addition of +// the ability to pass a context and additional request options. +// +// See GetPullRequestOverrideState for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) ListRepositoriesPagesWithContext(ctx aws.Context, input *ListRepositoriesInput, fn func(*ListRepositoriesOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListRepositoriesInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListRepositoriesRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListRepositoriesOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() +func (c *CodeCommit) GetPullRequestOverrideStateWithContext(ctx aws.Context, input *GetPullRequestOverrideStateInput, opts ...request.Option) (*GetPullRequestOverrideStateOutput, error) { + req, out := c.GetPullRequestOverrideStateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -const opListTagsForResource = "ListTagsForResource" +const opGetRepository = "GetRepository" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// GetRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the GetRepository 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 GetRepository for more information on using the GetRepository // 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 GetRepositoryRequest method. +// req, resp := client.GetRepositoryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListTagsForResource -func (c *CodeCommit) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetRepository +func (c *CodeCommit) GetRepositoryRequest(input *GetRepositoryInput) (req *request.Request, output *GetRepositoryOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opGetRepository, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListTagsForResourceInput{} + input = &GetRepositoryInput{} } - output = &ListTagsForResourceOutput{} + output = &GetRepositoryOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for AWS CodeCommit. +// GetRepository API operation for AWS CodeCommit. // -// Gets information about AWS tags for a specified Amazon Resource Name (ARN) -// in AWS CodeCommit. For a list of valid resources in AWS CodeCommit, see CodeCommit -// Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) -// in the AWS CodeCommit User Guide. +// Returns information about a repository. +// +// The description field for a repository accepts all HTML characters and all +// valid Unicode characters. Applications that do not HTML-encode the description +// and display it in a webpage can expose users to potentially malicious code. +// Make sure that you HTML-encode the description field in any application that +// uses this API to display the repository description on a webpage. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation ListTagsForResource for usage and error information. +// API operation GetRepository for usage and error information. // // Returned Error Codes: +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. +// // * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" // The specified repository does not exist. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // -// * ErrCodeResourceArnRequiredException "ResourceArnRequiredException" -// A valid Amazon Resource Name (ARN) for an AWS CodeCommit resource is required. -// For a list of valid resources in AWS CodeCommit, see CodeCommit Resources -// and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) -// in the AWS CodeCommit User Guide. +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. // -// * ErrCodeInvalidResourceArnException "InvalidResourceArnException" -// The value for the resource ARN is not valid. For more information about resources -// in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) -// in the AWS CodeCommit User Guide. +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListTagsForResource -func (c *CodeCommit) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetRepository +func (c *CodeCommit) GetRepository(input *GetRepositoryInput) (*GetRepositoryOutput, error) { + req, out := c.GetRepositoryRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// GetRepositoryWithContext is the same as GetRepository 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 GetRepository for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *CodeCommit) GetRepositoryWithContext(ctx aws.Context, input *GetRepositoryInput, opts ...request.Option) (*GetRepositoryOutput, error) { + req, out := c.GetRepositoryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opMergeBranchesByFastForward = "MergeBranchesByFastForward" +const opGetRepositoryTriggers = "GetRepositoryTriggers" -// MergeBranchesByFastForwardRequest generates a "aws/request.Request" representing the -// client's request for the MergeBranchesByFastForward operation. The "output" return +// GetRepositoryTriggersRequest generates a "aws/request.Request" representing the +// client's request for the GetRepositoryTriggers 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 MergeBranchesByFastForward for more information on using the MergeBranchesByFastForward +// See GetRepositoryTriggers for more information on using the GetRepositoryTriggers // 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 MergeBranchesByFastForwardRequest method. -// req, resp := client.MergeBranchesByFastForwardRequest(params) +// // Example sending a request using the GetRepositoryTriggersRequest method. +// req, resp := client.GetRepositoryTriggersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByFastForward -func (c *CodeCommit) MergeBranchesByFastForwardRequest(input *MergeBranchesByFastForwardInput) (req *request.Request, output *MergeBranchesByFastForwardOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetRepositoryTriggers +func (c *CodeCommit) GetRepositoryTriggersRequest(input *GetRepositoryTriggersInput) (req *request.Request, output *GetRepositoryTriggersOutput) { op := &request.Operation{ - Name: opMergeBranchesByFastForward, + Name: opGetRepositoryTriggers, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &MergeBranchesByFastForwardInput{} + input = &GetRepositoryTriggersInput{} } - output = &MergeBranchesByFastForwardOutput{} + output = &GetRepositoryTriggersOutput{} req = c.newRequest(op, input, output) return } -// MergeBranchesByFastForward API operation for AWS CodeCommit. +// GetRepositoryTriggers API operation for AWS CodeCommit. // -// Merges two branches using the fast-forward merge strategy. +// Gets information about triggers configured for a repository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation MergeBranchesByFastForward for usage and error information. +// API operation GetRepositoryTriggers for usage and error information. // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // // * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" // The specified repository does not exist. // -// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" -// The divergence between the tips of the provided commit specifiers is too -// great to determine whether there might be any merge conflicts. Locally compare -// the specifiers using git diff or a diff tool. -// -// * ErrCodeCommitRequiredException "CommitRequiredException" -// A commit was not specified. -// -// * ErrCodeInvalidCommitException "InvalidCommitException" -// The specified commit is not valid. -// -// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" -// The specified commit does not exist or no commit was specified, and the specified -// repository has no default branch. -// -// * ErrCodeInvalidTargetBranchException "InvalidTargetBranchException" -// The specified target branch is not valid. -// -// * ErrCodeInvalidBranchNameException "InvalidBranchNameException" -// The specified reference name is not valid. -// -// * ErrCodeBranchNameRequiredException "BranchNameRequiredException" -// A branch name is required but was not specified. -// -// * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException" -// The specified branch name is not valid because it is a tag name. Type the -// name of a current branch in the repository. For a list of valid branch names, -// use ListBranches. -// -// * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException" -// The specified branch does not exist. -// -// * ErrCodeManualMergeRequiredException "ManualMergeRequiredException" -// The pull request cannot be merged automatically into the destination branch. -// You must manually merge the branches and resolve any conflicts. -// -// * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException" -// The merge cannot be completed because the target branch has been modified. -// Another user might have modified the target branch while the merge was in -// progress. Wait a few minutes, and then try again. -// // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. // @@ -4868,209 +5482,248 @@ func (c *CodeCommit) MergeBranchesByFastForwardRequest(input *MergeBranchesByFas // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByFastForward -func (c *CodeCommit) MergeBranchesByFastForward(input *MergeBranchesByFastForwardInput) (*MergeBranchesByFastForwardOutput, error) { - req, out := c.MergeBranchesByFastForwardRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetRepositoryTriggers +func (c *CodeCommit) GetRepositoryTriggers(input *GetRepositoryTriggersInput) (*GetRepositoryTriggersOutput, error) { + req, out := c.GetRepositoryTriggersRequest(input) return out, req.Send() } -// MergeBranchesByFastForwardWithContext is the same as MergeBranchesByFastForward with the addition of +// GetRepositoryTriggersWithContext is the same as GetRepositoryTriggers with the addition of // the ability to pass a context and additional request options. // -// See MergeBranchesByFastForward for details on how to use this API operation. +// See GetRepositoryTriggers for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) MergeBranchesByFastForwardWithContext(ctx aws.Context, input *MergeBranchesByFastForwardInput, opts ...request.Option) (*MergeBranchesByFastForwardOutput, error) { - req, out := c.MergeBranchesByFastForwardRequest(input) +func (c *CodeCommit) GetRepositoryTriggersWithContext(ctx aws.Context, input *GetRepositoryTriggersInput, opts ...request.Option) (*GetRepositoryTriggersOutput, error) { + req, out := c.GetRepositoryTriggersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opMergeBranchesBySquash = "MergeBranchesBySquash" +const opListApprovalRuleTemplates = "ListApprovalRuleTemplates" -// MergeBranchesBySquashRequest generates a "aws/request.Request" representing the -// client's request for the MergeBranchesBySquash operation. The "output" return +// ListApprovalRuleTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListApprovalRuleTemplates 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 MergeBranchesBySquash for more information on using the MergeBranchesBySquash +// See ListApprovalRuleTemplates for more information on using the ListApprovalRuleTemplates // 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 MergeBranchesBySquashRequest method. -// req, resp := client.MergeBranchesBySquashRequest(params) +// // Example sending a request using the ListApprovalRuleTemplatesRequest method. +// req, resp := client.ListApprovalRuleTemplatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesBySquash -func (c *CodeCommit) MergeBranchesBySquashRequest(input *MergeBranchesBySquashInput) (req *request.Request, output *MergeBranchesBySquashOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListApprovalRuleTemplates +func (c *CodeCommit) ListApprovalRuleTemplatesRequest(input *ListApprovalRuleTemplatesInput) (req *request.Request, output *ListApprovalRuleTemplatesOutput) { op := &request.Operation{ - Name: opMergeBranchesBySquash, + Name: opListApprovalRuleTemplates, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &MergeBranchesBySquashInput{} + input = &ListApprovalRuleTemplatesInput{} } - output = &MergeBranchesBySquashOutput{} + output = &ListApprovalRuleTemplatesOutput{} req = c.newRequest(op, input, output) return } -// MergeBranchesBySquash API operation for AWS CodeCommit. +// ListApprovalRuleTemplates API operation for AWS CodeCommit. // -// Merges two branches using the squash merge strategy. +// Lists all approval rule templates in the specified AWS Region in your AWS +// account. If an AWS Region is not specified, the AWS Region where you are +// signed in is used. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation MergeBranchesBySquash for usage and error information. +// API operation ListApprovalRuleTemplates for usage and error information. // // Returned Error Codes: -// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException" +// The specified number of maximum results is not valid. // -// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" +// The specified continuation token is not valid. // -// This exception only occurs when a specified repository name is not valid. -// Other exceptions occur when a required repository parameter is missing, or -// when a specified repository does not exist. +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListApprovalRuleTemplates +func (c *CodeCommit) ListApprovalRuleTemplates(input *ListApprovalRuleTemplatesInput) (*ListApprovalRuleTemplatesOutput, error) { + req, out := c.ListApprovalRuleTemplatesRequest(input) + return out, req.Send() +} + +// ListApprovalRuleTemplatesWithContext is the same as ListApprovalRuleTemplates with the addition of +// the ability to pass a context and additional request options. // -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// See ListApprovalRuleTemplates for details on how to use this API operation. // -// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" -// The divergence between the tips of the provided commit specifiers is too -// great to determine whether there might be any merge conflicts. Locally compare -// the specifiers using git diff or a diff tool. -// -// * ErrCodeCommitRequiredException "CommitRequiredException" -// A commit was not specified. -// -// * ErrCodeInvalidCommitException "InvalidCommitException" -// The specified commit is not valid. -// -// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" -// The specified commit does not exist or no commit was specified, and the specified -// repository has no default branch. -// -// * ErrCodeInvalidTargetBranchException "InvalidTargetBranchException" -// The specified target branch is not valid. -// -// * ErrCodeInvalidBranchNameException "InvalidBranchNameException" -// The specified reference name is not valid. -// -// * ErrCodeBranchNameRequiredException "BranchNameRequiredException" -// A branch name is required but was not specified. -// -// * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException" -// The specified branch name is not valid because it is a tag name. Type the -// name of a current branch in the repository. For a list of valid branch names, -// use ListBranches. -// -// * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException" -// The specified branch does not exist. -// -// * ErrCodeManualMergeRequiredException "ManualMergeRequiredException" -// The pull request cannot be merged automatically into the destination branch. -// You must manually merge the branches and resolve any conflicts. +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) ListApprovalRuleTemplatesWithContext(ctx aws.Context, input *ListApprovalRuleTemplatesInput, opts ...request.Option) (*ListApprovalRuleTemplatesOutput, error) { + req, out := c.ListApprovalRuleTemplatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListApprovalRuleTemplatesPages iterates over the pages of a ListApprovalRuleTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" -// The specified conflict detail level is not valid. +// See ListApprovalRuleTemplates method for more information on how to use this operation. // -// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" -// The specified conflict resolution strategy is not valid. +// Note: This operation can generate multiple requests to a service. // -// * ErrCodeInvalidConflictResolutionException "InvalidConflictResolutionException" -// The specified conflict resolution list is not valid. +// // Example iterating over at most 3 pages of a ListApprovalRuleTemplates operation. +// pageNum := 0 +// err := client.ListApprovalRuleTemplatesPages(params, +// func(page *codecommit.ListApprovalRuleTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) // -// * ErrCodeMaximumConflictResolutionEntriesExceededException "MaximumConflictResolutionEntriesExceededException" -// The number of allowed conflict resolution entries was exceeded. +func (c *CodeCommit) ListApprovalRuleTemplatesPages(input *ListApprovalRuleTemplatesInput, fn func(*ListApprovalRuleTemplatesOutput, bool) bool) error { + return c.ListApprovalRuleTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListApprovalRuleTemplatesPagesWithContext same as ListApprovalRuleTemplatesPages except +// it takes a Context and allows setting request options on the pages. // -// * ErrCodeMultipleConflictResolutionEntriesException "MultipleConflictResolutionEntriesException" -// More than one conflict resolution entries exists for the conflict. A conflict -// can have only one conflict resolution entry. +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) ListApprovalRuleTemplatesPagesWithContext(ctx aws.Context, input *ListApprovalRuleTemplatesInput, fn func(*ListApprovalRuleTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListApprovalRuleTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListApprovalRuleTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListApprovalRuleTemplatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListAssociatedApprovalRuleTemplatesForRepository = "ListAssociatedApprovalRuleTemplatesForRepository" + +// ListAssociatedApprovalRuleTemplatesForRepositoryRequest generates a "aws/request.Request" representing the +// client's request for the ListAssociatedApprovalRuleTemplatesForRepository operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// * ErrCodeReplacementTypeRequiredException "ReplacementTypeRequiredException" -// A replacement type is required. +// 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. // -// * ErrCodeInvalidReplacementTypeException "InvalidReplacementTypeException" -// Automerge was specified for resolving the conflict, but the specified replacement -// type is not valid. +// See ListAssociatedApprovalRuleTemplatesForRepository for more information on using the ListAssociatedApprovalRuleTemplatesForRepository +// API call, and error handling. // -// * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException" -// USE_NEW_CONTENT was specified but no replacement content has been provided. +// 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. // -// * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException" -// Automerge was specified for resolving the conflict, but the replacement type -// is not valid or content is missing. // -// * ErrCodePathRequiredException "PathRequiredException" -// The folderPath for a location cannot be null. +// // Example sending a request using the ListAssociatedApprovalRuleTemplatesForRepositoryRequest method. +// req, resp := client.ListAssociatedApprovalRuleTemplatesForRepositoryRequest(params) // -// * ErrCodeInvalidPathException "InvalidPathException" -// The specified path is not valid. +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } // -// * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException" -// The file cannot be added because it is too large. The maximum file size that -// can be added is 6 MB, and the combined file content change size is 7 MB. -// Consider making these changes using a Git client. +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListAssociatedApprovalRuleTemplatesForRepository +func (c *CodeCommit) ListAssociatedApprovalRuleTemplatesForRepositoryRequest(input *ListAssociatedApprovalRuleTemplatesForRepositoryInput) (req *request.Request, output *ListAssociatedApprovalRuleTemplatesForRepositoryOutput) { + op := &request.Operation{ + Name: opListAssociatedApprovalRuleTemplatesForRepository, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListAssociatedApprovalRuleTemplatesForRepositoryInput{} + } + + output = &ListAssociatedApprovalRuleTemplatesForRepositoryOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAssociatedApprovalRuleTemplatesForRepository API operation for AWS CodeCommit. // -// * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException" -// The commit cannot be created because at least one of the overall changes -// in the commit results in a folder whose contents exceed the limit of 6 MB. -// Either reduce the number and size of your changes, or split the changes across -// multiple folders. +// Lists all approval rule templates that are associated with a specified repository. // -// * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException" -// The number of files to load exceeds the allowed limit. +// 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. // -// * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" -// The maximum number of items to compare between the source or destination -// branches and the merge base has exceeded the maximum allowed. +// See the AWS API reference guide for AWS CodeCommit's +// API operation ListAssociatedApprovalRuleTemplatesForRepository for usage and error information. // -// * ErrCodeFileModeRequiredException "FileModeRequiredException" -// The commit cannot be created because a file mode is required to update mode -// permissions for an existing file, but no file mode has been specified. +// Returned Error Codes: +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. // -// * ErrCodeInvalidFileModeException "InvalidFileModeException" -// The specified file mode permission is not valid. For a list of valid file -// mode permissions, see PutFile. +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. // -// * ErrCodeNameLengthExceededException "NameLengthExceededException" -// The user name is not valid because it has exceeded the character limit for -// author names. +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. // -// * ErrCodeInvalidEmailException "InvalidEmailException" -// The specified email address either contains one or more characters that are -// not allowed, or it exceeds the maximum number of characters allowed for an -// email address. +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. // -// * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException" -// The commit message is too long. Provide a shorter string. +// * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException" +// The specified number of maximum results is not valid. // -// * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException" -// The merge cannot be completed because the target branch has been modified. -// Another user might have modified the target branch while the merge was in -// progress. Wait a few minutes, and then try again. +// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" +// The specified continuation token is not valid. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -5087,212 +5740,155 @@ func (c *CodeCommit) MergeBranchesBySquashRequest(input *MergeBranchesBySquashIn // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesBySquash -func (c *CodeCommit) MergeBranchesBySquash(input *MergeBranchesBySquashInput) (*MergeBranchesBySquashOutput, error) { - req, out := c.MergeBranchesBySquashRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListAssociatedApprovalRuleTemplatesForRepository +func (c *CodeCommit) ListAssociatedApprovalRuleTemplatesForRepository(input *ListAssociatedApprovalRuleTemplatesForRepositoryInput) (*ListAssociatedApprovalRuleTemplatesForRepositoryOutput, error) { + req, out := c.ListAssociatedApprovalRuleTemplatesForRepositoryRequest(input) return out, req.Send() } -// MergeBranchesBySquashWithContext is the same as MergeBranchesBySquash with the addition of +// ListAssociatedApprovalRuleTemplatesForRepositoryWithContext is the same as ListAssociatedApprovalRuleTemplatesForRepository with the addition of // the ability to pass a context and additional request options. // -// See MergeBranchesBySquash for details on how to use this API operation. +// See ListAssociatedApprovalRuleTemplatesForRepository for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) MergeBranchesBySquashWithContext(ctx aws.Context, input *MergeBranchesBySquashInput, opts ...request.Option) (*MergeBranchesBySquashOutput, error) { - req, out := c.MergeBranchesBySquashRequest(input) +func (c *CodeCommit) ListAssociatedApprovalRuleTemplatesForRepositoryWithContext(ctx aws.Context, input *ListAssociatedApprovalRuleTemplatesForRepositoryInput, opts ...request.Option) (*ListAssociatedApprovalRuleTemplatesForRepositoryOutput, error) { + req, out := c.ListAssociatedApprovalRuleTemplatesForRepositoryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opMergeBranchesByThreeWay = "MergeBranchesByThreeWay" +// ListAssociatedApprovalRuleTemplatesForRepositoryPages iterates over the pages of a ListAssociatedApprovalRuleTemplatesForRepository operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAssociatedApprovalRuleTemplatesForRepository 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 ListAssociatedApprovalRuleTemplatesForRepository operation. +// pageNum := 0 +// err := client.ListAssociatedApprovalRuleTemplatesForRepositoryPages(params, +// func(page *codecommit.ListAssociatedApprovalRuleTemplatesForRepositoryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeCommit) ListAssociatedApprovalRuleTemplatesForRepositoryPages(input *ListAssociatedApprovalRuleTemplatesForRepositoryInput, fn func(*ListAssociatedApprovalRuleTemplatesForRepositoryOutput, bool) bool) error { + return c.ListAssociatedApprovalRuleTemplatesForRepositoryPagesWithContext(aws.BackgroundContext(), input, fn) +} -// MergeBranchesByThreeWayRequest generates a "aws/request.Request" representing the -// client's request for the MergeBranchesByThreeWay operation. The "output" return +// ListAssociatedApprovalRuleTemplatesForRepositoryPagesWithContext same as ListAssociatedApprovalRuleTemplatesForRepositoryPages 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 *CodeCommit) ListAssociatedApprovalRuleTemplatesForRepositoryPagesWithContext(ctx aws.Context, input *ListAssociatedApprovalRuleTemplatesForRepositoryInput, fn func(*ListAssociatedApprovalRuleTemplatesForRepositoryOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAssociatedApprovalRuleTemplatesForRepositoryInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAssociatedApprovalRuleTemplatesForRepositoryRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAssociatedApprovalRuleTemplatesForRepositoryOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListBranches = "ListBranches" + +// ListBranchesRequest generates a "aws/request.Request" representing the +// client's request for the ListBranches 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 MergeBranchesByThreeWay for more information on using the MergeBranchesByThreeWay +// See ListBranches for more information on using the ListBranches // 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 MergeBranchesByThreeWayRequest method. -// req, resp := client.MergeBranchesByThreeWayRequest(params) +// // Example sending a request using the ListBranchesRequest method. +// req, resp := client.ListBranchesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByThreeWay -func (c *CodeCommit) MergeBranchesByThreeWayRequest(input *MergeBranchesByThreeWayInput) (req *request.Request, output *MergeBranchesByThreeWayOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListBranches +func (c *CodeCommit) ListBranchesRequest(input *ListBranchesInput) (req *request.Request, output *ListBranchesOutput) { op := &request.Operation{ - Name: opMergeBranchesByThreeWay, + Name: opListBranches, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &MergeBranchesByThreeWayInput{} + input = &ListBranchesInput{} } - output = &MergeBranchesByThreeWayOutput{} + output = &ListBranchesOutput{} req = c.newRequest(op, input, output) return } -// MergeBranchesByThreeWay API operation for AWS CodeCommit. +// ListBranches API operation for AWS CodeCommit. // -// Merges two specified branches using the three-way merge strategy. +// Gets information about one or more branches in a repository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation MergeBranchesByThreeWay for usage and error information. +// API operation ListBranches for usage and error information. // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. +// +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. -// -// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" -// The divergence between the tips of the provided commit specifiers is too -// great to determine whether there might be any merge conflicts. Locally compare -// the specifiers using git diff or a diff tool. -// -// * ErrCodeCommitRequiredException "CommitRequiredException" -// A commit was not specified. -// -// * ErrCodeInvalidCommitException "InvalidCommitException" -// The specified commit is not valid. -// -// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" -// The specified commit does not exist or no commit was specified, and the specified -// repository has no default branch. -// -// * ErrCodeInvalidTargetBranchException "InvalidTargetBranchException" -// The specified target branch is not valid. -// -// * ErrCodeInvalidBranchNameException "InvalidBranchNameException" -// The specified reference name is not valid. -// -// * ErrCodeBranchNameRequiredException "BranchNameRequiredException" -// A branch name is required but was not specified. -// -// * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException" -// The specified branch name is not valid because it is a tag name. Type the -// name of a current branch in the repository. For a list of valid branch names, -// use ListBranches. -// -// * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException" -// The specified branch does not exist. -// -// * ErrCodeManualMergeRequiredException "ManualMergeRequiredException" -// The pull request cannot be merged automatically into the destination branch. -// You must manually merge the branches and resolve any conflicts. -// -// * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException" -// The merge cannot be completed because the target branch has been modified. -// Another user might have modified the target branch while the merge was in -// progress. Wait a few minutes, and then try again. -// -// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" -// The specified conflict detail level is not valid. -// -// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" -// The specified conflict resolution strategy is not valid. -// -// * ErrCodeInvalidConflictResolutionException "InvalidConflictResolutionException" -// The specified conflict resolution list is not valid. -// -// * ErrCodeMaximumConflictResolutionEntriesExceededException "MaximumConflictResolutionEntriesExceededException" -// The number of allowed conflict resolution entries was exceeded. -// -// * ErrCodeMultipleConflictResolutionEntriesException "MultipleConflictResolutionEntriesException" -// More than one conflict resolution entries exists for the conflict. A conflict -// can have only one conflict resolution entry. -// -// * ErrCodeReplacementTypeRequiredException "ReplacementTypeRequiredException" -// A replacement type is required. -// -// * ErrCodeInvalidReplacementTypeException "InvalidReplacementTypeException" -// Automerge was specified for resolving the conflict, but the specified replacement -// type is not valid. -// -// * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException" -// USE_NEW_CONTENT was specified but no replacement content has been provided. -// -// * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException" -// Automerge was specified for resolving the conflict, but the replacement type -// is not valid or content is missing. -// -// * ErrCodePathRequiredException "PathRequiredException" -// The folderPath for a location cannot be null. -// -// * ErrCodeInvalidPathException "InvalidPathException" -// The specified path is not valid. -// -// * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException" -// The file cannot be added because it is too large. The maximum file size that -// can be added is 6 MB, and the combined file content change size is 7 MB. -// Consider making these changes using a Git client. -// -// * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException" -// The commit cannot be created because at least one of the overall changes -// in the commit results in a folder whose contents exceed the limit of 6 MB. -// Either reduce the number and size of your changes, or split the changes across -// multiple folders. -// -// * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException" -// The number of files to load exceeds the allowed limit. -// -// * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" -// The maximum number of items to compare between the source or destination -// branches and the merge base has exceeded the maximum allowed. -// -// * ErrCodeFileModeRequiredException "FileModeRequiredException" -// The commit cannot be created because a file mode is required to update mode -// permissions for an existing file, but no file mode has been specified. -// -// * ErrCodeInvalidFileModeException "InvalidFileModeException" -// The specified file mode permission is not valid. For a list of valid file -// mode permissions, see PutFile. -// -// * ErrCodeNameLengthExceededException "NameLengthExceededException" -// The user name is not valid because it has exceeded the character limit for -// author names. -// -// * ErrCodeInvalidEmailException "InvalidEmailException" -// The specified email address either contains one or more characters that are -// not allowed, or it exceeds the maximum number of characters allowed for an -// email address. -// -// * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException" -// The commit message is too long. Provide a shorter string. -// -// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" -// An encryption integrity check failed. +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. // // * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" // An encryption key could not be accessed. @@ -5306,138 +5902,174 @@ func (c *CodeCommit) MergeBranchesByThreeWayRequest(input *MergeBranchesByThreeW // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByThreeWay -func (c *CodeCommit) MergeBranchesByThreeWay(input *MergeBranchesByThreeWayInput) (*MergeBranchesByThreeWayOutput, error) { - req, out := c.MergeBranchesByThreeWayRequest(input) +// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" +// The specified continuation token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListBranches +func (c *CodeCommit) ListBranches(input *ListBranchesInput) (*ListBranchesOutput, error) { + req, out := c.ListBranchesRequest(input) return out, req.Send() } -// MergeBranchesByThreeWayWithContext is the same as MergeBranchesByThreeWay with the addition of +// ListBranchesWithContext is the same as ListBranches with the addition of // the ability to pass a context and additional request options. // -// See MergeBranchesByThreeWay for details on how to use this API operation. +// See ListBranches for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) MergeBranchesByThreeWayWithContext(ctx aws.Context, input *MergeBranchesByThreeWayInput, opts ...request.Option) (*MergeBranchesByThreeWayOutput, error) { - req, out := c.MergeBranchesByThreeWayRequest(input) +func (c *CodeCommit) ListBranchesWithContext(ctx aws.Context, input *ListBranchesInput, opts ...request.Option) (*ListBranchesOutput, error) { + req, out := c.ListBranchesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opMergePullRequestByFastForward = "MergePullRequestByFastForward" +// ListBranchesPages iterates over the pages of a ListBranches operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBranches 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 ListBranches operation. +// pageNum := 0 +// err := client.ListBranchesPages(params, +// func(page *codecommit.ListBranchesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeCommit) ListBranchesPages(input *ListBranchesInput, fn func(*ListBranchesOutput, bool) bool) error { + return c.ListBranchesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// MergePullRequestByFastForwardRequest generates a "aws/request.Request" representing the -// client's request for the MergePullRequestByFastForward operation. The "output" return +// ListBranchesPagesWithContext same as ListBranchesPages 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 *CodeCommit) ListBranchesPagesWithContext(ctx aws.Context, input *ListBranchesInput, fn func(*ListBranchesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBranchesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBranchesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListBranchesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListPullRequests = "ListPullRequests" + +// ListPullRequestsRequest generates a "aws/request.Request" representing the +// client's request for the ListPullRequests 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 MergePullRequestByFastForward for more information on using the MergePullRequestByFastForward +// See ListPullRequests for more information on using the ListPullRequests // 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 MergePullRequestByFastForwardRequest method. -// req, resp := client.MergePullRequestByFastForwardRequest(params) +// // Example sending a request using the ListPullRequestsRequest method. +// req, resp := client.ListPullRequestsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByFastForward -func (c *CodeCommit) MergePullRequestByFastForwardRequest(input *MergePullRequestByFastForwardInput) (req *request.Request, output *MergePullRequestByFastForwardOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListPullRequests +func (c *CodeCommit) ListPullRequestsRequest(input *ListPullRequestsInput) (req *request.Request, output *ListPullRequestsOutput) { op := &request.Operation{ - Name: opMergePullRequestByFastForward, + Name: opListPullRequests, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &MergePullRequestByFastForwardInput{} + input = &ListPullRequestsInput{} } - output = &MergePullRequestByFastForwardOutput{} + output = &ListPullRequestsOutput{} req = c.newRequest(op, input, output) return } -// MergePullRequestByFastForward API operation for AWS CodeCommit. +// ListPullRequests API operation for AWS CodeCommit. // -// Attempts to merge the source commit of a pull request into the specified -// destination branch for that pull request at the specified commit using the -// fast-forward merge strategy. If the merge is successful, it closes the pull -// request. +// Returns a list of pull requests for a specified repository. The return list +// can be refined by pull request status or pull request author 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 AWS CodeCommit's -// API operation MergePullRequestByFastForward for usage and error information. +// API operation ListPullRequests for usage and error information. // // Returned Error Codes: -// * ErrCodeManualMergeRequiredException "ManualMergeRequiredException" -// The pull request cannot be merged automatically into the destination branch. -// You must manually merge the branches and resolve any conflicts. -// -// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" -// The pull request status cannot be updated because it is already closed. -// -// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" -// The pull request ID could not be found. Make sure that you have specified -// the correct repository name and pull request ID, and then try again. -// -// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" -// The pull request ID is not valid. Make sure that you have provided the full -// ID and that the pull request is in the specified repository, and then try -// again. -// -// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" -// A pull request ID is required, but none was provided. -// -// * ErrCodeTipOfSourceReferenceIsDifferentException "TipOfSourceReferenceIsDifferentException" -// The tip of the source branch in the destination repository does not match -// the tip of the source branch specified in your request. The pull request -// might have been updated. Make sure that you have the latest changes. -// -// * ErrCodeReferenceDoesNotExistException "ReferenceDoesNotExistException" -// The specified reference does not exist. You must provide a full commit ID. +// * ErrCodeInvalidPullRequestStatusException "InvalidPullRequestStatusException" +// The pull request status is not valid. The only valid values are OPEN and +// CLOSED. // -// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" -// The specified commit ID is not valid. +// * ErrCodeInvalidAuthorArnException "InvalidAuthorArnException" +// The Amazon Resource Name (ARN) is not valid. Make sure that you have provided +// the full ARN for the author of the pull request, and then try again. // -// * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException" -// The repository does not contain any pull requests with that pull request -// ID. Use GetPullRequest to verify the correct repository name for the pull -// request ID. +// * ErrCodeAuthorDoesNotExistException "AuthorDoesNotExistException" +// The specified Amazon Resource Name (ARN) does not exist in the AWS account. // // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // // * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" // The specified repository does not exist. // -// * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException" -// The merge cannot be completed because the target branch has been modified. -// Another user might have modified the target branch while the merge was in -// progress. Wait a few minutes, and then try again. -// +// * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException" +// The specified number of maximum results is not valid. +// +// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" +// The specified continuation token is not valid. +// // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. // @@ -5453,427 +6085,301 @@ func (c *CodeCommit) MergePullRequestByFastForwardRequest(input *MergePullReques // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByFastForward -func (c *CodeCommit) MergePullRequestByFastForward(input *MergePullRequestByFastForwardInput) (*MergePullRequestByFastForwardOutput, error) { - req, out := c.MergePullRequestByFastForwardRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListPullRequests +func (c *CodeCommit) ListPullRequests(input *ListPullRequestsInput) (*ListPullRequestsOutput, error) { + req, out := c.ListPullRequestsRequest(input) return out, req.Send() } -// MergePullRequestByFastForwardWithContext is the same as MergePullRequestByFastForward with the addition of +// ListPullRequestsWithContext is the same as ListPullRequests with the addition of // the ability to pass a context and additional request options. // -// See MergePullRequestByFastForward for details on how to use this API operation. +// See ListPullRequests for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) MergePullRequestByFastForwardWithContext(ctx aws.Context, input *MergePullRequestByFastForwardInput, opts ...request.Option) (*MergePullRequestByFastForwardOutput, error) { - req, out := c.MergePullRequestByFastForwardRequest(input) +func (c *CodeCommit) ListPullRequestsWithContext(ctx aws.Context, input *ListPullRequestsInput, opts ...request.Option) (*ListPullRequestsOutput, error) { + req, out := c.ListPullRequestsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opMergePullRequestBySquash = "MergePullRequestBySquash" +// ListPullRequestsPages iterates over the pages of a ListPullRequests operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPullRequests 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 ListPullRequests operation. +// pageNum := 0 +// err := client.ListPullRequestsPages(params, +// func(page *codecommit.ListPullRequestsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeCommit) ListPullRequestsPages(input *ListPullRequestsInput, fn func(*ListPullRequestsOutput, bool) bool) error { + return c.ListPullRequestsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// MergePullRequestBySquashRequest generates a "aws/request.Request" representing the -// client's request for the MergePullRequestBySquash operation. The "output" return +// ListPullRequestsPagesWithContext same as ListPullRequestsPages 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 *CodeCommit) ListPullRequestsPagesWithContext(ctx aws.Context, input *ListPullRequestsInput, fn func(*ListPullRequestsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPullRequestsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPullRequestsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPullRequestsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRepositories = "ListRepositories" + +// ListRepositoriesRequest generates a "aws/request.Request" representing the +// client's request for the ListRepositories 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 MergePullRequestBySquash for more information on using the MergePullRequestBySquash +// See ListRepositories for more information on using the ListRepositories // 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 MergePullRequestBySquashRequest method. -// req, resp := client.MergePullRequestBySquashRequest(params) +// // Example sending a request using the ListRepositoriesRequest method. +// req, resp := client.ListRepositoriesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestBySquash -func (c *CodeCommit) MergePullRequestBySquashRequest(input *MergePullRequestBySquashInput) (req *request.Request, output *MergePullRequestBySquashOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListRepositories +func (c *CodeCommit) ListRepositoriesRequest(input *ListRepositoriesInput) (req *request.Request, output *ListRepositoriesOutput) { op := &request.Operation{ - Name: opMergePullRequestBySquash, + Name: opListRepositories, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &MergePullRequestBySquashInput{} + input = &ListRepositoriesInput{} } - output = &MergePullRequestBySquashOutput{} + output = &ListRepositoriesOutput{} req = c.newRequest(op, input, output) return } -// MergePullRequestBySquash API operation for AWS CodeCommit. +// ListRepositories API operation for AWS CodeCommit. // -// Attempts to merge the source commit of a pull request into the specified -// destination branch for that pull request at the specified commit using the -// squash merge strategy. If the merge is successful, it closes the pull request. +// Gets information about one or more repositories. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation MergePullRequestBySquash for usage and error information. +// API operation ListRepositories for usage and error information. // // Returned Error Codes: -// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" -// The pull request status cannot be updated because it is already closed. -// -// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" -// The pull request ID could not be found. Make sure that you have specified -// the correct repository name and pull request ID, and then try again. -// -// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" -// A pull request ID is required, but none was provided. -// -// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" -// The pull request ID is not valid. Make sure that you have provided the full -// ID and that the pull request is in the specified repository, and then try -// again. -// -// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" -// The specified commit ID is not valid. -// -// * ErrCodeManualMergeRequiredException "ManualMergeRequiredException" -// The pull request cannot be merged automatically into the destination branch. -// You must manually merge the branches and resolve any conflicts. -// -// * ErrCodeTipOfSourceReferenceIsDifferentException "TipOfSourceReferenceIsDifferentException" -// The tip of the source branch in the destination repository does not match -// the tip of the source branch specified in your request. The pull request -// might have been updated. Make sure that you have the latest changes. -// -// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" -// The divergence between the tips of the provided commit specifiers is too -// great to determine whether there might be any merge conflicts. Locally compare -// the specifiers using git diff or a diff tool. -// -// * ErrCodeNameLengthExceededException "NameLengthExceededException" -// The user name is not valid because it has exceeded the character limit for -// author names. -// -// * ErrCodeInvalidEmailException "InvalidEmailException" -// The specified email address either contains one or more characters that are -// not allowed, or it exceeds the maximum number of characters allowed for an -// email address. -// -// * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException" -// The commit message is too long. Provide a shorter string. -// -// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" -// The specified conflict detail level is not valid. -// -// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" -// The specified conflict resolution strategy is not valid. -// -// * ErrCodeInvalidConflictResolutionException "InvalidConflictResolutionException" -// The specified conflict resolution list is not valid. -// -// * ErrCodeReplacementTypeRequiredException "ReplacementTypeRequiredException" -// A replacement type is required. -// -// * ErrCodeInvalidReplacementTypeException "InvalidReplacementTypeException" -// Automerge was specified for resolving the conflict, but the specified replacement -// type is not valid. -// -// * ErrCodeMultipleConflictResolutionEntriesException "MultipleConflictResolutionEntriesException" -// More than one conflict resolution entries exists for the conflict. A conflict -// can have only one conflict resolution entry. -// -// * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException" -// USE_NEW_CONTENT was specified but no replacement content has been provided. -// -// * ErrCodeMaximumConflictResolutionEntriesExceededException "MaximumConflictResolutionEntriesExceededException" -// The number of allowed conflict resolution entries was exceeded. -// -// * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException" -// The merge cannot be completed because the target branch has been modified. -// Another user might have modified the target branch while the merge was in -// progress. Wait a few minutes, and then try again. -// -// * ErrCodePathRequiredException "PathRequiredException" -// The folderPath for a location cannot be null. -// -// * ErrCodeInvalidPathException "InvalidPathException" -// The specified path is not valid. -// -// * ErrCodeInvalidFileModeException "InvalidFileModeException" -// The specified file mode permission is not valid. For a list of valid file -// mode permissions, see PutFile. -// -// * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException" -// Automerge was specified for resolving the conflict, but the replacement type -// is not valid or content is missing. -// -// * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException" -// The file cannot be added because it is too large. The maximum file size that -// can be added is 6 MB, and the combined file content change size is 7 MB. -// Consider making these changes using a Git client. -// -// * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException" -// The commit cannot be created because at least one of the overall changes -// in the commit results in a folder whose contents exceed the limit of 6 MB. -// Either reduce the number and size of your changes, or split the changes across -// multiple folders. -// -// * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException" -// The number of files to load exceeds the allowed limit. -// -// * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" -// The maximum number of items to compare between the source or destination -// branches and the merge base has exceeded the maximum allowed. -// -// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. -// -// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. -// -// This exception only occurs when a specified repository name is not valid. -// Other exceptions occur when a required repository parameter is missing, or -// when a specified repository does not exist. -// -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. -// -// * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException" -// The repository does not contain any pull requests with that pull request -// ID. Use GetPullRequest to verify the correct repository name for the pull -// request ID. -// -// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" -// An encryption integrity check failed. -// -// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" -// An encryption key could not be accessed. -// -// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" -// The encryption key is disabled. +// * ErrCodeInvalidSortByException "InvalidSortByException" +// The specified sort by value is not valid. // -// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" -// No encryption key was found. +// * ErrCodeInvalidOrderException "InvalidOrderException" +// The specified sort order is not valid. // -// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" -// The encryption key is not available. +// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" +// The specified continuation token is not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestBySquash -func (c *CodeCommit) MergePullRequestBySquash(input *MergePullRequestBySquashInput) (*MergePullRequestBySquashOutput, error) { - req, out := c.MergePullRequestBySquashRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListRepositories +func (c *CodeCommit) ListRepositories(input *ListRepositoriesInput) (*ListRepositoriesOutput, error) { + req, out := c.ListRepositoriesRequest(input) return out, req.Send() } -// MergePullRequestBySquashWithContext is the same as MergePullRequestBySquash with the addition of +// ListRepositoriesWithContext is the same as ListRepositories with the addition of // the ability to pass a context and additional request options. // -// See MergePullRequestBySquash for details on how to use this API operation. +// See ListRepositories for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) MergePullRequestBySquashWithContext(ctx aws.Context, input *MergePullRequestBySquashInput, opts ...request.Option) (*MergePullRequestBySquashOutput, error) { - req, out := c.MergePullRequestBySquashRequest(input) +func (c *CodeCommit) ListRepositoriesWithContext(ctx aws.Context, input *ListRepositoriesInput, opts ...request.Option) (*ListRepositoriesOutput, error) { + req, out := c.ListRepositoriesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opMergePullRequestByThreeWay = "MergePullRequestByThreeWay" +// ListRepositoriesPages iterates over the pages of a ListRepositories operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRepositories 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 ListRepositories operation. +// pageNum := 0 +// err := client.ListRepositoriesPages(params, +// func(page *codecommit.ListRepositoriesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeCommit) ListRepositoriesPages(input *ListRepositoriesInput, fn func(*ListRepositoriesOutput, bool) bool) error { + return c.ListRepositoriesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// MergePullRequestByThreeWayRequest generates a "aws/request.Request" representing the -// client's request for the MergePullRequestByThreeWay operation. The "output" return +// ListRepositoriesPagesWithContext same as ListRepositoriesPages 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 *CodeCommit) ListRepositoriesPagesWithContext(ctx aws.Context, input *ListRepositoriesInput, fn func(*ListRepositoriesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRepositoriesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRepositoriesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRepositoriesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRepositoriesForApprovalRuleTemplate = "ListRepositoriesForApprovalRuleTemplate" + +// ListRepositoriesForApprovalRuleTemplateRequest generates a "aws/request.Request" representing the +// client's request for the ListRepositoriesForApprovalRuleTemplate 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 MergePullRequestByThreeWay for more information on using the MergePullRequestByThreeWay +// See ListRepositoriesForApprovalRuleTemplate for more information on using the ListRepositoriesForApprovalRuleTemplate // 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 MergePullRequestByThreeWayRequest method. -// req, resp := client.MergePullRequestByThreeWayRequest(params) +// // Example sending a request using the ListRepositoriesForApprovalRuleTemplateRequest method. +// req, resp := client.ListRepositoriesForApprovalRuleTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByThreeWay -func (c *CodeCommit) MergePullRequestByThreeWayRequest(input *MergePullRequestByThreeWayInput) (req *request.Request, output *MergePullRequestByThreeWayOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListRepositoriesForApprovalRuleTemplate +func (c *CodeCommit) ListRepositoriesForApprovalRuleTemplateRequest(input *ListRepositoriesForApprovalRuleTemplateInput) (req *request.Request, output *ListRepositoriesForApprovalRuleTemplateOutput) { op := &request.Operation{ - Name: opMergePullRequestByThreeWay, + Name: opListRepositoriesForApprovalRuleTemplate, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &MergePullRequestByThreeWayInput{} + input = &ListRepositoriesForApprovalRuleTemplateInput{} } - output = &MergePullRequestByThreeWayOutput{} + output = &ListRepositoriesForApprovalRuleTemplateOutput{} req = c.newRequest(op, input, output) return } -// MergePullRequestByThreeWay API operation for AWS CodeCommit. +// ListRepositoriesForApprovalRuleTemplate API operation for AWS CodeCommit. // -// Attempts to merge the source commit of a pull request into the specified -// destination branch for that pull request at the specified commit using the -// three-way merge strategy. If the merge is successful, it closes the pull -// request. +// Lists all repositories associated with the specified approval rule template. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation MergePullRequestByThreeWay for usage and error information. +// API operation ListRepositoriesForApprovalRuleTemplate for usage and error information. // // Returned Error Codes: -// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" -// The pull request status cannot be updated because it is already closed. -// -// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" -// The pull request ID could not be found. Make sure that you have specified -// the correct repository name and pull request ID, and then try again. -// -// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" -// A pull request ID is required, but none was provided. -// -// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" -// The pull request ID is not valid. Make sure that you have provided the full -// ID and that the pull request is in the specified repository, and then try -// again. -// -// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" -// The specified commit ID is not valid. -// -// * ErrCodeManualMergeRequiredException "ManualMergeRequiredException" -// The pull request cannot be merged automatically into the destination branch. -// You must manually merge the branches and resolve any conflicts. -// -// * ErrCodeTipOfSourceReferenceIsDifferentException "TipOfSourceReferenceIsDifferentException" -// The tip of the source branch in the destination repository does not match -// the tip of the source branch specified in your request. The pull request -// might have been updated. Make sure that you have the latest changes. -// -// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" -// The divergence between the tips of the provided commit specifiers is too -// great to determine whether there might be any merge conflicts. Locally compare -// the specifiers using git diff or a diff tool. -// -// * ErrCodeNameLengthExceededException "NameLengthExceededException" -// The user name is not valid because it has exceeded the character limit for -// author names. -// -// * ErrCodeInvalidEmailException "InvalidEmailException" -// The specified email address either contains one or more characters that are -// not allowed, or it exceeds the maximum number of characters allowed for an -// email address. -// -// * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException" -// The commit message is too long. Provide a shorter string. -// -// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" -// The specified conflict detail level is not valid. -// -// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" -// The specified conflict resolution strategy is not valid. -// -// * ErrCodeInvalidConflictResolutionException "InvalidConflictResolutionException" -// The specified conflict resolution list is not valid. -// -// * ErrCodeReplacementTypeRequiredException "ReplacementTypeRequiredException" -// A replacement type is required. -// -// * ErrCodeInvalidReplacementTypeException "InvalidReplacementTypeException" -// Automerge was specified for resolving the conflict, but the specified replacement -// type is not valid. -// -// * ErrCodeMultipleConflictResolutionEntriesException "MultipleConflictResolutionEntriesException" -// More than one conflict resolution entries exists for the conflict. A conflict -// can have only one conflict resolution entry. -// -// * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException" -// USE_NEW_CONTENT was specified but no replacement content has been provided. -// -// * ErrCodeMaximumConflictResolutionEntriesExceededException "MaximumConflictResolutionEntriesExceededException" -// The number of allowed conflict resolution entries was exceeded. -// -// * ErrCodePathRequiredException "PathRequiredException" -// The folderPath for a location cannot be null. -// -// * ErrCodeInvalidPathException "InvalidPathException" -// The specified path is not valid. -// -// * ErrCodeInvalidFileModeException "InvalidFileModeException" -// The specified file mode permission is not valid. For a list of valid file -// mode permissions, see PutFile. -// -// * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException" -// Automerge was specified for resolving the conflict, but the replacement type -// is not valid or content is missing. -// -// * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException" -// The file cannot be added because it is too large. The maximum file size that -// can be added is 6 MB, and the combined file content change size is 7 MB. -// Consider making these changes using a Git client. -// -// * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException" -// The commit cannot be created because at least one of the overall changes -// in the commit results in a folder whose contents exceed the limit of 6 MB. -// Either reduce the number and size of your changes, or split the changes across -// multiple folders. -// -// * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException" -// The number of files to load exceeds the allowed limit. +// * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException" +// An approval rule template name is required, but was not specified. // -// * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" -// The maximum number of items to compare between the source or destination -// branches and the merge base has exceeded the maximum allowed. -// -// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. -// -// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. -// -// This exception only occurs when a specified repository name is not valid. -// Other exceptions occur when a required repository parameter is missing, or -// when a specified repository does not exist. +// * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException" +// The name of the approval rule template is not valid. Template names must +// be between 1 and 100 valid characters in length. For more information about +// limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). // -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException" +// The specified approval rule template does not exist. Verify that the name +// is correct and that you are signed in to the AWS Region where the template +// was created, and then try again. // -// * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException" -// The repository does not contain any pull requests with that pull request -// ID. Use GetPullRequest to verify the correct repository name for the pull -// request ID. +// * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException" +// The specified number of maximum results is not valid. // -// * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException" -// The merge cannot be completed because the target branch has been modified. -// Another user might have modified the target branch while the merge was in -// progress. Wait a few minutes, and then try again. +// * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException" +// The specified continuation token is not valid. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -5890,313 +6396,287 @@ func (c *CodeCommit) MergePullRequestByThreeWayRequest(input *MergePullRequestBy // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByThreeWay -func (c *CodeCommit) MergePullRequestByThreeWay(input *MergePullRequestByThreeWayInput) (*MergePullRequestByThreeWayOutput, error) { - req, out := c.MergePullRequestByThreeWayRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListRepositoriesForApprovalRuleTemplate +func (c *CodeCommit) ListRepositoriesForApprovalRuleTemplate(input *ListRepositoriesForApprovalRuleTemplateInput) (*ListRepositoriesForApprovalRuleTemplateOutput, error) { + req, out := c.ListRepositoriesForApprovalRuleTemplateRequest(input) return out, req.Send() } -// MergePullRequestByThreeWayWithContext is the same as MergePullRequestByThreeWay with the addition of +// ListRepositoriesForApprovalRuleTemplateWithContext is the same as ListRepositoriesForApprovalRuleTemplate with the addition of // the ability to pass a context and additional request options. // -// See MergePullRequestByThreeWay for details on how to use this API operation. +// See ListRepositoriesForApprovalRuleTemplate for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) MergePullRequestByThreeWayWithContext(ctx aws.Context, input *MergePullRequestByThreeWayInput, opts ...request.Option) (*MergePullRequestByThreeWayOutput, error) { - req, out := c.MergePullRequestByThreeWayRequest(input) +func (c *CodeCommit) ListRepositoriesForApprovalRuleTemplateWithContext(ctx aws.Context, input *ListRepositoriesForApprovalRuleTemplateInput, opts ...request.Option) (*ListRepositoriesForApprovalRuleTemplateOutput, error) { + req, out := c.ListRepositoriesForApprovalRuleTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPostCommentForComparedCommit = "PostCommentForComparedCommit" +// ListRepositoriesForApprovalRuleTemplatePages iterates over the pages of a ListRepositoriesForApprovalRuleTemplate operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRepositoriesForApprovalRuleTemplate 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 ListRepositoriesForApprovalRuleTemplate operation. +// pageNum := 0 +// err := client.ListRepositoriesForApprovalRuleTemplatePages(params, +// func(page *codecommit.ListRepositoriesForApprovalRuleTemplateOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeCommit) ListRepositoriesForApprovalRuleTemplatePages(input *ListRepositoriesForApprovalRuleTemplateInput, fn func(*ListRepositoriesForApprovalRuleTemplateOutput, bool) bool) error { + return c.ListRepositoriesForApprovalRuleTemplatePagesWithContext(aws.BackgroundContext(), input, fn) +} -// PostCommentForComparedCommitRequest generates a "aws/request.Request" representing the -// client's request for the PostCommentForComparedCommit operation. The "output" return +// ListRepositoriesForApprovalRuleTemplatePagesWithContext same as ListRepositoriesForApprovalRuleTemplatePages 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 *CodeCommit) ListRepositoriesForApprovalRuleTemplatePagesWithContext(ctx aws.Context, input *ListRepositoriesForApprovalRuleTemplateInput, fn func(*ListRepositoriesForApprovalRuleTemplateOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRepositoriesForApprovalRuleTemplateInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRepositoriesForApprovalRuleTemplateRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRepositoriesForApprovalRuleTemplateOutput), !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 PostCommentForComparedCommit for more information on using the PostCommentForComparedCommit +// 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 PostCommentForComparedCommitRequest method. -// req, resp := client.PostCommentForComparedCommitRequest(params) +// // 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/codecommit-2015-04-13/PostCommentForComparedCommit -func (c *CodeCommit) PostCommentForComparedCommitRequest(input *PostCommentForComparedCommitInput) (req *request.Request, output *PostCommentForComparedCommitOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListTagsForResource +func (c *CodeCommit) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ - Name: opPostCommentForComparedCommit, + Name: opListTagsForResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &PostCommentForComparedCommitInput{} + input = &ListTagsForResourceInput{} } - output = &PostCommentForComparedCommitOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } -// PostCommentForComparedCommit API operation for AWS CodeCommit. +// ListTagsForResource API operation for AWS CodeCommit. // -// Posts a comment on the comparison between two commits. +// Gets information about AWS tags for a specified Amazon Resource Name (ARN) +// in AWS CodeCommit. For a list of valid resources in AWS CodeCommit, see CodeCommit +// Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) +// in the AWS CodeCommit 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 AWS CodeCommit's -// API operation PostCommentForComparedCommit for usage and error information. +// API operation ListTagsForResource for usage and error information. // // Returned Error Codes: -// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. -// // * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" // The specified repository does not exist. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // -// * ErrCodeClientRequestTokenRequiredException "ClientRequestTokenRequiredException" -// A client request token is required. A client request token is an unique, -// client-generated idempotency token that when provided in a request, ensures -// the request cannot be repeated with a changed parameter. If a request is -// received with the same parameters and a token is included, the request will -// return information about the initial request that used that token. -// -// * ErrCodeInvalidClientRequestTokenException "InvalidClientRequestTokenException" -// The client request token is not valid. -// -// * ErrCodeIdempotencyParameterMismatchException "IdempotencyParameterMismatchException" -// The client request token is not valid. Either the token is not in a valid -// format, or the token has been used in a previous request and cannot be re-used. -// -// * ErrCodeCommentContentRequiredException "CommentContentRequiredException" -// The comment is empty. You must provide some content for a comment. The content -// cannot be null. -// -// * ErrCodeCommentContentSizeLimitExceededException "CommentContentSizeLimitExceededException" -// The comment is too large. Comments are limited to 1,000 characters. -// -// * ErrCodeInvalidFileLocationException "InvalidFileLocationException" -// The location of the file is not valid. Make sure that you include the extension -// of the file as well as the file name. -// -// * ErrCodeInvalidRelativeFileVersionEnumException "InvalidRelativeFileVersionEnumException" -// Either the enum is not in a valid format, or the specified file version enum -// is not valid in respect to the current file version. -// -// * ErrCodePathRequiredException "PathRequiredException" -// The folderPath for a location cannot be null. -// -// * ErrCodeInvalidFilePositionException "InvalidFilePositionException" -// The position is not valid. Make sure that the line number exists in the version -// of the file you want to comment on. -// -// * ErrCodeCommitIdRequiredException "CommitIdRequiredException" -// A commit ID was not specified. -// -// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" -// The specified commit ID is not valid. -// -// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" -// An encryption integrity check failed. -// -// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" -// An encryption key could not be accessed. -// -// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" -// The encryption key is disabled. -// -// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" -// No encryption key was found. -// -// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" -// The encryption key is not available. -// -// * ErrCodeBeforeCommitIdAndAfterCommitIdAreSameException "BeforeCommitIdAndAfterCommitIdAreSameException" -// The before commit ID and the after commit ID are the same, which is not valid. -// The before commit ID and the after commit ID must be different commit IDs. -// -// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" -// The specified commit does not exist or no commit was specified, and the specified -// repository has no default branch. -// -// * ErrCodeInvalidPathException "InvalidPathException" -// The specified path is not valid. +// * ErrCodeResourceArnRequiredException "ResourceArnRequiredException" +// A valid Amazon Resource Name (ARN) for an AWS CodeCommit resource is required. +// For a list of valid resources in AWS CodeCommit, see CodeCommit Resources +// and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) +// in the AWS CodeCommit User Guide. // -// * ErrCodePathDoesNotExistException "PathDoesNotExistException" -// The specified path does not exist. +// * ErrCodeInvalidResourceArnException "InvalidResourceArnException" +// The value for the resource ARN is not valid. For more information about resources +// in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) +// in the AWS CodeCommit User Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentForComparedCommit -func (c *CodeCommit) PostCommentForComparedCommit(input *PostCommentForComparedCommitInput) (*PostCommentForComparedCommitOutput, error) { - req, out := c.PostCommentForComparedCommitRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListTagsForResource +func (c *CodeCommit) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } -// PostCommentForComparedCommitWithContext is the same as PostCommentForComparedCommit with the addition of +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // -// See PostCommentForComparedCommit for details on how to use this API operation. +// 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 *CodeCommit) PostCommentForComparedCommitWithContext(ctx aws.Context, input *PostCommentForComparedCommitInput, opts ...request.Option) (*PostCommentForComparedCommitOutput, error) { - req, out := c.PostCommentForComparedCommitRequest(input) +func (c *CodeCommit) 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 opPostCommentForPullRequest = "PostCommentForPullRequest" +const opMergeBranchesByFastForward = "MergeBranchesByFastForward" -// PostCommentForPullRequestRequest generates a "aws/request.Request" representing the -// client's request for the PostCommentForPullRequest operation. The "output" return +// MergeBranchesByFastForwardRequest generates a "aws/request.Request" representing the +// client's request for the MergeBranchesByFastForward 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 PostCommentForPullRequest for more information on using the PostCommentForPullRequest +// See MergeBranchesByFastForward for more information on using the MergeBranchesByFastForward // 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 PostCommentForPullRequestRequest method. -// req, resp := client.PostCommentForPullRequestRequest(params) +// // Example sending a request using the MergeBranchesByFastForwardRequest method. +// req, resp := client.MergeBranchesByFastForwardRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentForPullRequest -func (c *CodeCommit) PostCommentForPullRequestRequest(input *PostCommentForPullRequestInput) (req *request.Request, output *PostCommentForPullRequestOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByFastForward +func (c *CodeCommit) MergeBranchesByFastForwardRequest(input *MergeBranchesByFastForwardInput) (req *request.Request, output *MergeBranchesByFastForwardOutput) { op := &request.Operation{ - Name: opPostCommentForPullRequest, + Name: opMergeBranchesByFastForward, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &PostCommentForPullRequestInput{} + input = &MergeBranchesByFastForwardInput{} } - output = &PostCommentForPullRequestOutput{} + output = &MergeBranchesByFastForwardOutput{} req = c.newRequest(op, input, output) return } -// PostCommentForPullRequest API operation for AWS CodeCommit. +// MergeBranchesByFastForward API operation for AWS CodeCommit. // -// Posts a comment on a pull request. +// Merges two branches using the fast-forward merge strategy. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation PostCommentForPullRequest for usage and error information. +// API operation MergeBranchesByFastForward for usage and error information. // // Returned Error Codes: -// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" -// The pull request ID could not be found. Make sure that you have specified -// the correct repository name and pull request ID, and then try again. -// -// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" -// The pull request ID is not valid. Make sure that you have provided the full -// ID and that the pull request is in the specified repository, and then try -// again. -// -// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" -// A pull request ID is required, but none was provided. -// -// * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException" -// The repository does not contain any pull requests with that pull request -// ID. Use GetPullRequest to verify the correct repository name for the pull -// request ID. -// // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. -// -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // -// * ErrCodeClientRequestTokenRequiredException "ClientRequestTokenRequiredException" -// A client request token is required. A client request token is an unique, -// client-generated idempotency token that when provided in a request, ensures -// the request cannot be repeated with a changed parameter. If a request is -// received with the same parameters and a token is included, the request will -// return information about the initial request that used that token. +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. // -// * ErrCodeInvalidClientRequestTokenException "InvalidClientRequestTokenException" -// The client request token is not valid. +// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" +// The divergence between the tips of the provided commit specifiers is too +// great to determine whether there might be any merge conflicts. Locally compare +// the specifiers using git diff or a diff tool. // -// * ErrCodeIdempotencyParameterMismatchException "IdempotencyParameterMismatchException" -// The client request token is not valid. Either the token is not in a valid -// format, or the token has been used in a previous request and cannot be re-used. +// * ErrCodeCommitRequiredException "CommitRequiredException" +// A commit was not specified. // -// * ErrCodeCommentContentRequiredException "CommentContentRequiredException" -// The comment is empty. You must provide some content for a comment. The content -// cannot be null. +// * ErrCodeInvalidCommitException "InvalidCommitException" +// The specified commit is not valid. // -// * ErrCodeCommentContentSizeLimitExceededException "CommentContentSizeLimitExceededException" -// The comment is too large. Comments are limited to 1,000 characters. +// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" +// The specified commit does not exist or no commit was specified, and the specified +// repository has no default branch. // -// * ErrCodeInvalidFileLocationException "InvalidFileLocationException" -// The location of the file is not valid. Make sure that you include the extension -// of the file as well as the file name. +// * ErrCodeInvalidTargetBranchException "InvalidTargetBranchException" +// The specified target branch is not valid. // -// * ErrCodeInvalidRelativeFileVersionEnumException "InvalidRelativeFileVersionEnumException" -// Either the enum is not in a valid format, or the specified file version enum -// is not valid in respect to the current file version. +// * ErrCodeInvalidBranchNameException "InvalidBranchNameException" +// The specified reference name is not valid. // -// * ErrCodePathRequiredException "PathRequiredException" -// The folderPath for a location cannot be null. +// * ErrCodeBranchNameRequiredException "BranchNameRequiredException" +// A branch name is required, but was not specified. // -// * ErrCodeInvalidFilePositionException "InvalidFilePositionException" -// The position is not valid. Make sure that the line number exists in the version -// of the file you want to comment on. +// * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException" +// The specified branch name is not valid because it is a tag name. Enter the +// name of a branch in the repository. For a list of valid branch names, use +// ListBranches. // -// * ErrCodeCommitIdRequiredException "CommitIdRequiredException" -// A commit ID was not specified. +// * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException" +// The specified branch does not exist. // -// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" -// The specified commit ID is not valid. +// * ErrCodeManualMergeRequiredException "ManualMergeRequiredException" +// The pull request cannot be merged automatically into the destination branch. +// You must manually merge the branches and resolve any conflicts. +// +// * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException" +// The merge cannot be completed because the target branch has been modified. +// Another user might have modified the target branch while the merge was in +// progress. Wait a few minutes, and then try again. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -6213,249 +6693,171 @@ func (c *CodeCommit) PostCommentForPullRequestRequest(input *PostCommentForPullR // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" -// The specified commit does not exist or no commit was specified, and the specified -// repository has no default branch. -// -// * ErrCodeInvalidPathException "InvalidPathException" -// The specified path is not valid. -// -// * ErrCodePathDoesNotExistException "PathDoesNotExistException" -// The specified path does not exist. -// -// * ErrCodePathRequiredException "PathRequiredException" -// The folderPath for a location cannot be null. -// -// * ErrCodeBeforeCommitIdAndAfterCommitIdAreSameException "BeforeCommitIdAndAfterCommitIdAreSameException" -// The before commit ID and the after commit ID are the same, which is not valid. -// The before commit ID and the after commit ID must be different commit IDs. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentForPullRequest -func (c *CodeCommit) PostCommentForPullRequest(input *PostCommentForPullRequestInput) (*PostCommentForPullRequestOutput, error) { - req, out := c.PostCommentForPullRequestRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByFastForward +func (c *CodeCommit) MergeBranchesByFastForward(input *MergeBranchesByFastForwardInput) (*MergeBranchesByFastForwardOutput, error) { + req, out := c.MergeBranchesByFastForwardRequest(input) return out, req.Send() } -// PostCommentForPullRequestWithContext is the same as PostCommentForPullRequest with the addition of +// MergeBranchesByFastForwardWithContext is the same as MergeBranchesByFastForward with the addition of // the ability to pass a context and additional request options. // -// See PostCommentForPullRequest for details on how to use this API operation. +// See MergeBranchesByFastForward for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) PostCommentForPullRequestWithContext(ctx aws.Context, input *PostCommentForPullRequestInput, opts ...request.Option) (*PostCommentForPullRequestOutput, error) { - req, out := c.PostCommentForPullRequestRequest(input) +func (c *CodeCommit) MergeBranchesByFastForwardWithContext(ctx aws.Context, input *MergeBranchesByFastForwardInput, opts ...request.Option) (*MergeBranchesByFastForwardOutput, error) { + req, out := c.MergeBranchesByFastForwardRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPostCommentReply = "PostCommentReply" +const opMergeBranchesBySquash = "MergeBranchesBySquash" -// PostCommentReplyRequest generates a "aws/request.Request" representing the -// client's request for the PostCommentReply operation. The "output" return +// MergeBranchesBySquashRequest generates a "aws/request.Request" representing the +// client's request for the MergeBranchesBySquash 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 PostCommentReply for more information on using the PostCommentReply +// See MergeBranchesBySquash for more information on using the MergeBranchesBySquash // 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 PostCommentReplyRequest method. -// req, resp := client.PostCommentReplyRequest(params) +// // Example sending a request using the MergeBranchesBySquashRequest method. +// req, resp := client.MergeBranchesBySquashRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentReply -func (c *CodeCommit) PostCommentReplyRequest(input *PostCommentReplyInput) (req *request.Request, output *PostCommentReplyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesBySquash +func (c *CodeCommit) MergeBranchesBySquashRequest(input *MergeBranchesBySquashInput) (req *request.Request, output *MergeBranchesBySquashOutput) { op := &request.Operation{ - Name: opPostCommentReply, + Name: opMergeBranchesBySquash, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &PostCommentReplyInput{} + input = &MergeBranchesBySquashInput{} } - output = &PostCommentReplyOutput{} + output = &MergeBranchesBySquashOutput{} req = c.newRequest(op, input, output) return } -// PostCommentReply API operation for AWS CodeCommit. +// MergeBranchesBySquash API operation for AWS CodeCommit. // -// Posts a comment in reply to an existing comment on a comparison between commits -// or a pull request. +// Merges two branches using the squash merge strategy. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation PostCommentReply for usage and error information. +// API operation MergeBranchesBySquash for usage and error information. // // Returned Error Codes: -// * ErrCodeClientRequestTokenRequiredException "ClientRequestTokenRequiredException" -// A client request token is required. A client request token is an unique, -// client-generated idempotency token that when provided in a request, ensures -// the request cannot be repeated with a changed parameter. If a request is -// received with the same parameters and a token is included, the request will -// return information about the initial request that used that token. -// -// * ErrCodeInvalidClientRequestTokenException "InvalidClientRequestTokenException" -// The client request token is not valid. -// -// * ErrCodeIdempotencyParameterMismatchException "IdempotencyParameterMismatchException" -// The client request token is not valid. Either the token is not in a valid -// format, or the token has been used in a previous request and cannot be re-used. -// -// * ErrCodeCommentContentRequiredException "CommentContentRequiredException" -// The comment is empty. You must provide some content for a comment. The content -// cannot be null. -// -// * ErrCodeCommentContentSizeLimitExceededException "CommentContentSizeLimitExceededException" -// The comment is too large. Comments are limited to 1,000 characters. -// -// * ErrCodeCommentDoesNotExistException "CommentDoesNotExistException" -// No comment exists with the provided ID. Verify that you have provided the -// correct ID, and then try again. +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. // -// * ErrCodeCommentIdRequiredException "CommentIdRequiredException" -// The comment ID is missing or null. A comment ID is required. +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. // -// * ErrCodeInvalidCommentIdException "InvalidCommentIdException" -// The comment ID is not in a valid format. Make sure that you have provided -// the full comment ID. +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentReply -func (c *CodeCommit) PostCommentReply(input *PostCommentReplyInput) (*PostCommentReplyOutput, error) { - req, out := c.PostCommentReplyRequest(input) - return out, req.Send() -} - -// PostCommentReplyWithContext is the same as PostCommentReply with the addition of -// the ability to pass a context and additional request options. +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. // -// See PostCommentReply for details on how to use this API operation. +// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" +// The divergence between the tips of the provided commit specifiers is too +// great to determine whether there might be any merge conflicts. Locally compare +// the specifiers using git diff or a diff tool. // -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *CodeCommit) PostCommentReplyWithContext(ctx aws.Context, input *PostCommentReplyInput, opts ...request.Option) (*PostCommentReplyOutput, error) { - req, out := c.PostCommentReplyRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opPutFile = "PutFile" - -// PutFileRequest generates a "aws/request.Request" representing the -// client's request for the PutFile operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. +// * ErrCodeCommitRequiredException "CommitRequiredException" +// A commit was not specified. // -// 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. +// * ErrCodeInvalidCommitException "InvalidCommitException" +// The specified commit is not valid. // -// See PutFile for more information on using the PutFile -// API call, and error handling. +// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" +// The specified commit does not exist or no commit was specified, and the specified +// repository has no default branch. // -// 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. +// * ErrCodeInvalidTargetBranchException "InvalidTargetBranchException" +// The specified target branch is not valid. // +// * ErrCodeInvalidBranchNameException "InvalidBranchNameException" +// The specified reference name is not valid. // -// // Example sending a request using the PutFileRequest method. -// req, resp := client.PutFileRequest(params) +// * ErrCodeBranchNameRequiredException "BranchNameRequiredException" +// A branch name is required, but was not specified. // -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } +// * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException" +// The specified branch name is not valid because it is a tag name. Enter the +// name of a branch in the repository. For a list of valid branch names, use +// ListBranches. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutFile -func (c *CodeCommit) PutFileRequest(input *PutFileInput) (req *request.Request, output *PutFileOutput) { - op := &request.Operation{ - Name: opPutFile, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &PutFileInput{} - } - - output = &PutFileOutput{} - req = c.newRequest(op, input, output) - return -} - -// PutFile API operation for AWS CodeCommit. +// * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException" +// The specified branch does not exist. // -// Adds or updates a file in a branch in an AWS CodeCommit repository, and generates -// a commit for the addition in the specified branch. +// * ErrCodeManualMergeRequiredException "ManualMergeRequiredException" +// The pull request cannot be merged automatically into the destination branch. +// You must manually merge the branches and resolve any conflicts. // -// 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. +// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" +// The specified conflict detail level is not valid. // -// See the AWS API reference guide for AWS CodeCommit's -// API operation PutFile for usage and error information. +// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" +// The specified conflict resolution strategy is not valid. // -// Returned Error Codes: -// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// * ErrCodeInvalidConflictResolutionException "InvalidConflictResolutionException" +// The specified conflict resolution list is not valid. // -// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// * ErrCodeMaximumConflictResolutionEntriesExceededException "MaximumConflictResolutionEntriesExceededException" +// The number of allowed conflict resolution entries was exceeded. // -// This exception only occurs when a specified repository name is not valid. -// Other exceptions occur when a required repository parameter is missing, or -// when a specified repository does not exist. +// * ErrCodeMultipleConflictResolutionEntriesException "MultipleConflictResolutionEntriesException" +// More than one conflict resolution entries exists for the conflict. A conflict +// can have only one conflict resolution entry. // -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// * ErrCodeReplacementTypeRequiredException "ReplacementTypeRequiredException" +// A replacement type is required. // -// * ErrCodeParentCommitIdRequiredException "ParentCommitIdRequiredException" -// A parent commit ID is required. To view the full commit ID of a branch in -// a repository, use GetBranch or a Git command (for example, git pull or git -// log). +// * ErrCodeInvalidReplacementTypeException "InvalidReplacementTypeException" +// Automerge was specified for resolving the conflict, but the specified replacement +// type is not valid. // -// * ErrCodeInvalidParentCommitIdException "InvalidParentCommitIdException" -// The parent commit ID is not valid. The commit ID cannot be empty, and must -// match the head commit ID for the branch of the repository where you want -// to add or update a file. +// * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException" +// USE_NEW_CONTENT was specified, but no replacement content has been provided. // -// * ErrCodeParentCommitDoesNotExistException "ParentCommitDoesNotExistException" -// The parent commit ID is not valid because it does not exist. The specified -// parent commit ID does not exist in the specified branch of the repository. +// * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException" +// Automerge was specified for resolving the conflict, but the replacement type +// is not valid or content is missing. // -// * ErrCodeParentCommitIdOutdatedException "ParentCommitIdOutdatedException" -// The file could not be added because the provided parent commit ID is not -// the current tip of the specified branch. To view the full commit ID of the -// current head of the branch, use GetBranch. +// * ErrCodePathRequiredException "PathRequiredException" +// The folderPath for a location cannot be null. // -// * ErrCodeFileContentRequiredException "FileContentRequiredException" -// The file cannot be added because it is empty. Empty files cannot be added -// to the repository with this API. +// * ErrCodeInvalidPathException "InvalidPathException" +// The specified path is not valid. // // * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException" -// The file cannot be added because it is too large. The maximum file size that -// can be added is 6 MB, and the combined file content change size is 7 MB. -// Consider making these changes using a Git client. +// The file cannot be added because it is too large. The maximum file size is +// 6 MB, and the combined file content change size is 7 MB. Consider making +// these changes using a Git client. // // * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException" // The commit cannot be created because at least one of the overall changes @@ -6463,25 +6865,16 @@ func (c *CodeCommit) PutFileRequest(input *PutFileInput) (req *request.Request, // Either reduce the number and size of your changes, or split the changes across // multiple folders. // -// * ErrCodePathRequiredException "PathRequiredException" -// The folderPath for a location cannot be null. -// -// * ErrCodeInvalidPathException "InvalidPathException" -// The specified path is not valid. -// -// * ErrCodeBranchNameRequiredException "BranchNameRequiredException" -// A branch name is required but was not specified. -// -// * ErrCodeInvalidBranchNameException "InvalidBranchNameException" -// The specified reference name is not valid. +// * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException" +// The number of files to load exceeds the allowed limit. // -// * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException" -// The specified branch does not exist. +// * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" +// The number of items to compare between the source or destination branches +// and the merge base has exceeded the maximum allowed. // -// * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException" -// The specified branch name is not valid because it is a tag name. Type the -// name of a current branch in the repository. For a list of valid branch names, -// use ListBranches. +// * ErrCodeFileModeRequiredException "FileModeRequiredException" +// The commit cannot be created because no file mode has been specified. A file +// mode is required to update mode permissions for a file. // // * ErrCodeInvalidFileModeException "InvalidFileModeException" // The specified file mode permission is not valid. For a list of valid file @@ -6499,8 +6892,10 @@ func (c *CodeCommit) PutFileRequest(input *PutFileInput) (req *request.Request, // * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException" // The commit message is too long. Provide a shorter string. // -// * ErrCodeInvalidDeletionParameterException "InvalidDeletionParameterException" -// The specified deletion parameter is not valid. +// * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException" +// The merge cannot be completed because the target branch has been modified. +// Another user might have modified the target branch while the merge was in +// progress. Wait a few minutes, and then try again. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -6517,162 +6912,209 @@ func (c *CodeCommit) PutFileRequest(input *PutFileInput) (req *request.Request, // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// * ErrCodeSameFileContentException "SameFileContentException" -// The file was not added or updated because the content of the file is exactly -// the same as the content of that file in the repository and branch that you -// specified. -// -// * ErrCodeFileNameConflictsWithDirectoryNameException "FileNameConflictsWithDirectoryNameException" -// A file cannot be added to the repository because the specified file name -// has the same name as a directory in this repository. Either provide another -// name for the file, or add the file in a directory that does not match the -// file name. -// -// * ErrCodeDirectoryNameConflictsWithFileNameException "DirectoryNameConflictsWithFileNameException" -// A file cannot be added to the repository because the specified path name -// has the same name as a file that already exists in this repository. Either -// provide a different name for the file, or specify a different path for the -// file. -// -// * ErrCodeFilePathConflictsWithSubmodulePathException "FilePathConflictsWithSubmodulePathException" -// The commit cannot be created because a specified file path points to a submodule. -// Verify that the destination files have valid file paths that do not point -// to a submodule. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutFile -func (c *CodeCommit) PutFile(input *PutFileInput) (*PutFileOutput, error) { - req, out := c.PutFileRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesBySquash +func (c *CodeCommit) MergeBranchesBySquash(input *MergeBranchesBySquashInput) (*MergeBranchesBySquashOutput, error) { + req, out := c.MergeBranchesBySquashRequest(input) return out, req.Send() } -// PutFileWithContext is the same as PutFile with the addition of +// MergeBranchesBySquashWithContext is the same as MergeBranchesBySquash with the addition of // the ability to pass a context and additional request options. // -// See PutFile for details on how to use this API operation. +// See MergeBranchesBySquash for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) PutFileWithContext(ctx aws.Context, input *PutFileInput, opts ...request.Option) (*PutFileOutput, error) { - req, out := c.PutFileRequest(input) +func (c *CodeCommit) MergeBranchesBySquashWithContext(ctx aws.Context, input *MergeBranchesBySquashInput, opts ...request.Option) (*MergeBranchesBySquashOutput, error) { + req, out := c.MergeBranchesBySquashRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutRepositoryTriggers = "PutRepositoryTriggers" +const opMergeBranchesByThreeWay = "MergeBranchesByThreeWay" -// PutRepositoryTriggersRequest generates a "aws/request.Request" representing the -// client's request for the PutRepositoryTriggers operation. The "output" return +// MergeBranchesByThreeWayRequest generates a "aws/request.Request" representing the +// client's request for the MergeBranchesByThreeWay 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 PutRepositoryTriggers for more information on using the PutRepositoryTriggers +// See MergeBranchesByThreeWay for more information on using the MergeBranchesByThreeWay // 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 PutRepositoryTriggersRequest method. -// req, resp := client.PutRepositoryTriggersRequest(params) +// // Example sending a request using the MergeBranchesByThreeWayRequest method. +// req, resp := client.MergeBranchesByThreeWayRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutRepositoryTriggers -func (c *CodeCommit) PutRepositoryTriggersRequest(input *PutRepositoryTriggersInput) (req *request.Request, output *PutRepositoryTriggersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByThreeWay +func (c *CodeCommit) MergeBranchesByThreeWayRequest(input *MergeBranchesByThreeWayInput) (req *request.Request, output *MergeBranchesByThreeWayOutput) { op := &request.Operation{ - Name: opPutRepositoryTriggers, + Name: opMergeBranchesByThreeWay, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &PutRepositoryTriggersInput{} + input = &MergeBranchesByThreeWayInput{} } - output = &PutRepositoryTriggersOutput{} + output = &MergeBranchesByThreeWayOutput{} req = c.newRequest(op, input, output) return } -// PutRepositoryTriggers API operation for AWS CodeCommit. +// MergeBranchesByThreeWay API operation for AWS CodeCommit. // -// Replaces all triggers for a repository. This can be used to create or delete -// triggers. +// Merges two specified branches using the three-way merge strategy. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation PutRepositoryTriggers for usage and error information. +// API operation MergeBranchesByThreeWay for usage and error information. // // Returned Error Codes: -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. -// // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // -// * ErrCodeRepositoryTriggersListRequiredException "RepositoryTriggersListRequiredException" -// The list of triggers for the repository is required but was not specified. +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. // -// * ErrCodeMaximumRepositoryTriggersExceededException "MaximumRepositoryTriggersExceededException" -// The number of triggers allowed for the repository was exceeded. +// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" +// The divergence between the tips of the provided commit specifiers is too +// great to determine whether there might be any merge conflicts. Locally compare +// the specifiers using git diff or a diff tool. // -// * ErrCodeInvalidRepositoryTriggerNameException "InvalidRepositoryTriggerNameException" -// The name of the trigger is not valid. +// * ErrCodeCommitRequiredException "CommitRequiredException" +// A commit was not specified. // -// * ErrCodeInvalidRepositoryTriggerDestinationArnException "InvalidRepositoryTriggerDestinationArnException" -// The Amazon Resource Name (ARN) for the trigger is not valid for the specified -// destination. The most common reason for this error is that the ARN does not -// meet the requirements for the service type. +// * ErrCodeInvalidCommitException "InvalidCommitException" +// The specified commit is not valid. // -// * ErrCodeInvalidRepositoryTriggerRegionException "InvalidRepositoryTriggerRegionException" -// The region for the trigger target does not match the region for the repository. -// Triggers must be created in the same region as the target for the trigger. +// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" +// The specified commit does not exist or no commit was specified, and the specified +// repository has no default branch. // -// * ErrCodeInvalidRepositoryTriggerCustomDataException "InvalidRepositoryTriggerCustomDataException" -// The custom data provided for the trigger is not valid. +// * ErrCodeInvalidTargetBranchException "InvalidTargetBranchException" +// The specified target branch is not valid. // -// * ErrCodeMaximumBranchesExceededException "MaximumBranchesExceededException" -// The number of branches for the trigger was exceeded. +// * ErrCodeInvalidBranchNameException "InvalidBranchNameException" +// The specified reference name is not valid. // -// * ErrCodeInvalidRepositoryTriggerBranchNameException "InvalidRepositoryTriggerBranchNameException" -// One or more branch names specified for the trigger is not valid. +// * ErrCodeBranchNameRequiredException "BranchNameRequiredException" +// A branch name is required, but was not specified. // -// * ErrCodeInvalidRepositoryTriggerEventsException "InvalidRepositoryTriggerEventsException" -// One or more events specified for the trigger is not valid. Check to make -// sure that all events specified match the requirements for allowed events. +// * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException" +// The specified branch name is not valid because it is a tag name. Enter the +// name of a branch in the repository. For a list of valid branch names, use +// ListBranches. // -// * ErrCodeRepositoryTriggerNameRequiredException "RepositoryTriggerNameRequiredException" -// A name for the trigger is required but was not specified. +// * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException" +// The specified branch does not exist. // -// * ErrCodeRepositoryTriggerDestinationArnRequiredException "RepositoryTriggerDestinationArnRequiredException" -// A destination ARN for the target service for the trigger is required but -// was not specified. +// * ErrCodeManualMergeRequiredException "ManualMergeRequiredException" +// The pull request cannot be merged automatically into the destination branch. +// You must manually merge the branches and resolve any conflicts. // -// * ErrCodeRepositoryTriggerBranchNameListRequiredException "RepositoryTriggerBranchNameListRequiredException" -// At least one branch name is required but was not specified in the trigger -// configuration. +// * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException" +// The merge cannot be completed because the target branch has been modified. +// Another user might have modified the target branch while the merge was in +// progress. Wait a few minutes, and then try again. // -// * ErrCodeRepositoryTriggerEventsListRequiredException "RepositoryTriggerEventsListRequiredException" -// At least one event for the trigger is required but was not specified. +// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" +// The specified conflict detail level is not valid. +// +// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" +// The specified conflict resolution strategy is not valid. +// +// * ErrCodeInvalidConflictResolutionException "InvalidConflictResolutionException" +// The specified conflict resolution list is not valid. +// +// * ErrCodeMaximumConflictResolutionEntriesExceededException "MaximumConflictResolutionEntriesExceededException" +// The number of allowed conflict resolution entries was exceeded. +// +// * ErrCodeMultipleConflictResolutionEntriesException "MultipleConflictResolutionEntriesException" +// More than one conflict resolution entries exists for the conflict. A conflict +// can have only one conflict resolution entry. +// +// * ErrCodeReplacementTypeRequiredException "ReplacementTypeRequiredException" +// A replacement type is required. +// +// * ErrCodeInvalidReplacementTypeException "InvalidReplacementTypeException" +// Automerge was specified for resolving the conflict, but the specified replacement +// type is not valid. +// +// * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException" +// USE_NEW_CONTENT was specified, but no replacement content has been provided. +// +// * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException" +// Automerge was specified for resolving the conflict, but the replacement type +// is not valid or content is missing. +// +// * ErrCodePathRequiredException "PathRequiredException" +// The folderPath for a location cannot be null. +// +// * ErrCodeInvalidPathException "InvalidPathException" +// The specified path is not valid. +// +// * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException" +// The file cannot be added because it is too large. The maximum file size is +// 6 MB, and the combined file content change size is 7 MB. Consider making +// these changes using a Git client. +// +// * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException" +// The commit cannot be created because at least one of the overall changes +// in the commit results in a folder whose contents exceed the limit of 6 MB. +// Either reduce the number and size of your changes, or split the changes across +// multiple folders. +// +// * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException" +// The number of files to load exceeds the allowed limit. +// +// * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" +// The number of items to compare between the source or destination branches +// and the merge base has exceeded the maximum allowed. +// +// * ErrCodeFileModeRequiredException "FileModeRequiredException" +// The commit cannot be created because no file mode has been specified. A file +// mode is required to update mode permissions for a file. +// +// * ErrCodeInvalidFileModeException "InvalidFileModeException" +// The specified file mode permission is not valid. For a list of valid file +// mode permissions, see PutFile. +// +// * ErrCodeNameLengthExceededException "NameLengthExceededException" +// The user name is not valid because it has exceeded the character limit for +// author names. +// +// * ErrCodeInvalidEmailException "InvalidEmailException" +// The specified email address either contains one or more characters that are +// not allowed, or it exceeds the maximum number of characters allowed for an +// email address. +// +// * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException" +// The commit message is too long. Provide a shorter string. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -6689,257 +7131,363 @@ func (c *CodeCommit) PutRepositoryTriggersRequest(input *PutRepositoryTriggersIn // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutRepositoryTriggers -func (c *CodeCommit) PutRepositoryTriggers(input *PutRepositoryTriggersInput) (*PutRepositoryTriggersOutput, error) { - req, out := c.PutRepositoryTriggersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByThreeWay +func (c *CodeCommit) MergeBranchesByThreeWay(input *MergeBranchesByThreeWayInput) (*MergeBranchesByThreeWayOutput, error) { + req, out := c.MergeBranchesByThreeWayRequest(input) return out, req.Send() } -// PutRepositoryTriggersWithContext is the same as PutRepositoryTriggers with the addition of +// MergeBranchesByThreeWayWithContext is the same as MergeBranchesByThreeWay with the addition of // the ability to pass a context and additional request options. // -// See PutRepositoryTriggers for details on how to use this API operation. +// See MergeBranchesByThreeWay for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) PutRepositoryTriggersWithContext(ctx aws.Context, input *PutRepositoryTriggersInput, opts ...request.Option) (*PutRepositoryTriggersOutput, error) { - req, out := c.PutRepositoryTriggersRequest(input) +func (c *CodeCommit) MergeBranchesByThreeWayWithContext(ctx aws.Context, input *MergeBranchesByThreeWayInput, opts ...request.Option) (*MergeBranchesByThreeWayOutput, error) { + req, out := c.MergeBranchesByThreeWayRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +const opMergePullRequestByFastForward = "MergePullRequestByFastForward" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// MergePullRequestByFastForwardRequest generates a "aws/request.Request" representing the +// client's request for the MergePullRequestByFastForward 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 +// See MergePullRequestByFastForward for more information on using the MergePullRequestByFastForward // 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) +// // Example sending a request using the MergePullRequestByFastForwardRequest method. +// req, resp := client.MergePullRequestByFastForwardRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/TagResource -func (c *CodeCommit) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByFastForward +func (c *CodeCommit) MergePullRequestByFastForwardRequest(input *MergePullRequestByFastForwardInput) (req *request.Request, output *MergePullRequestByFastForwardOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opMergePullRequestByFastForward, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TagResourceInput{} + input = &MergePullRequestByFastForwardInput{} } - output = &TagResourceOutput{} + output = &MergePullRequestByFastForwardOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for AWS CodeCommit. +// MergePullRequestByFastForward API operation for AWS CodeCommit. // -// Adds or updates tags for a resource in AWS CodeCommit. For a list of valid -// resources in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) -// in the AWS CodeCommit User Guide. +// Attempts to merge the source commit of a pull request into the specified +// destination branch for that pull request at the specified commit using the +// fast-forward merge strategy. If the merge is successful, it closes the pull +// 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 AWS CodeCommit's -// API operation TagResource for usage and error information. +// API operation MergePullRequestByFastForward for usage and error information. // // Returned Error Codes: -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// * ErrCodeManualMergeRequiredException "ManualMergeRequiredException" +// The pull request cannot be merged automatically into the destination branch. +// You must manually merge the branches and resolve any conflicts. +// +// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" +// The pull request status cannot be updated because it is already closed. +// +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. +// +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. +// +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. +// +// * ErrCodeTipOfSourceReferenceIsDifferentException "TipOfSourceReferenceIsDifferentException" +// The tip of the source branch in the destination repository does not match +// the tip of the source branch specified in your request. The pull request +// might have been updated. Make sure that you have the latest changes. +// +// * ErrCodeReferenceDoesNotExistException "ReferenceDoesNotExistException" +// The specified reference does not exist. You must provide a full commit ID. +// +// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" +// The specified commit ID is not valid. +// +// * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException" +// The repository does not contain any pull requests with that pull request +// ID. Use GetPullRequest to verify the correct repository name for the pull +// request ID. +// +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // -// * ErrCodeResourceArnRequiredException "ResourceArnRequiredException" -// A valid Amazon Resource Name (ARN) for an AWS CodeCommit resource is required. -// For a list of valid resources in AWS CodeCommit, see CodeCommit Resources -// and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) -// in the AWS CodeCommit User Guide. +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. // -// * ErrCodeInvalidResourceArnException "InvalidResourceArnException" -// The value for the resource ARN is not valid. For more information about resources -// in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) -// in the AWS CodeCommit User Guide. +// * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException" +// The merge cannot be completed because the target branch has been modified. +// Another user might have modified the target branch while the merge was in +// progress. Wait a few minutes, and then try again. // -// * ErrCodeTagsMapRequiredException "TagsMapRequiredException" -// A map of tags is required. +// * ErrCodePullRequestApprovalRulesNotSatisfiedException "PullRequestApprovalRulesNotSatisfiedException" +// The pull request cannot be merged because one or more approval rules applied +// to the pull request have conditions that have not been met. // -// * ErrCodeInvalidTagsMapException "InvalidTagsMapException" -// The map of tags is not valid. +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. // -// * ErrCodeTooManyTagsException "TooManyTagsException" -// The maximum number of tags for an AWS CodeCommit resource has been exceeded. +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. // -// * ErrCodeInvalidSystemTagUsageException "InvalidSystemTagUsageException" -// The specified tag is not valid. Key names cannot be prefixed with aws:. +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. // -// * ErrCodeTagPolicyException "TagPolicyException" -// The tag policy is not valid. +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/TagResource -func (c *CodeCommit) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByFastForward +func (c *CodeCommit) MergePullRequestByFastForward(input *MergePullRequestByFastForwardInput) (*MergePullRequestByFastForwardOutput, error) { + req, out := c.MergePullRequestByFastForwardRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// MergePullRequestByFastForwardWithContext is the same as MergePullRequestByFastForward 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. +// See MergePullRequestByFastForward for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *CodeCommit) MergePullRequestByFastForwardWithContext(ctx aws.Context, input *MergePullRequestByFastForwardInput, opts ...request.Option) (*MergePullRequestByFastForwardOutput, error) { + req, out := c.MergePullRequestByFastForwardRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTestRepositoryTriggers = "TestRepositoryTriggers" +const opMergePullRequestBySquash = "MergePullRequestBySquash" -// TestRepositoryTriggersRequest generates a "aws/request.Request" representing the -// client's request for the TestRepositoryTriggers operation. The "output" return +// MergePullRequestBySquashRequest generates a "aws/request.Request" representing the +// client's request for the MergePullRequestBySquash 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 TestRepositoryTriggers for more information on using the TestRepositoryTriggers +// See MergePullRequestBySquash for more information on using the MergePullRequestBySquash // 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 TestRepositoryTriggersRequest method. -// req, resp := client.TestRepositoryTriggersRequest(params) +// // Example sending a request using the MergePullRequestBySquashRequest method. +// req, resp := client.MergePullRequestBySquashRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/TestRepositoryTriggers -func (c *CodeCommit) TestRepositoryTriggersRequest(input *TestRepositoryTriggersInput) (req *request.Request, output *TestRepositoryTriggersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestBySquash +func (c *CodeCommit) MergePullRequestBySquashRequest(input *MergePullRequestBySquashInput) (req *request.Request, output *MergePullRequestBySquashOutput) { op := &request.Operation{ - Name: opTestRepositoryTriggers, + Name: opMergePullRequestBySquash, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TestRepositoryTriggersInput{} + input = &MergePullRequestBySquashInput{} } - output = &TestRepositoryTriggersOutput{} + output = &MergePullRequestBySquashOutput{} req = c.newRequest(op, input, output) return } -// TestRepositoryTriggers API operation for AWS CodeCommit. +// MergePullRequestBySquash API operation for AWS CodeCommit. // -// Tests the functionality of repository triggers by sending information to -// the trigger target. If real data is available in the repository, the test -// will send data from the last commit. If no data is available, sample data -// will be generated. +// Attempts to merge the source commit of a pull request into the specified +// destination branch for that pull request at the specified commit using the +// squash merge strategy. If the merge is successful, it closes the pull 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 AWS CodeCommit's -// API operation TestRepositoryTriggers for usage and error information. +// API operation MergePullRequestBySquash for usage and error information. // // Returned Error Codes: -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" +// The pull request status cannot be updated because it is already closed. // -// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. // -// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. // -// This exception only occurs when a specified repository name is not valid. -// Other exceptions occur when a required repository parameter is missing, or -// when a specified repository does not exist. +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. // -// * ErrCodeRepositoryTriggersListRequiredException "RepositoryTriggersListRequiredException" -// The list of triggers for the repository is required but was not specified. +// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" +// The specified commit ID is not valid. // -// * ErrCodeMaximumRepositoryTriggersExceededException "MaximumRepositoryTriggersExceededException" -// The number of triggers allowed for the repository was exceeded. +// * ErrCodeManualMergeRequiredException "ManualMergeRequiredException" +// The pull request cannot be merged automatically into the destination branch. +// You must manually merge the branches and resolve any conflicts. // -// * ErrCodeInvalidRepositoryTriggerNameException "InvalidRepositoryTriggerNameException" -// The name of the trigger is not valid. +// * ErrCodeTipOfSourceReferenceIsDifferentException "TipOfSourceReferenceIsDifferentException" +// The tip of the source branch in the destination repository does not match +// the tip of the source branch specified in your request. The pull request +// might have been updated. Make sure that you have the latest changes. // -// * ErrCodeInvalidRepositoryTriggerDestinationArnException "InvalidRepositoryTriggerDestinationArnException" -// The Amazon Resource Name (ARN) for the trigger is not valid for the specified -// destination. The most common reason for this error is that the ARN does not -// meet the requirements for the service type. +// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" +// The divergence between the tips of the provided commit specifiers is too +// great to determine whether there might be any merge conflicts. Locally compare +// the specifiers using git diff or a diff tool. // -// * ErrCodeInvalidRepositoryTriggerRegionException "InvalidRepositoryTriggerRegionException" -// The region for the trigger target does not match the region for the repository. -// Triggers must be created in the same region as the target for the trigger. +// * ErrCodeNameLengthExceededException "NameLengthExceededException" +// The user name is not valid because it has exceeded the character limit for +// author names. // -// * ErrCodeInvalidRepositoryTriggerCustomDataException "InvalidRepositoryTriggerCustomDataException" -// The custom data provided for the trigger is not valid. +// * ErrCodeInvalidEmailException "InvalidEmailException" +// The specified email address either contains one or more characters that are +// not allowed, or it exceeds the maximum number of characters allowed for an +// email address. // -// * ErrCodeMaximumBranchesExceededException "MaximumBranchesExceededException" -// The number of branches for the trigger was exceeded. +// * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException" +// The commit message is too long. Provide a shorter string. // -// * ErrCodeInvalidRepositoryTriggerBranchNameException "InvalidRepositoryTriggerBranchNameException" -// One or more branch names specified for the trigger is not valid. +// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" +// The specified conflict detail level is not valid. // -// * ErrCodeInvalidRepositoryTriggerEventsException "InvalidRepositoryTriggerEventsException" -// One or more events specified for the trigger is not valid. Check to make -// sure that all events specified match the requirements for allowed events. +// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" +// The specified conflict resolution strategy is not valid. // -// * ErrCodeRepositoryTriggerNameRequiredException "RepositoryTriggerNameRequiredException" -// A name for the trigger is required but was not specified. +// * ErrCodeInvalidConflictResolutionException "InvalidConflictResolutionException" +// The specified conflict resolution list is not valid. // -// * ErrCodeRepositoryTriggerDestinationArnRequiredException "RepositoryTriggerDestinationArnRequiredException" -// A destination ARN for the target service for the trigger is required but -// was not specified. +// * ErrCodeReplacementTypeRequiredException "ReplacementTypeRequiredException" +// A replacement type is required. // -// * ErrCodeRepositoryTriggerBranchNameListRequiredException "RepositoryTriggerBranchNameListRequiredException" -// At least one branch name is required but was not specified in the trigger -// configuration. +// * ErrCodeInvalidReplacementTypeException "InvalidReplacementTypeException" +// Automerge was specified for resolving the conflict, but the specified replacement +// type is not valid. // -// * ErrCodeRepositoryTriggerEventsListRequiredException "RepositoryTriggerEventsListRequiredException" -// At least one event for the trigger is required but was not specified. +// * ErrCodeMultipleConflictResolutionEntriesException "MultipleConflictResolutionEntriesException" +// More than one conflict resolution entries exists for the conflict. A conflict +// can have only one conflict resolution entry. +// +// * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException" +// USE_NEW_CONTENT was specified, but no replacement content has been provided. +// +// * ErrCodeMaximumConflictResolutionEntriesExceededException "MaximumConflictResolutionEntriesExceededException" +// The number of allowed conflict resolution entries was exceeded. +// +// * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException" +// The merge cannot be completed because the target branch has been modified. +// Another user might have modified the target branch while the merge was in +// progress. Wait a few minutes, and then try again. +// +// * ErrCodePathRequiredException "PathRequiredException" +// The folderPath for a location cannot be null. +// +// * ErrCodeInvalidPathException "InvalidPathException" +// The specified path is not valid. +// +// * ErrCodeInvalidFileModeException "InvalidFileModeException" +// The specified file mode permission is not valid. For a list of valid file +// mode permissions, see PutFile. +// +// * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException" +// Automerge was specified for resolving the conflict, but the replacement type +// is not valid or content is missing. +// +// * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException" +// The file cannot be added because it is too large. The maximum file size is +// 6 MB, and the combined file content change size is 7 MB. Consider making +// these changes using a Git client. +// +// * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException" +// The commit cannot be created because at least one of the overall changes +// in the commit results in a folder whose contents exceed the limit of 6 MB. +// Either reduce the number and size of your changes, or split the changes across +// multiple folders. +// +// * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException" +// The number of files to load exceeds the allowed limit. +// +// * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" +// The number of items to compare between the source or destination branches +// and the merge base has exceeded the maximum allowed. +// +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. +// +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. +// +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException" +// The repository does not contain any pull requests with that pull request +// ID. Use GetPullRequest to verify the correct repository name for the pull +// request ID. +// +// * ErrCodePullRequestApprovalRulesNotSatisfiedException "PullRequestApprovalRulesNotSatisfiedException" +// The pull request cannot be merged because one or more approval rules applied +// to the pull request have conditions that have not been met. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -6956,325 +7504,341 @@ func (c *CodeCommit) TestRepositoryTriggersRequest(input *TestRepositoryTriggers // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/TestRepositoryTriggers -func (c *CodeCommit) TestRepositoryTriggers(input *TestRepositoryTriggersInput) (*TestRepositoryTriggersOutput, error) { - req, out := c.TestRepositoryTriggersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestBySquash +func (c *CodeCommit) MergePullRequestBySquash(input *MergePullRequestBySquashInput) (*MergePullRequestBySquashOutput, error) { + req, out := c.MergePullRequestBySquashRequest(input) return out, req.Send() } -// TestRepositoryTriggersWithContext is the same as TestRepositoryTriggers with the addition of +// MergePullRequestBySquashWithContext is the same as MergePullRequestBySquash with the addition of // the ability to pass a context and additional request options. // -// See TestRepositoryTriggers for details on how to use this API operation. +// See MergePullRequestBySquash for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) TestRepositoryTriggersWithContext(ctx aws.Context, input *TestRepositoryTriggersInput, opts ...request.Option) (*TestRepositoryTriggersOutput, error) { - req, out := c.TestRepositoryTriggersRequest(input) +func (c *CodeCommit) MergePullRequestBySquashWithContext(ctx aws.Context, input *MergePullRequestBySquashInput, opts ...request.Option) (*MergePullRequestBySquashOutput, error) { + req, out := c.MergePullRequestBySquashRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opMergePullRequestByThreeWay = "MergePullRequestByThreeWay" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// MergePullRequestByThreeWayRequest generates a "aws/request.Request" representing the +// client's request for the MergePullRequestByThreeWay 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 +// See MergePullRequestByThreeWay for more information on using the MergePullRequestByThreeWay // 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) +// // Example sending a request using the MergePullRequestByThreeWayRequest method. +// req, resp := client.MergePullRequestByThreeWayRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UntagResource -func (c *CodeCommit) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByThreeWay +func (c *CodeCommit) MergePullRequestByThreeWayRequest(input *MergePullRequestByThreeWayInput) (req *request.Request, output *MergePullRequestByThreeWayOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opMergePullRequestByThreeWay, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UntagResourceInput{} + input = &MergePullRequestByThreeWayInput{} } - output = &UntagResourceOutput{} + output = &MergePullRequestByThreeWayOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for AWS CodeCommit. +// MergePullRequestByThreeWay API operation for AWS CodeCommit. // -// Removes tags for a resource in AWS CodeCommit. For a list of valid resources -// in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) -// in the AWS CodeCommit User Guide. +// Attempts to merge the source commit of a pull request into the specified +// destination branch for that pull request at the specified commit using the +// three-way merge strategy. If the merge is successful, it closes the pull +// 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 AWS CodeCommit's -// API operation UntagResource for usage and error information. +// API operation MergePullRequestByThreeWay for usage and error information. // // Returned Error Codes: -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" +// The pull request status cannot be updated because it is already closed. // -// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. // -// This exception only occurs when a specified repository name is not valid. -// Other exceptions occur when a required repository parameter is missing, or -// when a specified repository does not exist. +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. // -// * ErrCodeResourceArnRequiredException "ResourceArnRequiredException" -// A valid Amazon Resource Name (ARN) for an AWS CodeCommit resource is required. -// For a list of valid resources in AWS CodeCommit, see CodeCommit Resources -// and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) -// in the AWS CodeCommit User Guide. +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. // -// * ErrCodeInvalidResourceArnException "InvalidResourceArnException" -// The value for the resource ARN is not valid. For more information about resources -// in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) -// in the AWS CodeCommit User Guide. +// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" +// The specified commit ID is not valid. // -// * ErrCodeTagKeysListRequiredException "TagKeysListRequiredException" -// A list of tag keys is required. The list cannot be empty or null. +// * ErrCodeManualMergeRequiredException "ManualMergeRequiredException" +// The pull request cannot be merged automatically into the destination branch. +// You must manually merge the branches and resolve any conflicts. // -// * ErrCodeInvalidTagKeysListException "InvalidTagKeysListException" -// The list of tags is not valid. +// * ErrCodeTipOfSourceReferenceIsDifferentException "TipOfSourceReferenceIsDifferentException" +// The tip of the source branch in the destination repository does not match +// the tip of the source branch specified in your request. The pull request +// might have been updated. Make sure that you have the latest changes. // -// * ErrCodeTooManyTagsException "TooManyTagsException" -// The maximum number of tags for an AWS CodeCommit resource has been exceeded. +// * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException" +// The divergence between the tips of the provided commit specifiers is too +// great to determine whether there might be any merge conflicts. Locally compare +// the specifiers using git diff or a diff tool. // -// * ErrCodeInvalidSystemTagUsageException "InvalidSystemTagUsageException" -// The specified tag is not valid. Key names cannot be prefixed with aws:. +// * ErrCodeNameLengthExceededException "NameLengthExceededException" +// The user name is not valid because it has exceeded the character limit for +// author names. // -// * ErrCodeTagPolicyException "TagPolicyException" -// The tag policy is not valid. +// * ErrCodeInvalidEmailException "InvalidEmailException" +// The specified email address either contains one or more characters that are +// not allowed, or it exceeds the maximum number of characters allowed for an +// email address. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UntagResource -func (c *CodeCommit) 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. +// * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException" +// The commit message is too long. Provide a shorter string. // -// See UntagResource for details on how to use this API operation. +// * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException" +// The specified conflict detail level is not valid. // -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *CodeCommit) 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 opUpdateComment = "UpdateComment" - -// UpdateCommentRequest generates a "aws/request.Request" representing the -// client's request for the UpdateComment operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. +// * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException" +// The specified conflict resolution strategy is not valid. // -// 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. +// * ErrCodeInvalidConflictResolutionException "InvalidConflictResolutionException" +// The specified conflict resolution list is not valid. // -// See UpdateComment for more information on using the UpdateComment -// API call, and error handling. +// * ErrCodeReplacementTypeRequiredException "ReplacementTypeRequiredException" +// A replacement type is required. // -// 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. +// * ErrCodeInvalidReplacementTypeException "InvalidReplacementTypeException" +// Automerge was specified for resolving the conflict, but the specified replacement +// type is not valid. // +// * ErrCodeMultipleConflictResolutionEntriesException "MultipleConflictResolutionEntriesException" +// More than one conflict resolution entries exists for the conflict. A conflict +// can have only one conflict resolution entry. // -// // Example sending a request using the UpdateCommentRequest method. -// req, resp := client.UpdateCommentRequest(params) +// * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException" +// USE_NEW_CONTENT was specified, but no replacement content has been provided. // -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } +// * ErrCodeMaximumConflictResolutionEntriesExceededException "MaximumConflictResolutionEntriesExceededException" +// The number of allowed conflict resolution entries was exceeded. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateComment -func (c *CodeCommit) UpdateCommentRequest(input *UpdateCommentInput) (req *request.Request, output *UpdateCommentOutput) { - op := &request.Operation{ - Name: opUpdateComment, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &UpdateCommentInput{} - } - - output = &UpdateCommentOutput{} - req = c.newRequest(op, input, output) - return -} - -// UpdateComment API operation for AWS CodeCommit. +// * ErrCodePathRequiredException "PathRequiredException" +// The folderPath for a location cannot be null. // -// Replaces the contents of a comment. +// * ErrCodeInvalidPathException "InvalidPathException" +// The specified path is not valid. // -// 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. +// * ErrCodeInvalidFileModeException "InvalidFileModeException" +// The specified file mode permission is not valid. For a list of valid file +// mode permissions, see PutFile. // -// See the AWS API reference guide for AWS CodeCommit's -// API operation UpdateComment for usage and error information. +// * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException" +// Automerge was specified for resolving the conflict, but the replacement type +// is not valid or content is missing. // -// Returned Error Codes: -// * ErrCodeCommentContentRequiredException "CommentContentRequiredException" -// The comment is empty. You must provide some content for a comment. The content -// cannot be null. +// * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException" +// The file cannot be added because it is too large. The maximum file size is +// 6 MB, and the combined file content change size is 7 MB. Consider making +// these changes using a Git client. // -// * ErrCodeCommentContentSizeLimitExceededException "CommentContentSizeLimitExceededException" -// The comment is too large. Comments are limited to 1,000 characters. +// * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException" +// The commit cannot be created because at least one of the overall changes +// in the commit results in a folder whose contents exceed the limit of 6 MB. +// Either reduce the number and size of your changes, or split the changes across +// multiple folders. // -// * ErrCodeCommentDoesNotExistException "CommentDoesNotExistException" -// No comment exists with the provided ID. Verify that you have provided the -// correct ID, and then try again. +// * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException" +// The number of files to load exceeds the allowed limit. // -// * ErrCodeCommentIdRequiredException "CommentIdRequiredException" -// The comment ID is missing or null. A comment ID is required. +// * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException" +// The number of items to compare between the source or destination branches +// and the merge base has exceeded the maximum allowed. // -// * ErrCodeInvalidCommentIdException "InvalidCommentIdException" -// The comment ID is not in a valid format. Make sure that you have provided -// the full comment ID. +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. // -// * ErrCodeCommentNotCreatedByCallerException "CommentNotCreatedByCallerException" -// You cannot modify or delete this comment. Only comment authors can modify -// or delete their comments. +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. // -// * ErrCodeCommentDeletedException "CommentDeletedException" -// This comment has already been deleted. You cannot edit or delete a deleted -// comment. +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateComment -func (c *CodeCommit) UpdateComment(input *UpdateCommentInput) (*UpdateCommentOutput, error) { - req, out := c.UpdateCommentRequest(input) +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException" +// The repository does not contain any pull requests with that pull request +// ID. Use GetPullRequest to verify the correct repository name for the pull +// request ID. +// +// * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException" +// The merge cannot be completed because the target branch has been modified. +// Another user might have modified the target branch while the merge was in +// progress. Wait a few minutes, and then try again. +// +// * ErrCodePullRequestApprovalRulesNotSatisfiedException "PullRequestApprovalRulesNotSatisfiedException" +// The pull request cannot be merged because one or more approval rules applied +// to the pull request have conditions that have not been met. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByThreeWay +func (c *CodeCommit) MergePullRequestByThreeWay(input *MergePullRequestByThreeWayInput) (*MergePullRequestByThreeWayOutput, error) { + req, out := c.MergePullRequestByThreeWayRequest(input) return out, req.Send() } -// UpdateCommentWithContext is the same as UpdateComment with the addition of +// MergePullRequestByThreeWayWithContext is the same as MergePullRequestByThreeWay with the addition of // the ability to pass a context and additional request options. // -// See UpdateComment for details on how to use this API operation. +// See MergePullRequestByThreeWay for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) UpdateCommentWithContext(ctx aws.Context, input *UpdateCommentInput, opts ...request.Option) (*UpdateCommentOutput, error) { - req, out := c.UpdateCommentRequest(input) +func (c *CodeCommit) MergePullRequestByThreeWayWithContext(ctx aws.Context, input *MergePullRequestByThreeWayInput, opts ...request.Option) (*MergePullRequestByThreeWayOutput, error) { + req, out := c.MergePullRequestByThreeWayRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDefaultBranch = "UpdateDefaultBranch" +const opOverridePullRequestApprovalRules = "OverridePullRequestApprovalRules" -// UpdateDefaultBranchRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDefaultBranch operation. The "output" return +// OverridePullRequestApprovalRulesRequest generates a "aws/request.Request" representing the +// client's request for the OverridePullRequestApprovalRules 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 UpdateDefaultBranch for more information on using the UpdateDefaultBranch +// See OverridePullRequestApprovalRules for more information on using the OverridePullRequestApprovalRules // 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 UpdateDefaultBranchRequest method. -// req, resp := client.UpdateDefaultBranchRequest(params) +// // Example sending a request using the OverridePullRequestApprovalRulesRequest method. +// req, resp := client.OverridePullRequestApprovalRulesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateDefaultBranch -func (c *CodeCommit) UpdateDefaultBranchRequest(input *UpdateDefaultBranchInput) (req *request.Request, output *UpdateDefaultBranchOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/OverridePullRequestApprovalRules +func (c *CodeCommit) OverridePullRequestApprovalRulesRequest(input *OverridePullRequestApprovalRulesInput) (req *request.Request, output *OverridePullRequestApprovalRulesOutput) { op := &request.Operation{ - Name: opUpdateDefaultBranch, + Name: opOverridePullRequestApprovalRules, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateDefaultBranchInput{} + input = &OverridePullRequestApprovalRulesInput{} } - output = &UpdateDefaultBranchOutput{} + output = &OverridePullRequestApprovalRulesOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateDefaultBranch API operation for AWS CodeCommit. -// -// Sets or changes the default branch name for the specified repository. +// OverridePullRequestApprovalRules API operation for AWS CodeCommit. // -// If you use this operation to change the default branch name to the current -// default branch name, a success message is returned even though the default -// branch did not change. +// Sets aside (overrides) all approval rule requirements for a specified pull +// 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 AWS CodeCommit's -// API operation UpdateDefaultBranch for usage and error information. +// API operation OverridePullRequestApprovalRules for usage and error information. // // Returned Error Codes: -// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. // -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. // -// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. // -// This exception only occurs when a specified repository name is not valid. -// Other exceptions occur when a required repository parameter is missing, or -// when a specified repository does not exist. +// * ErrCodeInvalidRevisionIdException "InvalidRevisionIdException" +// The revision ID is not valid. Use GetPullRequest to determine the value. // -// * ErrCodeBranchNameRequiredException "BranchNameRequiredException" -// A branch name is required but was not specified. +// * ErrCodeRevisionIdRequiredException "RevisionIdRequiredException" +// A revision ID is required, but was not provided. // -// * ErrCodeInvalidBranchNameException "InvalidBranchNameException" -// The specified reference name is not valid. +// * ErrCodeInvalidOverrideStatusException "InvalidOverrideStatusException" +// The override status is not valid. Valid statuses are OVERRIDE and REVOKE. // -// * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException" -// The specified branch does not exist. +// * ErrCodeOverrideStatusRequiredException "OverrideStatusRequiredException" +// An override status is required, but no value was provided. Valid values include +// OVERRIDE and REVOKE. +// +// * ErrCodeOverrideAlreadySetException "OverrideAlreadySetException" +// The pull request has already had its approval rules set to override. +// +// * ErrCodeRevisionNotCurrentException "RevisionNotCurrentException" +// The revision ID provided in the request does not match the current revision +// ID. Use GetPullRequest to retrieve the current revision ID. +// +// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" +// The pull request status cannot be updated because it is already closed. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -7291,175 +7855,240 @@ func (c *CodeCommit) UpdateDefaultBranchRequest(input *UpdateDefaultBranchInput) // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateDefaultBranch -func (c *CodeCommit) UpdateDefaultBranch(input *UpdateDefaultBranchInput) (*UpdateDefaultBranchOutput, error) { - req, out := c.UpdateDefaultBranchRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/OverridePullRequestApprovalRules +func (c *CodeCommit) OverridePullRequestApprovalRules(input *OverridePullRequestApprovalRulesInput) (*OverridePullRequestApprovalRulesOutput, error) { + req, out := c.OverridePullRequestApprovalRulesRequest(input) return out, req.Send() } -// UpdateDefaultBranchWithContext is the same as UpdateDefaultBranch with the addition of +// OverridePullRequestApprovalRulesWithContext is the same as OverridePullRequestApprovalRules with the addition of // the ability to pass a context and additional request options. // -// See UpdateDefaultBranch for details on how to use this API operation. +// See OverridePullRequestApprovalRules for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) UpdateDefaultBranchWithContext(ctx aws.Context, input *UpdateDefaultBranchInput, opts ...request.Option) (*UpdateDefaultBranchOutput, error) { - req, out := c.UpdateDefaultBranchRequest(input) +func (c *CodeCommit) OverridePullRequestApprovalRulesWithContext(ctx aws.Context, input *OverridePullRequestApprovalRulesInput, opts ...request.Option) (*OverridePullRequestApprovalRulesOutput, error) { + req, out := c.OverridePullRequestApprovalRulesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdatePullRequestDescription = "UpdatePullRequestDescription" +const opPostCommentForComparedCommit = "PostCommentForComparedCommit" -// UpdatePullRequestDescriptionRequest generates a "aws/request.Request" representing the -// client's request for the UpdatePullRequestDescription operation. The "output" return +// PostCommentForComparedCommitRequest generates a "aws/request.Request" representing the +// client's request for the PostCommentForComparedCommit 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 UpdatePullRequestDescription for more information on using the UpdatePullRequestDescription +// See PostCommentForComparedCommit for more information on using the PostCommentForComparedCommit // 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 UpdatePullRequestDescriptionRequest method. -// req, resp := client.UpdatePullRequestDescriptionRequest(params) +// // Example sending a request using the PostCommentForComparedCommitRequest method. +// req, resp := client.PostCommentForComparedCommitRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestDescription -func (c *CodeCommit) UpdatePullRequestDescriptionRequest(input *UpdatePullRequestDescriptionInput) (req *request.Request, output *UpdatePullRequestDescriptionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentForComparedCommit +func (c *CodeCommit) PostCommentForComparedCommitRequest(input *PostCommentForComparedCommitInput) (req *request.Request, output *PostCommentForComparedCommitOutput) { op := &request.Operation{ - Name: opUpdatePullRequestDescription, + Name: opPostCommentForComparedCommit, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdatePullRequestDescriptionInput{} + input = &PostCommentForComparedCommitInput{} } - output = &UpdatePullRequestDescriptionOutput{} + output = &PostCommentForComparedCommitOutput{} req = c.newRequest(op, input, output) return } -// UpdatePullRequestDescription API operation for AWS CodeCommit. +// PostCommentForComparedCommit API operation for AWS CodeCommit. // -// Replaces the contents of the description of a pull request. +// Posts a comment on the comparison between two commits. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation UpdatePullRequestDescription for usage and error information. +// API operation PostCommentForComparedCommit for usage and error information. // // Returned Error Codes: -// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" -// The pull request ID could not be found. Make sure that you have specified -// the correct repository name and pull request ID, and then try again. +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. // -// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" -// The pull request ID is not valid. Make sure that you have provided the full -// ID and that the pull request is in the specified repository, and then try -// again. +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. // -// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" -// A pull request ID is required, but none was provided. +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. // -// * ErrCodeInvalidDescriptionException "InvalidDescriptionException" -// The pull request description is not valid. Descriptions are limited to 1,000 -// characters in length. +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. // -// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" -// The pull request status cannot be updated because it is already closed. +// * ErrCodeClientRequestTokenRequiredException "ClientRequestTokenRequiredException" +// A client request token is required. A client request token is an unique, +// client-generated idempotency token that, when provided in a request, ensures +// the request cannot be repeated with a changed parameter. If a request is +// received with the same parameters and a token is included, the request returns +// information about the initial request that used that token. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestDescription -func (c *CodeCommit) UpdatePullRequestDescription(input *UpdatePullRequestDescriptionInput) (*UpdatePullRequestDescriptionOutput, error) { - req, out := c.UpdatePullRequestDescriptionRequest(input) +// * ErrCodeInvalidClientRequestTokenException "InvalidClientRequestTokenException" +// The client request token is not valid. +// +// * ErrCodeIdempotencyParameterMismatchException "IdempotencyParameterMismatchException" +// The client request token is not valid. Either the token is not in a valid +// format, or the token has been used in a previous request and cannot be reused. +// +// * ErrCodeCommentContentRequiredException "CommentContentRequiredException" +// The comment is empty. You must provide some content for a comment. The content +// cannot be null. +// +// * ErrCodeCommentContentSizeLimitExceededException "CommentContentSizeLimitExceededException" +// The comment is too large. Comments are limited to 1,000 characters. +// +// * ErrCodeInvalidFileLocationException "InvalidFileLocationException" +// The location of the file is not valid. Make sure that you include the file +// name and extension. +// +// * ErrCodeInvalidRelativeFileVersionEnumException "InvalidRelativeFileVersionEnumException" +// Either the enum is not in a valid format, or the specified file version enum +// is not valid in respect to the current file version. +// +// * ErrCodePathRequiredException "PathRequiredException" +// The folderPath for a location cannot be null. +// +// * ErrCodeInvalidFilePositionException "InvalidFilePositionException" +// The position is not valid. Make sure that the line number exists in the version +// of the file you want to comment on. +// +// * ErrCodeCommitIdRequiredException "CommitIdRequiredException" +// A commit ID was not specified. +// +// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" +// The specified commit ID is not valid. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// * ErrCodeBeforeCommitIdAndAfterCommitIdAreSameException "BeforeCommitIdAndAfterCommitIdAreSameException" +// The before commit ID and the after commit ID are the same, which is not valid. +// The before commit ID and the after commit ID must be different commit IDs. +// +// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" +// The specified commit does not exist or no commit was specified, and the specified +// repository has no default branch. +// +// * ErrCodeInvalidPathException "InvalidPathException" +// The specified path is not valid. +// +// * ErrCodePathDoesNotExistException "PathDoesNotExistException" +// The specified path does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentForComparedCommit +func (c *CodeCommit) PostCommentForComparedCommit(input *PostCommentForComparedCommitInput) (*PostCommentForComparedCommitOutput, error) { + req, out := c.PostCommentForComparedCommitRequest(input) return out, req.Send() } -// UpdatePullRequestDescriptionWithContext is the same as UpdatePullRequestDescription with the addition of +// PostCommentForComparedCommitWithContext is the same as PostCommentForComparedCommit with the addition of // the ability to pass a context and additional request options. // -// See UpdatePullRequestDescription for details on how to use this API operation. +// See PostCommentForComparedCommit for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) UpdatePullRequestDescriptionWithContext(ctx aws.Context, input *UpdatePullRequestDescriptionInput, opts ...request.Option) (*UpdatePullRequestDescriptionOutput, error) { - req, out := c.UpdatePullRequestDescriptionRequest(input) +func (c *CodeCommit) PostCommentForComparedCommitWithContext(ctx aws.Context, input *PostCommentForComparedCommitInput, opts ...request.Option) (*PostCommentForComparedCommitOutput, error) { + req, out := c.PostCommentForComparedCommitRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdatePullRequestStatus = "UpdatePullRequestStatus" +const opPostCommentForPullRequest = "PostCommentForPullRequest" -// UpdatePullRequestStatusRequest generates a "aws/request.Request" representing the -// client's request for the UpdatePullRequestStatus operation. The "output" return +// PostCommentForPullRequestRequest generates a "aws/request.Request" representing the +// client's request for the PostCommentForPullRequest 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 UpdatePullRequestStatus for more information on using the UpdatePullRequestStatus +// See PostCommentForPullRequest for more information on using the PostCommentForPullRequest // 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 UpdatePullRequestStatusRequest method. -// req, resp := client.UpdatePullRequestStatusRequest(params) +// // Example sending a request using the PostCommentForPullRequestRequest method. +// req, resp := client.PostCommentForPullRequestRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestStatus -func (c *CodeCommit) UpdatePullRequestStatusRequest(input *UpdatePullRequestStatusInput) (req *request.Request, output *UpdatePullRequestStatusOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentForPullRequest +func (c *CodeCommit) PostCommentForPullRequestRequest(input *PostCommentForPullRequestInput) (req *request.Request, output *PostCommentForPullRequestOutput) { op := &request.Operation{ - Name: opUpdatePullRequestStatus, + Name: opPostCommentForPullRequest, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdatePullRequestStatusInput{} + input = &PostCommentForPullRequestInput{} } - output = &UpdatePullRequestStatusOutput{} + output = &PostCommentForPullRequestOutput{} req = c.newRequest(op, input, output) return } -// UpdatePullRequestStatus API operation for AWS CodeCommit. +// PostCommentForPullRequest API operation for AWS CodeCommit. // -// Updates the status of a pull request. +// Posts a comment on a pull 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 AWS CodeCommit's -// API operation UpdatePullRequestStatus for usage and error information. +// API operation PostCommentForPullRequest for usage and error information. // // Returned Error Codes: // * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" @@ -7474,16 +8103,65 @@ func (c *CodeCommit) UpdatePullRequestStatusRequest(input *UpdatePullRequestStat // * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" // A pull request ID is required, but none was provided. // -// * ErrCodeInvalidPullRequestStatusUpdateException "InvalidPullRequestStatusUpdateException" -// The pull request status update is not valid. The only valid update is from -// OPEN to CLOSED. +// * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException" +// The repository does not contain any pull requests with that pull request +// ID. Use GetPullRequest to verify the correct repository name for the pull +// request ID. // -// * ErrCodeInvalidPullRequestStatusException "InvalidPullRequestStatusException" -// The pull request status is not valid. The only valid values are OPEN and -// CLOSED. +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. // -// * ErrCodePullRequestStatusRequiredException "PullRequestStatusRequiredException" -// A pull request status is required, but none was provided. +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. +// +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * ErrCodeClientRequestTokenRequiredException "ClientRequestTokenRequiredException" +// A client request token is required. A client request token is an unique, +// client-generated idempotency token that, when provided in a request, ensures +// the request cannot be repeated with a changed parameter. If a request is +// received with the same parameters and a token is included, the request returns +// information about the initial request that used that token. +// +// * ErrCodeInvalidClientRequestTokenException "InvalidClientRequestTokenException" +// The client request token is not valid. +// +// * ErrCodeIdempotencyParameterMismatchException "IdempotencyParameterMismatchException" +// The client request token is not valid. Either the token is not in a valid +// format, or the token has been used in a previous request and cannot be reused. +// +// * ErrCodeCommentContentRequiredException "CommentContentRequiredException" +// The comment is empty. You must provide some content for a comment. The content +// cannot be null. +// +// * ErrCodeCommentContentSizeLimitExceededException "CommentContentSizeLimitExceededException" +// The comment is too large. Comments are limited to 1,000 characters. +// +// * ErrCodeInvalidFileLocationException "InvalidFileLocationException" +// The location of the file is not valid. Make sure that you include the file +// name and extension. +// +// * ErrCodeInvalidRelativeFileVersionEnumException "InvalidRelativeFileVersionEnumException" +// Either the enum is not in a valid format, or the specified file version enum +// is not valid in respect to the current file version. +// +// * ErrCodePathRequiredException "PathRequiredException" +// The folderPath for a location cannot be null. +// +// * ErrCodeInvalidFilePositionException "InvalidFilePositionException" +// The position is not valid. Make sure that the line number exists in the version +// of the file you want to comment on. +// +// * ErrCodeCommitIdRequiredException "CommitIdRequiredException" +// A commit ID was not specified. +// +// * ErrCodeInvalidCommitIdException "InvalidCommitIdException" +// The specified commit ID is not valid. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -7500,202 +8178,294 @@ func (c *CodeCommit) UpdatePullRequestStatusRequest(input *UpdatePullRequestStat // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestStatus -func (c *CodeCommit) UpdatePullRequestStatus(input *UpdatePullRequestStatusInput) (*UpdatePullRequestStatusOutput, error) { - req, out := c.UpdatePullRequestStatusRequest(input) +// * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException" +// The specified commit does not exist or no commit was specified, and the specified +// repository has no default branch. +// +// * ErrCodeInvalidPathException "InvalidPathException" +// The specified path is not valid. +// +// * ErrCodePathDoesNotExistException "PathDoesNotExistException" +// The specified path does not exist. +// +// * ErrCodePathRequiredException "PathRequiredException" +// The folderPath for a location cannot be null. +// +// * ErrCodeBeforeCommitIdAndAfterCommitIdAreSameException "BeforeCommitIdAndAfterCommitIdAreSameException" +// The before commit ID and the after commit ID are the same, which is not valid. +// The before commit ID and the after commit ID must be different commit IDs. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentForPullRequest +func (c *CodeCommit) PostCommentForPullRequest(input *PostCommentForPullRequestInput) (*PostCommentForPullRequestOutput, error) { + req, out := c.PostCommentForPullRequestRequest(input) return out, req.Send() } -// UpdatePullRequestStatusWithContext is the same as UpdatePullRequestStatus with the addition of +// PostCommentForPullRequestWithContext is the same as PostCommentForPullRequest with the addition of // the ability to pass a context and additional request options. // -// See UpdatePullRequestStatus for details on how to use this API operation. +// See PostCommentForPullRequest for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) UpdatePullRequestStatusWithContext(ctx aws.Context, input *UpdatePullRequestStatusInput, opts ...request.Option) (*UpdatePullRequestStatusOutput, error) { - req, out := c.UpdatePullRequestStatusRequest(input) +func (c *CodeCommit) PostCommentForPullRequestWithContext(ctx aws.Context, input *PostCommentForPullRequestInput, opts ...request.Option) (*PostCommentForPullRequestOutput, error) { + req, out := c.PostCommentForPullRequestRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdatePullRequestTitle = "UpdatePullRequestTitle" +const opPostCommentReply = "PostCommentReply" -// UpdatePullRequestTitleRequest generates a "aws/request.Request" representing the -// client's request for the UpdatePullRequestTitle operation. The "output" return +// PostCommentReplyRequest generates a "aws/request.Request" representing the +// client's request for the PostCommentReply 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 UpdatePullRequestTitle for more information on using the UpdatePullRequestTitle +// See PostCommentReply for more information on using the PostCommentReply // 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 UpdatePullRequestTitleRequest method. -// req, resp := client.UpdatePullRequestTitleRequest(params) +// // Example sending a request using the PostCommentReplyRequest method. +// req, resp := client.PostCommentReplyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestTitle -func (c *CodeCommit) UpdatePullRequestTitleRequest(input *UpdatePullRequestTitleInput) (req *request.Request, output *UpdatePullRequestTitleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentReply +func (c *CodeCommit) PostCommentReplyRequest(input *PostCommentReplyInput) (req *request.Request, output *PostCommentReplyOutput) { op := &request.Operation{ - Name: opUpdatePullRequestTitle, + Name: opPostCommentReply, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdatePullRequestTitleInput{} + input = &PostCommentReplyInput{} } - output = &UpdatePullRequestTitleOutput{} + output = &PostCommentReplyOutput{} req = c.newRequest(op, input, output) return } -// UpdatePullRequestTitle API operation for AWS CodeCommit. +// PostCommentReply API operation for AWS CodeCommit. // -// Replaces the title of a pull request. +// Posts a comment in reply to an existing comment on a comparison between commits +// or a pull 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 AWS CodeCommit's -// API operation UpdatePullRequestTitle for usage and error information. +// API operation PostCommentReply for usage and error information. // // Returned Error Codes: -// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" -// The pull request ID could not be found. Make sure that you have specified -// the correct repository name and pull request ID, and then try again. -// -// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" -// The pull request ID is not valid. Make sure that you have provided the full -// ID and that the pull request is in the specified repository, and then try -// again. +// * ErrCodeClientRequestTokenRequiredException "ClientRequestTokenRequiredException" +// A client request token is required. A client request token is an unique, +// client-generated idempotency token that, when provided in a request, ensures +// the request cannot be repeated with a changed parameter. If a request is +// received with the same parameters and a token is included, the request returns +// information about the initial request that used that token. // -// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" -// A pull request ID is required, but none was provided. +// * ErrCodeInvalidClientRequestTokenException "InvalidClientRequestTokenException" +// The client request token is not valid. // -// * ErrCodeTitleRequiredException "TitleRequiredException" -// A pull request title is required. It cannot be empty or null. +// * ErrCodeIdempotencyParameterMismatchException "IdempotencyParameterMismatchException" +// The client request token is not valid. Either the token is not in a valid +// format, or the token has been used in a previous request and cannot be reused. // -// * ErrCodeInvalidTitleException "InvalidTitleException" -// The title of the pull request is not valid. Pull request titles cannot exceed -// 100 characters in length. +// * ErrCodeCommentContentRequiredException "CommentContentRequiredException" +// The comment is empty. You must provide some content for a comment. The content +// cannot be null. // -// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" -// The pull request status cannot be updated because it is already closed. +// * ErrCodeCommentContentSizeLimitExceededException "CommentContentSizeLimitExceededException" +// The comment is too large. Comments are limited to 1,000 characters. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestTitle -func (c *CodeCommit) UpdatePullRequestTitle(input *UpdatePullRequestTitleInput) (*UpdatePullRequestTitleOutput, error) { - req, out := c.UpdatePullRequestTitleRequest(input) +// * ErrCodeCommentDoesNotExistException "CommentDoesNotExistException" +// No comment exists with the provided ID. Verify that you have used the correct +// ID, and then try again. +// +// * ErrCodeCommentIdRequiredException "CommentIdRequiredException" +// The comment ID is missing or null. A comment ID is required. +// +// * ErrCodeInvalidCommentIdException "InvalidCommentIdException" +// The comment ID is not in a valid format. Make sure that you have provided +// the full comment ID. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentReply +func (c *CodeCommit) PostCommentReply(input *PostCommentReplyInput) (*PostCommentReplyOutput, error) { + req, out := c.PostCommentReplyRequest(input) return out, req.Send() } -// UpdatePullRequestTitleWithContext is the same as UpdatePullRequestTitle with the addition of +// PostCommentReplyWithContext is the same as PostCommentReply with the addition of // the ability to pass a context and additional request options. // -// See UpdatePullRequestTitle for details on how to use this API operation. +// See PostCommentReply for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeCommit) UpdatePullRequestTitleWithContext(ctx aws.Context, input *UpdatePullRequestTitleInput, opts ...request.Option) (*UpdatePullRequestTitleOutput, error) { - req, out := c.UpdatePullRequestTitleRequest(input) +func (c *CodeCommit) PostCommentReplyWithContext(ctx aws.Context, input *PostCommentReplyInput, opts ...request.Option) (*PostCommentReplyOutput, error) { + req, out := c.PostCommentReplyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateRepositoryDescription = "UpdateRepositoryDescription" +const opPutFile = "PutFile" -// UpdateRepositoryDescriptionRequest generates a "aws/request.Request" representing the -// client's request for the UpdateRepositoryDescription operation. The "output" return +// PutFileRequest generates a "aws/request.Request" representing the +// client's request for the PutFile 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 UpdateRepositoryDescription for more information on using the UpdateRepositoryDescription +// See PutFile for more information on using the PutFile // 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 UpdateRepositoryDescriptionRequest method. -// req, resp := client.UpdateRepositoryDescriptionRequest(params) +// // Example sending a request using the PutFileRequest method. +// req, resp := client.PutFileRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryDescription -func (c *CodeCommit) UpdateRepositoryDescriptionRequest(input *UpdateRepositoryDescriptionInput) (req *request.Request, output *UpdateRepositoryDescriptionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutFile +func (c *CodeCommit) PutFileRequest(input *PutFileInput) (req *request.Request, output *PutFileOutput) { op := &request.Operation{ - Name: opUpdateRepositoryDescription, + Name: opPutFile, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateRepositoryDescriptionInput{} + input = &PutFileInput{} } - output = &UpdateRepositoryDescriptionOutput{} + output = &PutFileOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateRepositoryDescription API operation for AWS CodeCommit. -// -// Sets or changes the comment or description for a repository. +// PutFile API operation for AWS CodeCommit. // -// The description field for a repository accepts all HTML characters and all -// valid Unicode characters. Applications that do not HTML-encode the description -// and display it in a web page could expose users to potentially malicious -// code. Make sure that you HTML-encode the description field in any application -// that uses this API to display the repository description on a web page. +// Adds or updates a file in a branch in an AWS CodeCommit repository, and generates +// a commit for the addition in the specified branch. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeCommit's -// API operation UpdateRepositoryDescription for usage and error information. +// API operation PutFile for usage and error information. // // Returned Error Codes: // * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. -// -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. +// A repository name is required, but was not specified. // // * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. +// A specified repository name is not valid. // -// This exception only occurs when a specified repository name is not valid. +// This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. // -// * ErrCodeInvalidRepositoryDescriptionException "InvalidRepositoryDescriptionException" -// The specified repository description is not valid. +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeParentCommitIdRequiredException "ParentCommitIdRequiredException" +// A parent commit ID is required. To view the full commit ID of a branch in +// a repository, use GetBranch or a Git command (for example, git pull or git +// log). +// +// * ErrCodeInvalidParentCommitIdException "InvalidParentCommitIdException" +// The parent commit ID is not valid. The commit ID cannot be empty, and must +// match the head commit ID for the branch of the repository where you want +// to add or update a file. +// +// * ErrCodeParentCommitDoesNotExistException "ParentCommitDoesNotExistException" +// The parent commit ID is not valid because it does not exist. The specified +// parent commit ID does not exist in the specified branch of the repository. +// +// * ErrCodeParentCommitIdOutdatedException "ParentCommitIdOutdatedException" +// The file could not be added because the provided parent commit ID is not +// the current tip of the specified branch. To view the full commit ID of the +// current head of the branch, use GetBranch. +// +// * ErrCodeFileContentRequiredException "FileContentRequiredException" +// The file cannot be added because it is empty. Empty files cannot be added +// to the repository with this API. +// +// * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException" +// The file cannot be added because it is too large. The maximum file size is +// 6 MB, and the combined file content change size is 7 MB. Consider making +// these changes using a Git client. +// +// * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException" +// The commit cannot be created because at least one of the overall changes +// in the commit results in a folder whose contents exceed the limit of 6 MB. +// Either reduce the number and size of your changes, or split the changes across +// multiple folders. +// +// * ErrCodePathRequiredException "PathRequiredException" +// The folderPath for a location cannot be null. +// +// * ErrCodeInvalidPathException "InvalidPathException" +// The specified path is not valid. +// +// * ErrCodeBranchNameRequiredException "BranchNameRequiredException" +// A branch name is required, but was not specified. +// +// * ErrCodeInvalidBranchNameException "InvalidBranchNameException" +// The specified reference name is not valid. +// +// * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException" +// The specified branch does not exist. +// +// * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException" +// The specified branch name is not valid because it is a tag name. Enter the +// name of a branch in the repository. For a list of valid branch names, use +// ListBranches. +// +// * ErrCodeInvalidFileModeException "InvalidFileModeException" +// The specified file mode permission is not valid. For a list of valid file +// mode permissions, see PutFile. +// +// * ErrCodeNameLengthExceededException "NameLengthExceededException" +// The user name is not valid because it has exceeded the character limit for +// author names. +// +// * ErrCodeInvalidEmailException "InvalidEmailException" +// The specified email address either contains one or more characters that are +// not allowed, or it exceeds the maximum number of characters allowed for an +// email address. +// +// * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException" +// The commit message is too long. Provide a shorter string. +// +// * ErrCodeInvalidDeletionParameterException "InvalidDeletionParameterException" +// The specified deletion parameter is not valid. // // * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" // An encryption integrity check failed. @@ -7712,127 +8482,2408 @@ func (c *CodeCommit) UpdateRepositoryDescriptionRequest(input *UpdateRepositoryD // * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" // The encryption key is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryDescription -func (c *CodeCommit) UpdateRepositoryDescription(input *UpdateRepositoryDescriptionInput) (*UpdateRepositoryDescriptionOutput, error) { - req, out := c.UpdateRepositoryDescriptionRequest(input) +// * ErrCodeSameFileContentException "SameFileContentException" +// The file was not added or updated because the content of the file is exactly +// the same as the content of that file in the repository and branch that you +// specified. +// +// * ErrCodeFileNameConflictsWithDirectoryNameException "FileNameConflictsWithDirectoryNameException" +// A file cannot be added to the repository because the specified file name +// has the same name as a directory in this repository. Either provide another +// name for the file, or add the file in a directory that does not match the +// file name. +// +// * ErrCodeDirectoryNameConflictsWithFileNameException "DirectoryNameConflictsWithFileNameException" +// A file cannot be added to the repository because the specified path name +// has the same name as a file that already exists in this repository. Either +// provide a different name for the file, or specify a different path for the +// file. +// +// * ErrCodeFilePathConflictsWithSubmodulePathException "FilePathConflictsWithSubmodulePathException" +// The commit cannot be created because a specified file path points to a submodule. +// Verify that the destination files have valid file paths that do not point +// to a submodule. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutFile +func (c *CodeCommit) PutFile(input *PutFileInput) (*PutFileOutput, error) { + req, out := c.PutFileRequest(input) + return out, req.Send() +} + +// PutFileWithContext is the same as PutFile with the addition of +// the ability to pass a context and additional request options. +// +// See PutFile for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) PutFileWithContext(ctx aws.Context, input *PutFileInput, opts ...request.Option) (*PutFileOutput, error) { + req, out := c.PutFileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) return out, req.Send() } -// UpdateRepositoryDescriptionWithContext is the same as UpdateRepositoryDescription with the addition of -// the ability to pass a context and additional request options. -// -// See UpdateRepositoryDescription for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *CodeCommit) UpdateRepositoryDescriptionWithContext(ctx aws.Context, input *UpdateRepositoryDescriptionInput, opts ...request.Option) (*UpdateRepositoryDescriptionOutput, error) { - req, out := c.UpdateRepositoryDescriptionRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() +const opPutRepositoryTriggers = "PutRepositoryTriggers" + +// PutRepositoryTriggersRequest generates a "aws/request.Request" representing the +// client's request for the PutRepositoryTriggers 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 PutRepositoryTriggers for more information on using the PutRepositoryTriggers +// 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 PutRepositoryTriggersRequest method. +// req, resp := client.PutRepositoryTriggersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutRepositoryTriggers +func (c *CodeCommit) PutRepositoryTriggersRequest(input *PutRepositoryTriggersInput) (req *request.Request, output *PutRepositoryTriggersOutput) { + op := &request.Operation{ + Name: opPutRepositoryTriggers, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutRepositoryTriggersInput{} + } + + output = &PutRepositoryTriggersOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutRepositoryTriggers API operation for AWS CodeCommit. +// +// Replaces all triggers for a repository. Used to create or delete triggers. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation PutRepositoryTriggers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. +// +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. +// +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * ErrCodeRepositoryTriggersListRequiredException "RepositoryTriggersListRequiredException" +// The list of triggers for the repository is required, but was not specified. +// +// * ErrCodeMaximumRepositoryTriggersExceededException "MaximumRepositoryTriggersExceededException" +// The number of triggers allowed for the repository was exceeded. +// +// * ErrCodeInvalidRepositoryTriggerNameException "InvalidRepositoryTriggerNameException" +// The name of the trigger is not valid. +// +// * ErrCodeInvalidRepositoryTriggerDestinationArnException "InvalidRepositoryTriggerDestinationArnException" +// The Amazon Resource Name (ARN) for the trigger is not valid for the specified +// destination. The most common reason for this error is that the ARN does not +// meet the requirements for the service type. +// +// * ErrCodeInvalidRepositoryTriggerRegionException "InvalidRepositoryTriggerRegionException" +// The AWS Region for the trigger target does not match the AWS Region for the +// repository. Triggers must be created in the same Region as the target for +// the trigger. +// +// * ErrCodeInvalidRepositoryTriggerCustomDataException "InvalidRepositoryTriggerCustomDataException" +// The custom data provided for the trigger is not valid. +// +// * ErrCodeMaximumBranchesExceededException "MaximumBranchesExceededException" +// The number of branches for the trigger was exceeded. +// +// * ErrCodeInvalidRepositoryTriggerBranchNameException "InvalidRepositoryTriggerBranchNameException" +// One or more branch names specified for the trigger is not valid. +// +// * ErrCodeInvalidRepositoryTriggerEventsException "InvalidRepositoryTriggerEventsException" +// One or more events specified for the trigger is not valid. Check to make +// sure that all events specified match the requirements for allowed events. +// +// * ErrCodeRepositoryTriggerNameRequiredException "RepositoryTriggerNameRequiredException" +// A name for the trigger is required, but was not specified. +// +// * ErrCodeRepositoryTriggerDestinationArnRequiredException "RepositoryTriggerDestinationArnRequiredException" +// A destination ARN for the target service for the trigger is required, but +// was not specified. +// +// * ErrCodeRepositoryTriggerBranchNameListRequiredException "RepositoryTriggerBranchNameListRequiredException" +// At least one branch name is required, but was not specified in the trigger +// configuration. +// +// * ErrCodeRepositoryTriggerEventsListRequiredException "RepositoryTriggerEventsListRequiredException" +// At least one event for the trigger is required, but was not specified. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutRepositoryTriggers +func (c *CodeCommit) PutRepositoryTriggers(input *PutRepositoryTriggersInput) (*PutRepositoryTriggersOutput, error) { + req, out := c.PutRepositoryTriggersRequest(input) + return out, req.Send() +} + +// PutRepositoryTriggersWithContext is the same as PutRepositoryTriggers with the addition of +// the ability to pass a context and additional request options. +// +// See PutRepositoryTriggers for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) PutRepositoryTriggersWithContext(ctx aws.Context, input *PutRepositoryTriggersInput, opts ...request.Option) (*PutRepositoryTriggersOutput, error) { + req, out := c.PutRepositoryTriggersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + 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/codecommit-2015-04-13/TagResource +func (c *CodeCommit) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS CodeCommit. +// +// Adds or updates tags for a resource in AWS CodeCommit. For a list of valid +// resources in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) +// in the AWS CodeCommit 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 AWS CodeCommit's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. +// +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * ErrCodeResourceArnRequiredException "ResourceArnRequiredException" +// A valid Amazon Resource Name (ARN) for an AWS CodeCommit resource is required. +// For a list of valid resources in AWS CodeCommit, see CodeCommit Resources +// and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) +// in the AWS CodeCommit User Guide. +// +// * ErrCodeInvalidResourceArnException "InvalidResourceArnException" +// The value for the resource ARN is not valid. For more information about resources +// in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) +// in the AWS CodeCommit User Guide. +// +// * ErrCodeTagsMapRequiredException "TagsMapRequiredException" +// A map of tags is required. +// +// * ErrCodeInvalidTagsMapException "InvalidTagsMapException" +// The map of tags is not valid. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// The maximum number of tags for an AWS CodeCommit resource has been exceeded. +// +// * ErrCodeInvalidSystemTagUsageException "InvalidSystemTagUsageException" +// The specified tag is not valid. Key names cannot be prefixed with aws:. +// +// * ErrCodeTagPolicyException "TagPolicyException" +// The tag policy is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/TagResource +func (c *CodeCommit) 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 *CodeCommit) 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 opTestRepositoryTriggers = "TestRepositoryTriggers" + +// TestRepositoryTriggersRequest generates a "aws/request.Request" representing the +// client's request for the TestRepositoryTriggers 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 TestRepositoryTriggers for more information on using the TestRepositoryTriggers +// 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 TestRepositoryTriggersRequest method. +// req, resp := client.TestRepositoryTriggersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/TestRepositoryTriggers +func (c *CodeCommit) TestRepositoryTriggersRequest(input *TestRepositoryTriggersInput) (req *request.Request, output *TestRepositoryTriggersOutput) { + op := &request.Operation{ + Name: opTestRepositoryTriggers, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TestRepositoryTriggersInput{} + } + + output = &TestRepositoryTriggersOutput{} + req = c.newRequest(op, input, output) + return +} + +// TestRepositoryTriggers API operation for AWS CodeCommit. +// +// Tests the functionality of repository triggers by sending information to +// the trigger target. If real data is available in the repository, the test +// sends data from the last commit. If no data is available, sample data is +// generated. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation TestRepositoryTriggers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. +// +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. +// +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * ErrCodeRepositoryTriggersListRequiredException "RepositoryTriggersListRequiredException" +// The list of triggers for the repository is required, but was not specified. +// +// * ErrCodeMaximumRepositoryTriggersExceededException "MaximumRepositoryTriggersExceededException" +// The number of triggers allowed for the repository was exceeded. +// +// * ErrCodeInvalidRepositoryTriggerNameException "InvalidRepositoryTriggerNameException" +// The name of the trigger is not valid. +// +// * ErrCodeInvalidRepositoryTriggerDestinationArnException "InvalidRepositoryTriggerDestinationArnException" +// The Amazon Resource Name (ARN) for the trigger is not valid for the specified +// destination. The most common reason for this error is that the ARN does not +// meet the requirements for the service type. +// +// * ErrCodeInvalidRepositoryTriggerRegionException "InvalidRepositoryTriggerRegionException" +// The AWS Region for the trigger target does not match the AWS Region for the +// repository. Triggers must be created in the same Region as the target for +// the trigger. +// +// * ErrCodeInvalidRepositoryTriggerCustomDataException "InvalidRepositoryTriggerCustomDataException" +// The custom data provided for the trigger is not valid. +// +// * ErrCodeMaximumBranchesExceededException "MaximumBranchesExceededException" +// The number of branches for the trigger was exceeded. +// +// * ErrCodeInvalidRepositoryTriggerBranchNameException "InvalidRepositoryTriggerBranchNameException" +// One or more branch names specified for the trigger is not valid. +// +// * ErrCodeInvalidRepositoryTriggerEventsException "InvalidRepositoryTriggerEventsException" +// One or more events specified for the trigger is not valid. Check to make +// sure that all events specified match the requirements for allowed events. +// +// * ErrCodeRepositoryTriggerNameRequiredException "RepositoryTriggerNameRequiredException" +// A name for the trigger is required, but was not specified. +// +// * ErrCodeRepositoryTriggerDestinationArnRequiredException "RepositoryTriggerDestinationArnRequiredException" +// A destination ARN for the target service for the trigger is required, but +// was not specified. +// +// * ErrCodeRepositoryTriggerBranchNameListRequiredException "RepositoryTriggerBranchNameListRequiredException" +// At least one branch name is required, but was not specified in the trigger +// configuration. +// +// * ErrCodeRepositoryTriggerEventsListRequiredException "RepositoryTriggerEventsListRequiredException" +// At least one event for the trigger is required, but was not specified. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/TestRepositoryTriggers +func (c *CodeCommit) TestRepositoryTriggers(input *TestRepositoryTriggersInput) (*TestRepositoryTriggersOutput, error) { + req, out := c.TestRepositoryTriggersRequest(input) + return out, req.Send() +} + +// TestRepositoryTriggersWithContext is the same as TestRepositoryTriggers with the addition of +// the ability to pass a context and additional request options. +// +// See TestRepositoryTriggers for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) TestRepositoryTriggersWithContext(ctx aws.Context, input *TestRepositoryTriggersInput, opts ...request.Option) (*TestRepositoryTriggersOutput, error) { + req, out := c.TestRepositoryTriggersRequest(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/codecommit-2015-04-13/UntagResource +func (c *CodeCommit) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS CodeCommit. +// +// Removes tags for a resource in AWS CodeCommit. For a list of valid resources +// in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) +// in the AWS CodeCommit 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 AWS CodeCommit's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. +// +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * ErrCodeResourceArnRequiredException "ResourceArnRequiredException" +// A valid Amazon Resource Name (ARN) for an AWS CodeCommit resource is required. +// For a list of valid resources in AWS CodeCommit, see CodeCommit Resources +// and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) +// in the AWS CodeCommit User Guide. +// +// * ErrCodeInvalidResourceArnException "InvalidResourceArnException" +// The value for the resource ARN is not valid. For more information about resources +// in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats) +// in the AWS CodeCommit User Guide. +// +// * ErrCodeTagKeysListRequiredException "TagKeysListRequiredException" +// A list of tag keys is required. The list cannot be empty or null. +// +// * ErrCodeInvalidTagKeysListException "InvalidTagKeysListException" +// The list of tags is not valid. +// +// * ErrCodeTooManyTagsException "TooManyTagsException" +// The maximum number of tags for an AWS CodeCommit resource has been exceeded. +// +// * ErrCodeInvalidSystemTagUsageException "InvalidSystemTagUsageException" +// The specified tag is not valid. Key names cannot be prefixed with aws:. +// +// * ErrCodeTagPolicyException "TagPolicyException" +// The tag policy is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UntagResource +func (c *CodeCommit) 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 *CodeCommit) 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 opUpdateApprovalRuleTemplateContent = "UpdateApprovalRuleTemplateContent" + +// UpdateApprovalRuleTemplateContentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApprovalRuleTemplateContent 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 UpdateApprovalRuleTemplateContent for more information on using the UpdateApprovalRuleTemplateContent +// 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 UpdateApprovalRuleTemplateContentRequest method. +// req, resp := client.UpdateApprovalRuleTemplateContentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateApprovalRuleTemplateContent +func (c *CodeCommit) UpdateApprovalRuleTemplateContentRequest(input *UpdateApprovalRuleTemplateContentInput) (req *request.Request, output *UpdateApprovalRuleTemplateContentOutput) { + op := &request.Operation{ + Name: opUpdateApprovalRuleTemplateContent, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateApprovalRuleTemplateContentInput{} + } + + output = &UpdateApprovalRuleTemplateContentOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateApprovalRuleTemplateContent API operation for AWS CodeCommit. +// +// Updates the content of an approval rule template. You can change the number +// of required approvals, the membership of the approval rule, and whether an +// approval pool is defined. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation UpdateApprovalRuleTemplateContent for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException" +// The name of the approval rule template is not valid. Template names must +// be between 1 and 100 valid characters in length. For more information about +// limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException" +// An approval rule template name is required, but was not specified. +// +// * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException" +// The specified approval rule template does not exist. Verify that the name +// is correct and that you are signed in to the AWS Region where the template +// was created, and then try again. +// +// * ErrCodeInvalidApprovalRuleTemplateContentException "InvalidApprovalRuleTemplateContentException" +// The content of the approval rule template is not valid. +// +// * ErrCodeInvalidRuleContentSha256Exception "InvalidRuleContentSha256Exception" +// The SHA-256 hash signature for the rule content is not valid. +// +// * ErrCodeApprovalRuleTemplateContentRequiredException "ApprovalRuleTemplateContentRequiredException" +// The content for the approval rule template is empty. You must provide some +// content for an approval rule template. The content cannot be null. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateApprovalRuleTemplateContent +func (c *CodeCommit) UpdateApprovalRuleTemplateContent(input *UpdateApprovalRuleTemplateContentInput) (*UpdateApprovalRuleTemplateContentOutput, error) { + req, out := c.UpdateApprovalRuleTemplateContentRequest(input) + return out, req.Send() +} + +// UpdateApprovalRuleTemplateContentWithContext is the same as UpdateApprovalRuleTemplateContent with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateApprovalRuleTemplateContent for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) UpdateApprovalRuleTemplateContentWithContext(ctx aws.Context, input *UpdateApprovalRuleTemplateContentInput, opts ...request.Option) (*UpdateApprovalRuleTemplateContentOutput, error) { + req, out := c.UpdateApprovalRuleTemplateContentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateApprovalRuleTemplateDescription = "UpdateApprovalRuleTemplateDescription" + +// UpdateApprovalRuleTemplateDescriptionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApprovalRuleTemplateDescription 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 UpdateApprovalRuleTemplateDescription for more information on using the UpdateApprovalRuleTemplateDescription +// 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 UpdateApprovalRuleTemplateDescriptionRequest method. +// req, resp := client.UpdateApprovalRuleTemplateDescriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateApprovalRuleTemplateDescription +func (c *CodeCommit) UpdateApprovalRuleTemplateDescriptionRequest(input *UpdateApprovalRuleTemplateDescriptionInput) (req *request.Request, output *UpdateApprovalRuleTemplateDescriptionOutput) { + op := &request.Operation{ + Name: opUpdateApprovalRuleTemplateDescription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateApprovalRuleTemplateDescriptionInput{} + } + + output = &UpdateApprovalRuleTemplateDescriptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateApprovalRuleTemplateDescription API operation for AWS CodeCommit. +// +// Updates the description for a specified approval rule template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation UpdateApprovalRuleTemplateDescription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException" +// The name of the approval rule template is not valid. Template names must +// be between 1 and 100 valid characters in length. For more information about +// limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException" +// An approval rule template name is required, but was not specified. +// +// * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException" +// The specified approval rule template does not exist. Verify that the name +// is correct and that you are signed in to the AWS Region where the template +// was created, and then try again. +// +// * ErrCodeInvalidApprovalRuleTemplateDescriptionException "InvalidApprovalRuleTemplateDescriptionException" +// The description for the approval rule template is not valid because it exceeds +// the maximum characters allowed for a description. For more information about +// limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateApprovalRuleTemplateDescription +func (c *CodeCommit) UpdateApprovalRuleTemplateDescription(input *UpdateApprovalRuleTemplateDescriptionInput) (*UpdateApprovalRuleTemplateDescriptionOutput, error) { + req, out := c.UpdateApprovalRuleTemplateDescriptionRequest(input) + return out, req.Send() +} + +// UpdateApprovalRuleTemplateDescriptionWithContext is the same as UpdateApprovalRuleTemplateDescription with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateApprovalRuleTemplateDescription for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) UpdateApprovalRuleTemplateDescriptionWithContext(ctx aws.Context, input *UpdateApprovalRuleTemplateDescriptionInput, opts ...request.Option) (*UpdateApprovalRuleTemplateDescriptionOutput, error) { + req, out := c.UpdateApprovalRuleTemplateDescriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateApprovalRuleTemplateName = "UpdateApprovalRuleTemplateName" + +// UpdateApprovalRuleTemplateNameRequest generates a "aws/request.Request" representing the +// client's request for the UpdateApprovalRuleTemplateName 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 UpdateApprovalRuleTemplateName for more information on using the UpdateApprovalRuleTemplateName +// 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 UpdateApprovalRuleTemplateNameRequest method. +// req, resp := client.UpdateApprovalRuleTemplateNameRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateApprovalRuleTemplateName +func (c *CodeCommit) UpdateApprovalRuleTemplateNameRequest(input *UpdateApprovalRuleTemplateNameInput) (req *request.Request, output *UpdateApprovalRuleTemplateNameOutput) { + op := &request.Operation{ + Name: opUpdateApprovalRuleTemplateName, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateApprovalRuleTemplateNameInput{} + } + + output = &UpdateApprovalRuleTemplateNameOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateApprovalRuleTemplateName API operation for AWS CodeCommit. +// +// Updates the name of a specified approval rule template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation UpdateApprovalRuleTemplateName for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException" +// The name of the approval rule template is not valid. Template names must +// be between 1 and 100 valid characters in length. For more information about +// limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). +// +// * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException" +// An approval rule template name is required, but was not specified. +// +// * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException" +// The specified approval rule template does not exist. Verify that the name +// is correct and that you are signed in to the AWS Region where the template +// was created, and then try again. +// +// * ErrCodeApprovalRuleTemplateNameAlreadyExistsException "ApprovalRuleTemplateNameAlreadyExistsException" +// You cannot create an approval rule template with that name because a template +// with that name already exists in this AWS Region for your AWS account. Approval +// rule template names must be unique. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateApprovalRuleTemplateName +func (c *CodeCommit) UpdateApprovalRuleTemplateName(input *UpdateApprovalRuleTemplateNameInput) (*UpdateApprovalRuleTemplateNameOutput, error) { + req, out := c.UpdateApprovalRuleTemplateNameRequest(input) + return out, req.Send() +} + +// UpdateApprovalRuleTemplateNameWithContext is the same as UpdateApprovalRuleTemplateName with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateApprovalRuleTemplateName for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) UpdateApprovalRuleTemplateNameWithContext(ctx aws.Context, input *UpdateApprovalRuleTemplateNameInput, opts ...request.Option) (*UpdateApprovalRuleTemplateNameOutput, error) { + req, out := c.UpdateApprovalRuleTemplateNameRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateComment = "UpdateComment" + +// UpdateCommentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateComment 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 UpdateComment for more information on using the UpdateComment +// 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 UpdateCommentRequest method. +// req, resp := client.UpdateCommentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateComment +func (c *CodeCommit) UpdateCommentRequest(input *UpdateCommentInput) (req *request.Request, output *UpdateCommentOutput) { + op := &request.Operation{ + Name: opUpdateComment, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateCommentInput{} + } + + output = &UpdateCommentOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateComment API operation for AWS CodeCommit. +// +// Replaces the contents of a comment. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation UpdateComment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeCommentContentRequiredException "CommentContentRequiredException" +// The comment is empty. You must provide some content for a comment. The content +// cannot be null. +// +// * ErrCodeCommentContentSizeLimitExceededException "CommentContentSizeLimitExceededException" +// The comment is too large. Comments are limited to 1,000 characters. +// +// * ErrCodeCommentDoesNotExistException "CommentDoesNotExistException" +// No comment exists with the provided ID. Verify that you have used the correct +// ID, and then try again. +// +// * ErrCodeCommentIdRequiredException "CommentIdRequiredException" +// The comment ID is missing or null. A comment ID is required. +// +// * ErrCodeInvalidCommentIdException "InvalidCommentIdException" +// The comment ID is not in a valid format. Make sure that you have provided +// the full comment ID. +// +// * ErrCodeCommentNotCreatedByCallerException "CommentNotCreatedByCallerException" +// You cannot modify or delete this comment. Only comment authors can modify +// or delete their comments. +// +// * ErrCodeCommentDeletedException "CommentDeletedException" +// This comment has already been deleted. You cannot edit or delete a deleted +// comment. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateComment +func (c *CodeCommit) UpdateComment(input *UpdateCommentInput) (*UpdateCommentOutput, error) { + req, out := c.UpdateCommentRequest(input) + return out, req.Send() +} + +// UpdateCommentWithContext is the same as UpdateComment with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateComment for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) UpdateCommentWithContext(ctx aws.Context, input *UpdateCommentInput, opts ...request.Option) (*UpdateCommentOutput, error) { + req, out := c.UpdateCommentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDefaultBranch = "UpdateDefaultBranch" + +// UpdateDefaultBranchRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDefaultBranch 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 UpdateDefaultBranch for more information on using the UpdateDefaultBranch +// 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 UpdateDefaultBranchRequest method. +// req, resp := client.UpdateDefaultBranchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateDefaultBranch +func (c *CodeCommit) UpdateDefaultBranchRequest(input *UpdateDefaultBranchInput) (req *request.Request, output *UpdateDefaultBranchOutput) { + op := &request.Operation{ + Name: opUpdateDefaultBranch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDefaultBranchInput{} + } + + output = &UpdateDefaultBranchOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateDefaultBranch API operation for AWS CodeCommit. +// +// Sets or changes the default branch name for the specified repository. +// +// If you use this operation to change the default branch name to the current +// default branch name, a success message is returned even though the default +// branch did not change. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation UpdateDefaultBranch for usage and error information. +// +// Returned Error Codes: +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. +// +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. +// +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * ErrCodeBranchNameRequiredException "BranchNameRequiredException" +// A branch name is required, but was not specified. +// +// * ErrCodeInvalidBranchNameException "InvalidBranchNameException" +// The specified reference name is not valid. +// +// * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException" +// The specified branch does not exist. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateDefaultBranch +func (c *CodeCommit) UpdateDefaultBranch(input *UpdateDefaultBranchInput) (*UpdateDefaultBranchOutput, error) { + req, out := c.UpdateDefaultBranchRequest(input) + return out, req.Send() +} + +// UpdateDefaultBranchWithContext is the same as UpdateDefaultBranch with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDefaultBranch for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) UpdateDefaultBranchWithContext(ctx aws.Context, input *UpdateDefaultBranchInput, opts ...request.Option) (*UpdateDefaultBranchOutput, error) { + req, out := c.UpdateDefaultBranchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePullRequestApprovalRuleContent = "UpdatePullRequestApprovalRuleContent" + +// UpdatePullRequestApprovalRuleContentRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePullRequestApprovalRuleContent 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 UpdatePullRequestApprovalRuleContent for more information on using the UpdatePullRequestApprovalRuleContent +// 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 UpdatePullRequestApprovalRuleContentRequest method. +// req, resp := client.UpdatePullRequestApprovalRuleContentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestApprovalRuleContent +func (c *CodeCommit) UpdatePullRequestApprovalRuleContentRequest(input *UpdatePullRequestApprovalRuleContentInput) (req *request.Request, output *UpdatePullRequestApprovalRuleContentOutput) { + op := &request.Operation{ + Name: opUpdatePullRequestApprovalRuleContent, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdatePullRequestApprovalRuleContentInput{} + } + + output = &UpdatePullRequestApprovalRuleContentOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdatePullRequestApprovalRuleContent API operation for AWS CodeCommit. +// +// Updates the structure of an approval rule created specifically for a pull +// request. For example, you can change the number of required approvers and +// the approval pool for approvers. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation UpdatePullRequestApprovalRuleContent for usage and error information. +// +// Returned Error Codes: +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. +// +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. +// +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. +// +// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" +// The pull request status cannot be updated because it is already closed. +// +// * ErrCodeApprovalRuleNameRequiredException "ApprovalRuleNameRequiredException" +// An approval rule name is required, but was not specified. +// +// * ErrCodeInvalidApprovalRuleNameException "InvalidApprovalRuleNameException" +// The name for the approval rule is not valid. +// +// * ErrCodeApprovalRuleDoesNotExistException "ApprovalRuleDoesNotExistException" +// The specified approval rule does not exist. +// +// * ErrCodeInvalidRuleContentSha256Exception "InvalidRuleContentSha256Exception" +// The SHA-256 hash signature for the rule content is not valid. +// +// * ErrCodeApprovalRuleContentRequiredException "ApprovalRuleContentRequiredException" +// The content for the approval rule is empty. You must provide some content +// for an approval rule. The content cannot be null. +// +// * ErrCodeInvalidApprovalRuleContentException "InvalidApprovalRuleContentException" +// The content for the approval rule is not valid. +// +// * ErrCodeCannotModifyApprovalRuleFromTemplateException "CannotModifyApprovalRuleFromTemplateException" +// The approval rule cannot be modified for the pull request because it was +// created by an approval rule template and applied to the pull request automatically. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestApprovalRuleContent +func (c *CodeCommit) UpdatePullRequestApprovalRuleContent(input *UpdatePullRequestApprovalRuleContentInput) (*UpdatePullRequestApprovalRuleContentOutput, error) { + req, out := c.UpdatePullRequestApprovalRuleContentRequest(input) + return out, req.Send() +} + +// UpdatePullRequestApprovalRuleContentWithContext is the same as UpdatePullRequestApprovalRuleContent with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePullRequestApprovalRuleContent for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) UpdatePullRequestApprovalRuleContentWithContext(ctx aws.Context, input *UpdatePullRequestApprovalRuleContentInput, opts ...request.Option) (*UpdatePullRequestApprovalRuleContentOutput, error) { + req, out := c.UpdatePullRequestApprovalRuleContentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePullRequestApprovalState = "UpdatePullRequestApprovalState" + +// UpdatePullRequestApprovalStateRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePullRequestApprovalState 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 UpdatePullRequestApprovalState for more information on using the UpdatePullRequestApprovalState +// 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 UpdatePullRequestApprovalStateRequest method. +// req, resp := client.UpdatePullRequestApprovalStateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestApprovalState +func (c *CodeCommit) UpdatePullRequestApprovalStateRequest(input *UpdatePullRequestApprovalStateInput) (req *request.Request, output *UpdatePullRequestApprovalStateOutput) { + op := &request.Operation{ + Name: opUpdatePullRequestApprovalState, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdatePullRequestApprovalStateInput{} + } + + output = &UpdatePullRequestApprovalStateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdatePullRequestApprovalState API operation for AWS CodeCommit. +// +// Updates the state of a user's approval on a pull request. The user is derived +// from the signed-in account when the request is made. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation UpdatePullRequestApprovalState for usage and error information. +// +// Returned Error Codes: +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. +// +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. +// +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. +// +// * ErrCodeInvalidRevisionIdException "InvalidRevisionIdException" +// The revision ID is not valid. Use GetPullRequest to determine the value. +// +// * ErrCodeRevisionIdRequiredException "RevisionIdRequiredException" +// A revision ID is required, but was not provided. +// +// * ErrCodeInvalidApprovalStateException "InvalidApprovalStateException" +// The state for the approval is not valid. Valid values include APPROVE and +// REVOKE. +// +// * ErrCodeApprovalStateRequiredException "ApprovalStateRequiredException" +// An approval state is required, but was not specified. +// +// * ErrCodePullRequestCannotBeApprovedByAuthorException "PullRequestCannotBeApprovedByAuthorException" +// The approval cannot be applied because the user approving the pull request +// matches the user who created the pull request. You cannot approve a pull +// request that you created. +// +// * ErrCodeRevisionNotCurrentException "RevisionNotCurrentException" +// The revision ID provided in the request does not match the current revision +// ID. Use GetPullRequest to retrieve the current revision ID. +// +// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" +// The pull request status cannot be updated because it is already closed. +// +// * ErrCodeMaximumNumberOfApprovalsExceededException "MaximumNumberOfApprovalsExceededException" +// The number of approvals required for the approval rule exceeds the maximum +// number allowed. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestApprovalState +func (c *CodeCommit) UpdatePullRequestApprovalState(input *UpdatePullRequestApprovalStateInput) (*UpdatePullRequestApprovalStateOutput, error) { + req, out := c.UpdatePullRequestApprovalStateRequest(input) + return out, req.Send() +} + +// UpdatePullRequestApprovalStateWithContext is the same as UpdatePullRequestApprovalState with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePullRequestApprovalState for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) UpdatePullRequestApprovalStateWithContext(ctx aws.Context, input *UpdatePullRequestApprovalStateInput, opts ...request.Option) (*UpdatePullRequestApprovalStateOutput, error) { + req, out := c.UpdatePullRequestApprovalStateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePullRequestDescription = "UpdatePullRequestDescription" + +// UpdatePullRequestDescriptionRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePullRequestDescription 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 UpdatePullRequestDescription for more information on using the UpdatePullRequestDescription +// 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 UpdatePullRequestDescriptionRequest method. +// req, resp := client.UpdatePullRequestDescriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestDescription +func (c *CodeCommit) UpdatePullRequestDescriptionRequest(input *UpdatePullRequestDescriptionInput) (req *request.Request, output *UpdatePullRequestDescriptionOutput) { + op := &request.Operation{ + Name: opUpdatePullRequestDescription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdatePullRequestDescriptionInput{} + } + + output = &UpdatePullRequestDescriptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdatePullRequestDescription API operation for AWS CodeCommit. +// +// Replaces the contents of the description of a pull 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 AWS CodeCommit's +// API operation UpdatePullRequestDescription for usage and error information. +// +// Returned Error Codes: +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. +// +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. +// +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. +// +// * ErrCodeInvalidDescriptionException "InvalidDescriptionException" +// The pull request description is not valid. Descriptions cannot be more than +// 1,000 characters. +// +// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" +// The pull request status cannot be updated because it is already closed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestDescription +func (c *CodeCommit) UpdatePullRequestDescription(input *UpdatePullRequestDescriptionInput) (*UpdatePullRequestDescriptionOutput, error) { + req, out := c.UpdatePullRequestDescriptionRequest(input) + return out, req.Send() +} + +// UpdatePullRequestDescriptionWithContext is the same as UpdatePullRequestDescription with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePullRequestDescription for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) UpdatePullRequestDescriptionWithContext(ctx aws.Context, input *UpdatePullRequestDescriptionInput, opts ...request.Option) (*UpdatePullRequestDescriptionOutput, error) { + req, out := c.UpdatePullRequestDescriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePullRequestStatus = "UpdatePullRequestStatus" + +// UpdatePullRequestStatusRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePullRequestStatus 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 UpdatePullRequestStatus for more information on using the UpdatePullRequestStatus +// 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 UpdatePullRequestStatusRequest method. +// req, resp := client.UpdatePullRequestStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestStatus +func (c *CodeCommit) UpdatePullRequestStatusRequest(input *UpdatePullRequestStatusInput) (req *request.Request, output *UpdatePullRequestStatusOutput) { + op := &request.Operation{ + Name: opUpdatePullRequestStatus, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdatePullRequestStatusInput{} + } + + output = &UpdatePullRequestStatusOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdatePullRequestStatus API operation for AWS CodeCommit. +// +// Updates the status of a pull 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 AWS CodeCommit's +// API operation UpdatePullRequestStatus for usage and error information. +// +// Returned Error Codes: +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. +// +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. +// +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. +// +// * ErrCodeInvalidPullRequestStatusUpdateException "InvalidPullRequestStatusUpdateException" +// The pull request status update is not valid. The only valid update is from +// OPEN to CLOSED. +// +// * ErrCodeInvalidPullRequestStatusException "InvalidPullRequestStatusException" +// The pull request status is not valid. The only valid values are OPEN and +// CLOSED. +// +// * ErrCodePullRequestStatusRequiredException "PullRequestStatusRequiredException" +// A pull request status is required, but none was provided. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestStatus +func (c *CodeCommit) UpdatePullRequestStatus(input *UpdatePullRequestStatusInput) (*UpdatePullRequestStatusOutput, error) { + req, out := c.UpdatePullRequestStatusRequest(input) + return out, req.Send() +} + +// UpdatePullRequestStatusWithContext is the same as UpdatePullRequestStatus with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePullRequestStatus for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) UpdatePullRequestStatusWithContext(ctx aws.Context, input *UpdatePullRequestStatusInput, opts ...request.Option) (*UpdatePullRequestStatusOutput, error) { + req, out := c.UpdatePullRequestStatusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePullRequestTitle = "UpdatePullRequestTitle" + +// UpdatePullRequestTitleRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePullRequestTitle 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 UpdatePullRequestTitle for more information on using the UpdatePullRequestTitle +// 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 UpdatePullRequestTitleRequest method. +// req, resp := client.UpdatePullRequestTitleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestTitle +func (c *CodeCommit) UpdatePullRequestTitleRequest(input *UpdatePullRequestTitleInput) (req *request.Request, output *UpdatePullRequestTitleOutput) { + op := &request.Operation{ + Name: opUpdatePullRequestTitle, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdatePullRequestTitleInput{} + } + + output = &UpdatePullRequestTitleOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdatePullRequestTitle API operation for AWS CodeCommit. +// +// Replaces the title of a pull 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 AWS CodeCommit's +// API operation UpdatePullRequestTitle for usage and error information. +// +// Returned Error Codes: +// * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException" +// The pull request ID could not be found. Make sure that you have specified +// the correct repository name and pull request ID, and then try again. +// +// * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException" +// The pull request ID is not valid. Make sure that you have provided the full +// ID and that the pull request is in the specified repository, and then try +// again. +// +// * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException" +// A pull request ID is required, but none was provided. +// +// * ErrCodeTitleRequiredException "TitleRequiredException" +// A pull request title is required. It cannot be empty or null. +// +// * ErrCodeInvalidTitleException "InvalidTitleException" +// The title of the pull request is not valid. Pull request titles cannot exceed +// 100 characters in length. +// +// * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException" +// The pull request status cannot be updated because it is already closed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestTitle +func (c *CodeCommit) UpdatePullRequestTitle(input *UpdatePullRequestTitleInput) (*UpdatePullRequestTitleOutput, error) { + req, out := c.UpdatePullRequestTitleRequest(input) + return out, req.Send() +} + +// UpdatePullRequestTitleWithContext is the same as UpdatePullRequestTitle with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePullRequestTitle for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) UpdatePullRequestTitleWithContext(ctx aws.Context, input *UpdatePullRequestTitleInput, opts ...request.Option) (*UpdatePullRequestTitleOutput, error) { + req, out := c.UpdatePullRequestTitleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRepositoryDescription = "UpdateRepositoryDescription" + +// UpdateRepositoryDescriptionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRepositoryDescription 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 UpdateRepositoryDescription for more information on using the UpdateRepositoryDescription +// 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 UpdateRepositoryDescriptionRequest method. +// req, resp := client.UpdateRepositoryDescriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryDescription +func (c *CodeCommit) UpdateRepositoryDescriptionRequest(input *UpdateRepositoryDescriptionInput) (req *request.Request, output *UpdateRepositoryDescriptionOutput) { + op := &request.Operation{ + Name: opUpdateRepositoryDescription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateRepositoryDescriptionInput{} + } + + output = &UpdateRepositoryDescriptionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateRepositoryDescription API operation for AWS CodeCommit. +// +// Sets or changes the comment or description for a repository. +// +// The description field for a repository accepts all HTML characters and all +// valid Unicode characters. Applications that do not HTML-encode the description +// and display it in a webpage can expose users to potentially malicious code. +// Make sure that you HTML-encode the description field in any application that +// uses this API to display the repository description on a webpage. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation UpdateRepositoryDescription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. +// +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. +// +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// * ErrCodeInvalidRepositoryDescriptionException "InvalidRepositoryDescriptionException" +// The specified repository description is not valid. +// +// * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException" +// An encryption integrity check failed. +// +// * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException" +// An encryption key could not be accessed. +// +// * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException" +// The encryption key is disabled. +// +// * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException" +// No encryption key was found. +// +// * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException" +// The encryption key is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryDescription +func (c *CodeCommit) UpdateRepositoryDescription(input *UpdateRepositoryDescriptionInput) (*UpdateRepositoryDescriptionOutput, error) { + req, out := c.UpdateRepositoryDescriptionRequest(input) + return out, req.Send() +} + +// UpdateRepositoryDescriptionWithContext is the same as UpdateRepositoryDescription with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRepositoryDescription for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) UpdateRepositoryDescriptionWithContext(ctx aws.Context, input *UpdateRepositoryDescriptionInput, opts ...request.Option) (*UpdateRepositoryDescriptionOutput, error) { + req, out := c.UpdateRepositoryDescriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRepositoryName = "UpdateRepositoryName" + +// UpdateRepositoryNameRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRepositoryName 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 UpdateRepositoryName for more information on using the UpdateRepositoryName +// 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 UpdateRepositoryNameRequest method. +// req, resp := client.UpdateRepositoryNameRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryName +func (c *CodeCommit) UpdateRepositoryNameRequest(input *UpdateRepositoryNameInput) (req *request.Request, output *UpdateRepositoryNameOutput) { + op := &request.Operation{ + Name: opUpdateRepositoryName, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateRepositoryNameInput{} + } + + output = &UpdateRepositoryNameOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateRepositoryName API operation for AWS CodeCommit. +// +// Renames a repository. The repository name must be unique across the calling +// AWS account. Repository names are limited to 100 alphanumeric, dash, and +// underscore characters, and cannot include certain characters. The suffix +// .git is prohibited. For more information about the limits on repository names, +// see Limits (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html) +// in the AWS CodeCommit 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 AWS CodeCommit's +// API operation UpdateRepositoryName for usage and error information. +// +// Returned Error Codes: +// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" +// The specified repository does not exist. +// +// * ErrCodeRepositoryNameExistsException "RepositoryNameExistsException" +// The specified repository name already exists. +// +// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" +// A repository name is required, but was not specified. +// +// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" +// A specified repository name is not valid. +// +// This exception occurs only when a specified repository name is not valid. +// Other exceptions occur when a required repository parameter is missing, or +// when a specified repository does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryName +func (c *CodeCommit) UpdateRepositoryName(input *UpdateRepositoryNameInput) (*UpdateRepositoryNameOutput, error) { + req, out := c.UpdateRepositoryNameRequest(input) + return out, req.Send() +} + +// UpdateRepositoryNameWithContext is the same as UpdateRepositoryName with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRepositoryName for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) UpdateRepositoryNameWithContext(ctx aws.Context, input *UpdateRepositoryNameInput, opts ...request.Option) (*UpdateRepositoryNameOutput, error) { + req, out := c.UpdateRepositoryNameRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Returns information about a specific approval on a pull request. +type Approval struct { + _ struct{} `type:"structure"` + + // The state of the approval, APPROVE or REVOKE. REVOKE states are not stored. + ApprovalState *string `locationName:"approvalState" type:"string" enum:"ApprovalState"` + + // The Amazon Resource Name (ARN) of the user. + UserArn *string `locationName:"userArn" type:"string"` +} + +// String returns the string representation +func (s Approval) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Approval) GoString() string { + return s.String() +} + +// SetApprovalState sets the ApprovalState field's value. +func (s *Approval) SetApprovalState(v string) *Approval { + s.ApprovalState = &v + return s +} + +// SetUserArn sets the UserArn field's value. +func (s *Approval) SetUserArn(v string) *Approval { + s.UserArn = &v + return s +} + +// Returns information about an approval rule. +type ApprovalRule struct { + _ struct{} `type:"structure"` + + // The content of the approval rule. + ApprovalRuleContent *string `locationName:"approvalRuleContent" min:"1" type:"string"` + + // The system-generated ID of the approval rule. + ApprovalRuleId *string `locationName:"approvalRuleId" type:"string"` + + // The name of the approval rule. + ApprovalRuleName *string `locationName:"approvalRuleName" min:"1" type:"string"` + + // The date the approval rule was created, in timestamp format. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // The date the approval rule was most recently changed, in timestamp format. + LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the user who made the most recent changes + // to the approval rule. + LastModifiedUser *string `locationName:"lastModifiedUser" type:"string"` + + // The approval rule template used to create the rule. + OriginApprovalRuleTemplate *OriginApprovalRuleTemplate `locationName:"originApprovalRuleTemplate" type:"structure"` + + // The SHA-256 hash signature for the content of the approval rule. + RuleContentSha256 *string `locationName:"ruleContentSha256" type:"string"` +} + +// String returns the string representation +func (s ApprovalRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApprovalRule) GoString() string { + return s.String() +} + +// SetApprovalRuleContent sets the ApprovalRuleContent field's value. +func (s *ApprovalRule) SetApprovalRuleContent(v string) *ApprovalRule { + s.ApprovalRuleContent = &v + return s +} + +// SetApprovalRuleId sets the ApprovalRuleId field's value. +func (s *ApprovalRule) SetApprovalRuleId(v string) *ApprovalRule { + s.ApprovalRuleId = &v + return s +} + +// SetApprovalRuleName sets the ApprovalRuleName field's value. +func (s *ApprovalRule) SetApprovalRuleName(v string) *ApprovalRule { + s.ApprovalRuleName = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *ApprovalRule) SetCreationDate(v time.Time) *ApprovalRule { + s.CreationDate = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *ApprovalRule) SetLastModifiedDate(v time.Time) *ApprovalRule { + s.LastModifiedDate = &v + return s +} + +// SetLastModifiedUser sets the LastModifiedUser field's value. +func (s *ApprovalRule) SetLastModifiedUser(v string) *ApprovalRule { + s.LastModifiedUser = &v + return s +} + +// SetOriginApprovalRuleTemplate sets the OriginApprovalRuleTemplate field's value. +func (s *ApprovalRule) SetOriginApprovalRuleTemplate(v *OriginApprovalRuleTemplate) *ApprovalRule { + s.OriginApprovalRuleTemplate = v + return s +} + +// SetRuleContentSha256 sets the RuleContentSha256 field's value. +func (s *ApprovalRule) SetRuleContentSha256(v string) *ApprovalRule { + s.RuleContentSha256 = &v + return s +} + +// Returns information about an event for an approval rule. +type ApprovalRuleEventMetadata struct { + _ struct{} `type:"structure"` + + // The content of the approval rule. + ApprovalRuleContent *string `locationName:"approvalRuleContent" min:"1" type:"string"` + + // The system-generated ID of the approval rule. + ApprovalRuleId *string `locationName:"approvalRuleId" type:"string"` + + // The name of the approval rule. + ApprovalRuleName *string `locationName:"approvalRuleName" min:"1" type:"string"` +} + +// String returns the string representation +func (s ApprovalRuleEventMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApprovalRuleEventMetadata) GoString() string { + return s.String() +} + +// SetApprovalRuleContent sets the ApprovalRuleContent field's value. +func (s *ApprovalRuleEventMetadata) SetApprovalRuleContent(v string) *ApprovalRuleEventMetadata { + s.ApprovalRuleContent = &v + return s +} + +// SetApprovalRuleId sets the ApprovalRuleId field's value. +func (s *ApprovalRuleEventMetadata) SetApprovalRuleId(v string) *ApprovalRuleEventMetadata { + s.ApprovalRuleId = &v + return s +} + +// SetApprovalRuleName sets the ApprovalRuleName field's value. +func (s *ApprovalRuleEventMetadata) SetApprovalRuleName(v string) *ApprovalRuleEventMetadata { + s.ApprovalRuleName = &v + return s +} + +// Returns information about an override event for approval rules for a pull +// request. +type ApprovalRuleOverriddenEventMetadata struct { + _ struct{} `type:"structure"` + + // The status of the override event. + OverrideStatus *string `locationName:"overrideStatus" type:"string" enum:"OverrideStatus"` + + // The revision ID of the pull request when the override event occurred. + RevisionId *string `locationName:"revisionId" type:"string"` +} + +// String returns the string representation +func (s ApprovalRuleOverriddenEventMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApprovalRuleOverriddenEventMetadata) GoString() string { + return s.String() +} + +// SetOverrideStatus sets the OverrideStatus field's value. +func (s *ApprovalRuleOverriddenEventMetadata) SetOverrideStatus(v string) *ApprovalRuleOverriddenEventMetadata { + s.OverrideStatus = &v + return s +} + +// SetRevisionId sets the RevisionId field's value. +func (s *ApprovalRuleOverriddenEventMetadata) SetRevisionId(v string) *ApprovalRuleOverriddenEventMetadata { + s.RevisionId = &v + return s +} + +// Returns information about an approval rule template. +type ApprovalRuleTemplate struct { + _ struct{} `type:"structure"` + + // The content of the approval rule template. + ApprovalRuleTemplateContent *string `locationName:"approvalRuleTemplateContent" min:"1" type:"string"` + + // The description of the approval rule template. + ApprovalRuleTemplateDescription *string `locationName:"approvalRuleTemplateDescription" type:"string"` + + // The system-generated ID of the approval rule template. + ApprovalRuleTemplateId *string `locationName:"approvalRuleTemplateId" type:"string"` + + // The name of the approval rule template. + ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string"` + + // The date the approval rule template was created, in timestamp format. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // The date the approval rule template was most recently changed, in timestamp + // format. + LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` + + // The Amazon Resource Name (ARN) of the user who made the most recent changes + // to the approval rule template. + LastModifiedUser *string `locationName:"lastModifiedUser" type:"string"` + + // The SHA-256 hash signature for the content of the approval rule template. + RuleContentSha256 *string `locationName:"ruleContentSha256" type:"string"` +} + +// String returns the string representation +func (s ApprovalRuleTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApprovalRuleTemplate) GoString() string { + return s.String() +} + +// SetApprovalRuleTemplateContent sets the ApprovalRuleTemplateContent field's value. +func (s *ApprovalRuleTemplate) SetApprovalRuleTemplateContent(v string) *ApprovalRuleTemplate { + s.ApprovalRuleTemplateContent = &v + return s +} + +// SetApprovalRuleTemplateDescription sets the ApprovalRuleTemplateDescription field's value. +func (s *ApprovalRuleTemplate) SetApprovalRuleTemplateDescription(v string) *ApprovalRuleTemplate { + s.ApprovalRuleTemplateDescription = &v + return s +} + +// SetApprovalRuleTemplateId sets the ApprovalRuleTemplateId field's value. +func (s *ApprovalRuleTemplate) SetApprovalRuleTemplateId(v string) *ApprovalRuleTemplate { + s.ApprovalRuleTemplateId = &v + return s +} + +// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value. +func (s *ApprovalRuleTemplate) SetApprovalRuleTemplateName(v string) *ApprovalRuleTemplate { + s.ApprovalRuleTemplateName = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *ApprovalRuleTemplate) SetCreationDate(v time.Time) *ApprovalRuleTemplate { + s.CreationDate = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *ApprovalRuleTemplate) SetLastModifiedDate(v time.Time) *ApprovalRuleTemplate { + s.LastModifiedDate = &v + return s +} + +// SetLastModifiedUser sets the LastModifiedUser field's value. +func (s *ApprovalRuleTemplate) SetLastModifiedUser(v string) *ApprovalRuleTemplate { + s.LastModifiedUser = &v + return s +} + +// SetRuleContentSha256 sets the RuleContentSha256 field's value. +func (s *ApprovalRuleTemplate) SetRuleContentSha256(v string) *ApprovalRuleTemplate { + s.RuleContentSha256 = &v + return s +} + +// Returns information about a change in the approval state for a pull request. +type ApprovalStateChangedEventMetadata struct { + _ struct{} `type:"structure"` + + // The approval status for the pull request. + ApprovalStatus *string `locationName:"approvalStatus" type:"string" enum:"ApprovalState"` + + // The revision ID of the pull request when the approval state changed. + RevisionId *string `locationName:"revisionId" type:"string"` +} + +// String returns the string representation +func (s ApprovalStateChangedEventMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ApprovalStateChangedEventMetadata) GoString() string { + return s.String() +} + +// SetApprovalStatus sets the ApprovalStatus field's value. +func (s *ApprovalStateChangedEventMetadata) SetApprovalStatus(v string) *ApprovalStateChangedEventMetadata { + s.ApprovalStatus = &v + return s +} + +// SetRevisionId sets the RevisionId field's value. +func (s *ApprovalStateChangedEventMetadata) SetRevisionId(v string) *ApprovalStateChangedEventMetadata { + s.RevisionId = &v + return s +} + +type AssociateApprovalRuleTemplateWithRepositoryInput struct { + _ struct{} `type:"structure"` + + // The name for the approval rule template. + // + // ApprovalRuleTemplateName is a required field + ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"` + + // The name of the repository that you want to associate with the template. + // + // RepositoryName is a required field + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateApprovalRuleTemplateWithRepositoryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateApprovalRuleTemplateWithRepositoryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateApprovalRuleTemplateWithRepositoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateApprovalRuleTemplateWithRepositoryInput"} + if s.ApprovalRuleTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName")) + } + if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1)) + } + if s.RepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryName")) + } + if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value. +func (s *AssociateApprovalRuleTemplateWithRepositoryInput) SetApprovalRuleTemplateName(v string) *AssociateApprovalRuleTemplateWithRepositoryInput { + s.ApprovalRuleTemplateName = &v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *AssociateApprovalRuleTemplateWithRepositoryInput) SetRepositoryName(v string) *AssociateApprovalRuleTemplateWithRepositoryInput { + s.RepositoryName = &v + return s +} + +type AssociateApprovalRuleTemplateWithRepositoryOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AssociateApprovalRuleTemplateWithRepositoryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateApprovalRuleTemplateWithRepositoryOutput) GoString() string { + return s.String() +} + +// Returns information about errors in a BatchAssociateApprovalRuleTemplateWithRepositories +// operation. +type BatchAssociateApprovalRuleTemplateWithRepositoriesError struct { + _ struct{} `type:"structure"` + + // An error code that specifies whether the repository name was not valid or + // not found. + ErrorCode *string `locationName:"errorCode" type:"string"` + + // An error message that provides details about why the repository name was + // not found or not valid. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // The name of the repository where the association was not made. + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"` +} + +// String returns the string representation +func (s BatchAssociateApprovalRuleTemplateWithRepositoriesError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchAssociateApprovalRuleTemplateWithRepositoriesError) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesError) SetErrorCode(v string) *BatchAssociateApprovalRuleTemplateWithRepositoriesError { + s.ErrorCode = &v + return s } -const opUpdateRepositoryName = "UpdateRepositoryName" +// SetErrorMessage sets the ErrorMessage field's value. +func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesError) SetErrorMessage(v string) *BatchAssociateApprovalRuleTemplateWithRepositoriesError { + s.ErrorMessage = &v + return s +} -// UpdateRepositoryNameRequest generates a "aws/request.Request" representing the -// client's request for the UpdateRepositoryName 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 UpdateRepositoryName for more information on using the UpdateRepositoryName -// 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 UpdateRepositoryNameRequest method. -// req, resp := client.UpdateRepositoryNameRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryName -func (c *CodeCommit) UpdateRepositoryNameRequest(input *UpdateRepositoryNameInput) (req *request.Request, output *UpdateRepositoryNameOutput) { - op := &request.Operation{ - Name: opUpdateRepositoryName, - HTTPMethod: "POST", - HTTPPath: "/", +// SetRepositoryName sets the RepositoryName field's value. +func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesError) SetRepositoryName(v string) *BatchAssociateApprovalRuleTemplateWithRepositoriesError { + s.RepositoryName = &v + return s +} + +type BatchAssociateApprovalRuleTemplateWithRepositoriesInput struct { + _ struct{} `type:"structure"` + + // The name of the template you want to associate with one or more repositories. + // + // ApprovalRuleTemplateName is a required field + ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"` + + // The names of the repositories you want to associate with the template. + // + // The length constraint limit is for each string in the array. The array itself + // can be empty. + // + // RepositoryNames is a required field + RepositoryNames []*string `locationName:"repositoryNames" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchAssociateApprovalRuleTemplateWithRepositoriesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchAssociateApprovalRuleTemplateWithRepositoriesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchAssociateApprovalRuleTemplateWithRepositoriesInput"} + if s.ApprovalRuleTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName")) + } + if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1)) + } + if s.RepositoryNames == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryNames")) } - if input == nil { - input = &UpdateRepositoryNameInput{} + if invalidParams.Len() > 0 { + return invalidParams } + return nil +} - output = &UpdateRepositoryNameOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return +// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value. +func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesInput) SetApprovalRuleTemplateName(v string) *BatchAssociateApprovalRuleTemplateWithRepositoriesInput { + s.ApprovalRuleTemplateName = &v + return s } -// UpdateRepositoryName API operation for AWS CodeCommit. -// -// Renames a repository. The repository name must be unique across the calling -// AWS account. In addition, repository names are limited to 100 alphanumeric, -// dash, and underscore characters, and cannot include certain characters. The -// suffix ".git" is prohibited. For a full description of the limits on repository -// names, see Limits (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html) -// in the AWS CodeCommit 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 AWS CodeCommit's -// API operation UpdateRepositoryName for usage and error information. -// -// Returned Error Codes: -// * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException" -// The specified repository does not exist. -// -// * ErrCodeRepositoryNameExistsException "RepositoryNameExistsException" -// The specified repository name already exists. -// -// * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException" -// A repository name is required but was not specified. -// -// * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException" -// At least one specified repository name is not valid. -// -// This exception only occurs when a specified repository name is not valid. -// Other exceptions occur when a required repository parameter is missing, or -// when a specified repository does not exist. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryName -func (c *CodeCommit) UpdateRepositoryName(input *UpdateRepositoryNameInput) (*UpdateRepositoryNameOutput, error) { - req, out := c.UpdateRepositoryNameRequest(input) - return out, req.Send() +// SetRepositoryNames sets the RepositoryNames field's value. +func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesInput) SetRepositoryNames(v []*string) *BatchAssociateApprovalRuleTemplateWithRepositoriesInput { + s.RepositoryNames = v + return s } -// UpdateRepositoryNameWithContext is the same as UpdateRepositoryName with the addition of -// the ability to pass a context and additional request options. -// -// See UpdateRepositoryName for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *CodeCommit) UpdateRepositoryNameWithContext(ctx aws.Context, input *UpdateRepositoryNameInput, opts ...request.Option) (*UpdateRepositoryNameOutput, error) { - req, out := c.UpdateRepositoryNameRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() +type BatchAssociateApprovalRuleTemplateWithRepositoriesOutput struct { + _ struct{} `type:"structure"` + + // A list of names of the repositories that have been associated with the template. + // + // AssociatedRepositoryNames is a required field + AssociatedRepositoryNames []*string `locationName:"associatedRepositoryNames" type:"list" required:"true"` + + // A list of any errors that might have occurred while attempting to create + // the association between the template and the repositories. + // + // Errors is a required field + Errors []*BatchAssociateApprovalRuleTemplateWithRepositoriesError `locationName:"errors" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchAssociateApprovalRuleTemplateWithRepositoriesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchAssociateApprovalRuleTemplateWithRepositoriesOutput) GoString() string { + return s.String() +} + +// SetAssociatedRepositoryNames sets the AssociatedRepositoryNames field's value. +func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesOutput) SetAssociatedRepositoryNames(v []*string) *BatchAssociateApprovalRuleTemplateWithRepositoriesOutput { + s.AssociatedRepositoryNames = v + return s +} + +// SetErrors sets the Errors field's value. +func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesOutput) SetErrors(v []*BatchAssociateApprovalRuleTemplateWithRepositoriesError) *BatchAssociateApprovalRuleTemplateWithRepositoriesOutput { + s.Errors = v + return s } -// Information about errors in a BatchDescribeMergeConflicts operation. +// Returns information about errors in a BatchDescribeMergeConflicts operation. type BatchDescribeMergeConflictsError struct { _ struct{} `type:"structure"` @@ -7884,20 +10935,19 @@ type BatchDescribeMergeConflictsInput struct { _ struct{} `type:"structure"` // The level of conflict detail to use. If unspecified, the default FILE_LEVEL - // is used, which will return a not mergeable result if the same file has differences - // in both branches. If LINE_LEVEL is specified, a conflict will be considered - // not mergeable if the same file in both branches has differences on the same - // line. + // is used, which returns a not-mergeable result if the same file has differences + // in both branches. If LINE_LEVEL is specified, a conflict is considered not + // mergeable if the same file in both branches has differences on the same line. ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"` // Specifies which branch to use when resolving conflicts, or whether to attempt // automatically merging two versions of a file. The default is NONE, which // requires any conflicts to be resolved manually before the merge operation - // will be successful. + // is successful. ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // DestinationCommitSpecifier is a required field DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"` @@ -7917,7 +10967,7 @@ type BatchDescribeMergeConflictsInput struct { // MergeOption is a required field MergeOption *string `locationName:"mergeOption" type:"string" required:"true" enum:"MergeOptionTypeEnum"` - // An enumeration token that when provided in a request, returns the next batch + // An enumeration token that, when provided in a request, returns the next batch // of the results. NextToken *string `locationName:"nextToken" type:"string"` @@ -7928,7 +10978,7 @@ type BatchDescribeMergeConflictsInput struct { RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // SourceCommitSpecifier is a required field SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"` @@ -8083,27 +11133,170 @@ func (s *BatchDescribeMergeConflictsOutput) SetConflicts(v []*Conflict) *BatchDe return s } -// SetDestinationCommitId sets the DestinationCommitId field's value. -func (s *BatchDescribeMergeConflictsOutput) SetDestinationCommitId(v string) *BatchDescribeMergeConflictsOutput { - s.DestinationCommitId = &v - return s +// SetDestinationCommitId sets the DestinationCommitId field's value. +func (s *BatchDescribeMergeConflictsOutput) SetDestinationCommitId(v string) *BatchDescribeMergeConflictsOutput { + s.DestinationCommitId = &v + return s +} + +// SetErrors sets the Errors field's value. +func (s *BatchDescribeMergeConflictsOutput) SetErrors(v []*BatchDescribeMergeConflictsError) *BatchDescribeMergeConflictsOutput { + s.Errors = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *BatchDescribeMergeConflictsOutput) SetNextToken(v string) *BatchDescribeMergeConflictsOutput { + s.NextToken = &v + return s +} + +// SetSourceCommitId sets the SourceCommitId field's value. +func (s *BatchDescribeMergeConflictsOutput) SetSourceCommitId(v string) *BatchDescribeMergeConflictsOutput { + s.SourceCommitId = &v + return s +} + +// Returns information about errors in a BatchDisassociateApprovalRuleTemplateFromRepositories +// operation. +type BatchDisassociateApprovalRuleTemplateFromRepositoriesError struct { + _ struct{} `type:"structure"` + + // An error code that specifies whether the repository name was not valid or + // not found. + ErrorCode *string `locationName:"errorCode" type:"string"` + + // An error message that provides details about why the repository name was + // either not found or not valid. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // The name of the repository where the association with the template was not + // able to be removed. + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"` +} + +// String returns the string representation +func (s BatchDisassociateApprovalRuleTemplateFromRepositoriesError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDisassociateApprovalRuleTemplateFromRepositoriesError) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesError) SetErrorCode(v string) *BatchDisassociateApprovalRuleTemplateFromRepositoriesError { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesError) SetErrorMessage(v string) *BatchDisassociateApprovalRuleTemplateFromRepositoriesError { + s.ErrorMessage = &v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesError) SetRepositoryName(v string) *BatchDisassociateApprovalRuleTemplateFromRepositoriesError { + s.RepositoryName = &v + return s +} + +type BatchDisassociateApprovalRuleTemplateFromRepositoriesInput struct { + _ struct{} `type:"structure"` + + // The name of the template that you want to disassociate from one or more repositories. + // + // ApprovalRuleTemplateName is a required field + ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"` + + // The repository names that you want to disassociate from the approval rule + // template. + // + // The length constraint limit is for each string in the array. The array itself + // can be empty. + // + // RepositoryNames is a required field + RepositoryNames []*string `locationName:"repositoryNames" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateApprovalRuleTemplateFromRepositoriesInput"} + if s.ApprovalRuleTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName")) + } + if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1)) + } + if s.RepositoryNames == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryNames")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value. +func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) SetApprovalRuleTemplateName(v string) *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput { + s.ApprovalRuleTemplateName = &v + return s +} + +// SetRepositoryNames sets the RepositoryNames field's value. +func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) SetRepositoryNames(v []*string) *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput { + s.RepositoryNames = v + return s +} + +type BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput struct { + _ struct{} `type:"structure"` + + // A list of repository names that have had their association with the template + // removed. + // + // DisassociatedRepositoryNames is a required field + DisassociatedRepositoryNames []*string `locationName:"disassociatedRepositoryNames" type:"list" required:"true"` + + // A list of any errors that might have occurred while attempting to remove + // the association between the template and the repositories. + // + // Errors is a required field + Errors []*BatchDisassociateApprovalRuleTemplateFromRepositoriesError `locationName:"errors" type:"list" required:"true"` } -// SetErrors sets the Errors field's value. -func (s *BatchDescribeMergeConflictsOutput) SetErrors(v []*BatchDescribeMergeConflictsError) *BatchDescribeMergeConflictsOutput { - s.Errors = v - return s +// String returns the string representation +func (s BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput) String() string { + return awsutil.Prettify(s) } -// SetNextToken sets the NextToken field's value. -func (s *BatchDescribeMergeConflictsOutput) SetNextToken(v string) *BatchDescribeMergeConflictsOutput { - s.NextToken = &v +// GoString returns the string representation +func (s BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput) GoString() string { + return s.String() +} + +// SetDisassociatedRepositoryNames sets the DisassociatedRepositoryNames field's value. +func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput) SetDisassociatedRepositoryNames(v []*string) *BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput { + s.DisassociatedRepositoryNames = v return s } -// SetSourceCommitId sets the SourceCommitId field's value. -func (s *BatchDescribeMergeConflictsOutput) SetSourceCommitId(v string) *BatchDescribeMergeConflictsOutput { - s.SourceCommitId = &v +// SetErrors sets the Errors field's value. +func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput) SetErrors(v []*BatchDisassociateApprovalRuleTemplateFromRepositoriesError) *BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput { + s.Errors = v return s } @@ -8155,7 +11348,8 @@ type BatchGetCommitsInput struct { // The full commit IDs of the commits to get information about. // - // You must supply the full SHAs of each commit. You cannot use shortened SHAs. + // You must supply the full SHA IDs of each commit. You cannot use shortened + // SHA IDs. // // CommitIds is a required field CommitIds []*string `locationName:"commitIds" type:"list" required:"true"` @@ -8215,9 +11409,8 @@ type BatchGetCommitsOutput struct { Commits []*Commit `locationName:"commits" type:"list"` // Returns any commit IDs for which information could not be found. For example, - // if one of the commit IDs was a shortened SHA or that commit was not found - // in the specified repository, the ID will return an error object with additional - // information. + // if one of the commit IDs was a shortened SHA ID or that commit was not found + // in the specified repository, the ID returns an error object with more information. Errors []*BatchGetCommitsError `locationName:"errors" type:"list"` } @@ -8249,6 +11442,9 @@ type BatchGetRepositoriesInput struct { // The names of the repositories to get information about. // + // The length constraint limit is for each string in the array. The array itself + // can be empty. + // // RepositoryNames is a required field RepositoryNames []*string `locationName:"repositoryNames" type:"list" required:"true"` } @@ -8333,7 +11529,7 @@ type BlobMetadata struct { // * 120000 indicates a symlink Mode *string `locationName:"mode" type:"string"` - // The path to the blob and any associated file name, if any. + // The path to the blob and associated file name, if any. Path *string `locationName:"path" type:"string"` } @@ -8405,10 +11601,10 @@ type Comment struct { // The Amazon Resource Name (ARN) of the person who posted the comment. AuthorArn *string `locationName:"authorArn" type:"string"` - // A unique, client-generated idempotency token that when provided in a request, + // A unique, client-generated idempotency token that, when provided in a request, // ensures the request cannot be repeated with a changed parameter. If a request // is received with the same parameters and a token is included, the request - // will return information about the initial request that used that token. + // returns information about the initial request that used that token. ClientRequestToken *string `locationName:"clientRequestToken" type:"string"` // The system-generated comment ID. @@ -8492,16 +11688,16 @@ func (s *Comment) SetLastModifiedDate(v time.Time) *Comment { type CommentsForComparedCommit struct { _ struct{} `type:"structure"` - // The full blob ID of the commit used to establish the 'after' of the comparison. + // The full blob ID of the commit used to establish the after of the comparison. AfterBlobId *string `locationName:"afterBlobId" type:"string"` - // The full commit ID of the commit used to establish the 'after' of the comparison. + // The full commit ID of the commit used to establish the after of the comparison. AfterCommitId *string `locationName:"afterCommitId" type:"string"` - // The full blob ID of the commit used to establish the 'before' of the comparison. + // The full blob ID of the commit used to establish the before of the comparison. BeforeBlobId *string `locationName:"beforeBlobId" type:"string"` - // The full commit ID of the commit used to establish the 'before' of the comparison. + // The full commit ID of the commit used to establish the before of the comparison. BeforeCommitId *string `locationName:"beforeCommitId" type:"string"` // An array of comment objects. Each comment object contains information about @@ -8510,7 +11706,7 @@ type CommentsForComparedCommit struct { // Location information about the comment on the comparison, including the file // name, line number, and whether the version of the file where the comment - // was made is 'BEFORE' or 'AFTER'. + // was made is BEFORE or AFTER. Location *Location `locationName:"location" type:"structure"` // The name of the repository that contains the compared commits. @@ -8576,7 +11772,7 @@ type CommentsForPullRequest struct { // The full blob ID of the file on which you want to comment on the source commit. AfterBlobId *string `locationName:"afterBlobId" type:"string"` - // he full commit ID of the commit that was the tip of the source branch at + // The full commit ID of the commit that was the tip of the source branch at // the time the comment was made. AfterCommitId *string `locationName:"afterCommitId" type:"string"` @@ -8585,9 +11781,9 @@ type CommentsForPullRequest struct { BeforeBlobId *string `locationName:"beforeBlobId" type:"string"` // The full commit ID of the commit that was the tip of the destination branch - // when the pull request was created. This commit will be superceded by the - // after commit in the source branch when and if you merge the source branch - // into the destination branch. + // when the pull request was created. This commit is superceded by the after + // commit in the source branch when and if you merge the source branch into + // the destination branch. BeforeCommitId *string `locationName:"beforeCommitId" type:"string"` // An array of comment objects. Each comment object contains information about @@ -8596,7 +11792,7 @@ type CommentsForPullRequest struct { // Location information about the comment on the pull request, including the // file name, line number, and whether the version of the file where the comment - // was made is 'BEFORE' (destination branch) or 'AFTER' (source branch). + // was made is BEFORE (destination branch) or AFTER (source branch). Location *Location `locationName:"location" type:"structure"` // The system-generated ID of the pull request. @@ -8668,7 +11864,7 @@ func (s *CommentsForPullRequest) SetRepositoryName(v string) *CommentsForPullReq type Commit struct { _ struct{} `type:"structure"` - // Any additional data associated with the specified commit. + // Any other data associated with the specified commit. AdditionalData *string `locationName:"additionalData" type:"string"` // Information about the author of the specified commit. Information includes @@ -8676,7 +11872,7 @@ type Commit struct { // the email address for the author, as configured in Git. Author *UserInfo `locationName:"author" type:"structure"` - // The full SHA of the specified commit. + // The full SHA ID of the specified commit. CommitId *string `locationName:"commitId" type:"string"` // Information about the person who committed the specified commit, also known @@ -8896,18 +12092,18 @@ func (s *ConflictMetadata) SetObjectTypes(v *ObjectTypes) *ConflictMetadata { return s } -// A list of inputs to use when resolving conflicts during a merge if AUTOMERGE -// is chosen as the conflict resolution strategy. +// If AUTOMERGE is the conflict resolution strategy, a list of inputs to use +// when resolving conflicts during a merge. type ConflictResolution struct { _ struct{} `type:"structure"` - // Files that will be deleted as part of the merge conflict resolution. + // Files to be deleted as part of the merge conflict resolution. DeleteFiles []*DeleteFileEntry `locationName:"deleteFiles" type:"list"` - // Files that will have content replaced as part of the merge conflict resolution. + // Files to have content replaced as part of the merge conflict resolution. ReplaceContents []*ReplaceContentEntry `locationName:"replaceContents" type:"list"` - // File modes that will be set as part of the merge conflict resolution. + // File modes that are set as part of the merge conflict resolution. SetFileModes []*SetFileModeEntry `locationName:"setFileModes" type:"list"` } @@ -8979,6 +12175,127 @@ func (s *ConflictResolution) SetSetFileModes(v []*SetFileModeEntry) *ConflictRes return s } +type CreateApprovalRuleTemplateInput struct { + _ struct{} `type:"structure"` + + // The content of the approval rule that is created on pull requests in associated + // repositories. If you specify one or more destination references (branches), + // approval rules are created in an associated repository only if their destination + // references (branches) match those specified in the template. + // + // When you create the content of the approval rule template, you can specify + // approvers in an approval pool in one of two ways: + // + // * CodeCommitApprovers: This option only requires an AWS account and a + // resource. It can be used for both IAM users and federated access users + // whose name matches the provided resource name. This is a very powerful + // option that offers a great deal of flexibility. For example, if you specify + // the AWS account 123456789012 and Mary_Major, all of the following are + // counted as approvals coming from that user: An IAM user in the account + // (arn:aws:iam::123456789012:user/Mary_Major) A federated user identified + // in IAM as Mary_Major (arn:aws:sts::123456789012:federated-user/Mary_Major) + // This option does not recognize an active session of someone assuming the + // role of CodeCommitReview with a role session name of Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major) + // unless you include a wildcard (*Mary_Major). + // + // * Fully qualified ARN: This option allows you to specify the fully qualified + // Amazon Resource Name (ARN) of the IAM user or role. + // + // For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers + // (https://docs.aws.amazon.com/iam/latest/UserGuide/reference_identifiers.html) + // in the IAM User Guide. + // + // ApprovalRuleTemplateContent is a required field + ApprovalRuleTemplateContent *string `locationName:"approvalRuleTemplateContent" min:"1" type:"string" required:"true"` + + // The description of the approval rule template. Consider providing a description + // that explains what this template does and when it might be appropriate to + // associate it with repositories. + ApprovalRuleTemplateDescription *string `locationName:"approvalRuleTemplateDescription" type:"string"` + + // The name of the approval rule template. Provide descriptive names, because + // this name is applied to the approval rules created automatically in associated + // repositories. + // + // ApprovalRuleTemplateName is a required field + ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateApprovalRuleTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApprovalRuleTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateApprovalRuleTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateApprovalRuleTemplateInput"} + if s.ApprovalRuleTemplateContent == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateContent")) + } + if s.ApprovalRuleTemplateContent != nil && len(*s.ApprovalRuleTemplateContent) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateContent", 1)) + } + if s.ApprovalRuleTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName")) + } + if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApprovalRuleTemplateContent sets the ApprovalRuleTemplateContent field's value. +func (s *CreateApprovalRuleTemplateInput) SetApprovalRuleTemplateContent(v string) *CreateApprovalRuleTemplateInput { + s.ApprovalRuleTemplateContent = &v + return s +} + +// SetApprovalRuleTemplateDescription sets the ApprovalRuleTemplateDescription field's value. +func (s *CreateApprovalRuleTemplateInput) SetApprovalRuleTemplateDescription(v string) *CreateApprovalRuleTemplateInput { + s.ApprovalRuleTemplateDescription = &v + return s +} + +// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value. +func (s *CreateApprovalRuleTemplateInput) SetApprovalRuleTemplateName(v string) *CreateApprovalRuleTemplateInput { + s.ApprovalRuleTemplateName = &v + return s +} + +type CreateApprovalRuleTemplateOutput struct { + _ struct{} `type:"structure"` + + // The content and structure of the created approval rule template. + // + // ApprovalRuleTemplate is a required field + ApprovalRuleTemplate *ApprovalRuleTemplate `locationName:"approvalRuleTemplate" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateApprovalRuleTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateApprovalRuleTemplateOutput) GoString() string { + return s.String() +} + +// SetApprovalRuleTemplate sets the ApprovalRuleTemplate field's value. +func (s *CreateApprovalRuleTemplateOutput) SetApprovalRuleTemplate(v *ApprovalRuleTemplate) *CreateApprovalRuleTemplateOutput { + s.ApprovalRuleTemplate = v + return s +} + // Represents the input of a create branch operation. type CreateBranchInput struct { _ struct{} `type:"structure"` @@ -9069,40 +12386,38 @@ func (s CreateBranchOutput) GoString() string { type CreateCommitInput struct { _ struct{} `type:"structure"` - // The name of the author who created the commit. This information will be used - // as both the author and committer for the commit. + // The name of the author who created the commit. This information is used as + // both the author and committer for the commit. AuthorName *string `locationName:"authorName" type:"string"` - // The name of the branch where you will create the commit. + // The name of the branch where you create the commit. // // BranchName is a required field BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"` - // The commit message you want to include as part of creating the commit. Commit - // messages are limited to 256 KB. If no message is specified, a default message - // will be used. + // The commit message you want to include in the commit. Commit messages are + // limited to 256 KB. If no message is specified, a default message is used. CommitMessage *string `locationName:"commitMessage" type:"string"` - // The files to delete in this commit. These files will still exist in prior - // commits. + // The files to delete in this commit. These files still exist in earlier commits. DeleteFiles []*DeleteFileEntry `locationName:"deleteFiles" type:"list"` // The email address of the person who created the commit. Email *string `locationName:"email" type:"string"` // If the commit contains deletions, whether to keep a folder or folder structure - // if the changes leave the folders empty. If this is specified as true, a .gitkeep - // file will be created for empty folders. The default is false. + // if the changes leave the folders empty. If true, a ..gitkeep file is created + // for empty folders. The default is false. KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"` - // The ID of the commit that is the parent of the commit you will create. If - // this is an empty repository, this is not required. + // The ID of the commit that is the parent of the commit you create. Not required + // if this is an empty repository. ParentCommitId *string `locationName:"parentCommitId" type:"string"` // The files to add or update in this commit. PutFiles []*PutFileEntry `locationName:"putFiles" type:"list"` - // The name of the repository where you will create the commit. + // The name of the repository where you create the commit. // // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` @@ -9293,31 +12608,153 @@ func (s *CreateCommitOutput) SetTreeId(v string) *CreateCommitOutput { return s } +type CreatePullRequestApprovalRuleInput struct { + _ struct{} `type:"structure"` + + // The content of the approval rule, including the number of approvals needed + // and the structure of an approval pool defined for approvals, if any. For + // more information about approval pools, see the AWS CodeCommit User Guide. + // + // When you create the content of the approval rule, you can specify approvers + // in an approval pool in one of two ways: + // + // * CodeCommitApprovers: This option only requires an AWS account and a + // resource. It can be used for both IAM users and federated access users + // whose name matches the provided resource name. This is a very powerful + // option that offers a great deal of flexibility. For example, if you specify + // the AWS account 123456789012 and Mary_Major, all of the following would + // be counted as approvals coming from that user: An IAM user in the account + // (arn:aws:iam::123456789012:user/Mary_Major) A federated user identified + // in IAM as Mary_Major (arn:aws:sts::123456789012:federated-user/Mary_Major) + // This option does not recognize an active session of someone assuming the + // role of CodeCommitReview with a role session name of Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major) + // unless you include a wildcard (*Mary_Major). + // + // * Fully qualified ARN: This option allows you to specify the fully qualified + // Amazon Resource Name (ARN) of the IAM user or role. + // + // For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers + // (https://docs.aws.amazon.com/iam/latest/UserGuide/reference_identifiers.html) + // in the IAM User Guide. + // + // ApprovalRuleContent is a required field + ApprovalRuleContent *string `locationName:"approvalRuleContent" min:"1" type:"string" required:"true"` + + // The name for the approval rule. + // + // ApprovalRuleName is a required field + ApprovalRuleName *string `locationName:"approvalRuleName" min:"1" type:"string" required:"true"` + + // The system-generated ID of the pull request for which you want to create + // the approval rule. + // + // PullRequestId is a required field + PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatePullRequestApprovalRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePullRequestApprovalRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePullRequestApprovalRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePullRequestApprovalRuleInput"} + if s.ApprovalRuleContent == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleContent")) + } + if s.ApprovalRuleContent != nil && len(*s.ApprovalRuleContent) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleContent", 1)) + } + if s.ApprovalRuleName == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleName")) + } + if s.ApprovalRuleName != nil && len(*s.ApprovalRuleName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleName", 1)) + } + if s.PullRequestId == nil { + invalidParams.Add(request.NewErrParamRequired("PullRequestId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApprovalRuleContent sets the ApprovalRuleContent field's value. +func (s *CreatePullRequestApprovalRuleInput) SetApprovalRuleContent(v string) *CreatePullRequestApprovalRuleInput { + s.ApprovalRuleContent = &v + return s +} + +// SetApprovalRuleName sets the ApprovalRuleName field's value. +func (s *CreatePullRequestApprovalRuleInput) SetApprovalRuleName(v string) *CreatePullRequestApprovalRuleInput { + s.ApprovalRuleName = &v + return s +} + +// SetPullRequestId sets the PullRequestId field's value. +func (s *CreatePullRequestApprovalRuleInput) SetPullRequestId(v string) *CreatePullRequestApprovalRuleInput { + s.PullRequestId = &v + return s +} + +type CreatePullRequestApprovalRuleOutput struct { + _ struct{} `type:"structure"` + + // Information about the created approval rule. + // + // ApprovalRule is a required field + ApprovalRule *ApprovalRule `locationName:"approvalRule" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreatePullRequestApprovalRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePullRequestApprovalRuleOutput) GoString() string { + return s.String() +} + +// SetApprovalRule sets the ApprovalRule field's value. +func (s *CreatePullRequestApprovalRuleOutput) SetApprovalRule(v *ApprovalRule) *CreatePullRequestApprovalRuleOutput { + s.ApprovalRule = v + return s +} + type CreatePullRequestInput struct { _ struct{} `type:"structure"` - // A unique, client-generated idempotency token that when provided in a request, + // A unique, client-generated idempotency token that, when provided in a request, // ensures the request cannot be repeated with a changed parameter. If a request // is received with the same parameters and a token is included, the request - // will return information about the initial request that used that token. + // returns information about the initial request that used that token. // - // The AWS SDKs prepopulate client request tokens. If using an AWS SDK, you - // do not have to generate an idempotency token, as this will be done for you. + // The AWS SDKs prepopulate client request tokens. If you are using an AWS SDK, + // an idempotency token is created for you. ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` // A description of the pull request. Description *string `locationName:"description" type:"string"` // The targets for the pull request, including the source of the code to be - // reviewed (the source branch), and the destination where the creator of the + // reviewed (the source branch) and the destination where the creator of the // pull request intends the code to be merged after the pull request is closed // (the destination branch). // // Targets is a required field Targets []*Target `locationName:"targets" type:"list" required:"true"` - // The title of the pull request. This title will be used to identify the pull - // request to other users in the repository. + // The title of the pull request. This title is used to identify the pull request + // to other users in the repository. // // Title is a required field Title *string `locationName:"title" type:"string" required:"true"` @@ -9416,18 +12853,18 @@ type CreateRepositoryInput struct { // // The description field for a repository accepts all HTML characters and all // valid Unicode characters. Applications that do not HTML-encode the description - // and display it in a web page could expose users to potentially malicious - // code. Make sure that you HTML-encode the description field in any application - // that uses this API to display the repository description on a web page. + // and display it in a webpage can expose users to potentially malicious code. + // Make sure that you HTML-encode the description field in any application that + // uses this API to display the repository description on a webpage. RepositoryDescription *string `locationName:"repositoryDescription" type:"string"` // The name of the new repository to be created. // - // The repository name must be unique across the calling AWS account. In addition, - // repository names are limited to 100 alphanumeric, dash, and underscore characters, - // and cannot include certain characters. For a full description of the limits + // The repository name must be unique across the calling AWS account. Repository + // names are limited to 100 alphanumeric, dash, and underscore characters, and + // cannot include certain characters. For more information about the limits // on repository names, see Limits (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html) - // in the AWS CodeCommit User Guide. The suffix ".git" is prohibited. + // in the AWS CodeCommit User Guide. The suffix .git is prohibited. // // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` @@ -9508,31 +12945,30 @@ type CreateUnreferencedMergeCommitInput struct { _ struct{} `type:"structure"` // The name of the author who created the unreferenced commit. This information - // will be used as both the author and committer for the commit. + // is used as both the author and committer for the commit. AuthorName *string `locationName:"authorName" type:"string"` // The commit message for the unreferenced commit. CommitMessage *string `locationName:"commitMessage" type:"string"` // The level of conflict detail to use. If unspecified, the default FILE_LEVEL - // is used, which will return a not mergeable result if the same file has differences - // in both branches. If LINE_LEVEL is specified, a conflict will be considered - // not mergeable if the same file in both branches has differences on the same - // line. + // is used, which returns a not-mergeable result if the same file has differences + // in both branches. If LINE_LEVEL is specified, a conflict is considered not + // mergeable if the same file in both branches has differences on the same line. ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"` - // A list of inputs to use when resolving conflicts during a merge if AUTOMERGE - // is chosen as the conflict resolution strategy. + // If AUTOMERGE is the conflict resolution strategy, a list of inputs to use + // when resolving conflicts during a merge. ConflictResolution *ConflictResolution `locationName:"conflictResolution" type:"structure"` // Specifies which branch to use when resolving conflicts, or whether to attempt // automatically merging two versions of a file. The default is NONE, which // requires any conflicts to be resolved manually before the merge operation - // will be successful. + // is successful. ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // DestinationCommitSpecifier is a required field DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"` @@ -9542,7 +12978,7 @@ type CreateUnreferencedMergeCommitInput struct { // If the commit contains deletions, whether to keep a folder or folder structure // if the changes leave the folders empty. If this is specified as true, a .gitkeep - // file will be created for empty folders. The default is false. + // file is created for empty folders. The default is false. KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"` // The merge option or strategy you want to use to merge the code. @@ -9557,7 +12993,7 @@ type CreateUnreferencedMergeCommitInput struct { RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // SourceCommitSpecifier is a required field SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"` @@ -9702,6 +13138,73 @@ func (s *CreateUnreferencedMergeCommitOutput) SetTreeId(v string) *CreateUnrefer return s } +type DeleteApprovalRuleTemplateInput struct { + _ struct{} `type:"structure"` + + // The name of the approval rule template to delete. + // + // ApprovalRuleTemplateName is a required field + ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteApprovalRuleTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApprovalRuleTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApprovalRuleTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApprovalRuleTemplateInput"} + if s.ApprovalRuleTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName")) + } + if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value. +func (s *DeleteApprovalRuleTemplateInput) SetApprovalRuleTemplateName(v string) *DeleteApprovalRuleTemplateInput { + s.ApprovalRuleTemplateName = &v + return s +} + +type DeleteApprovalRuleTemplateOutput struct { + _ struct{} `type:"structure"` + + // The system-generated ID of the deleted approval rule template. If the template + // has been previously deleted, the only response is a 200 OK. + // + // ApprovalRuleTemplateId is a required field + ApprovalRuleTemplateId *string `locationName:"approvalRuleTemplateId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteApprovalRuleTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApprovalRuleTemplateOutput) GoString() string { + return s.String() +} + +// SetApprovalRuleTemplateId sets the ApprovalRuleTemplateId field's value. +func (s *DeleteApprovalRuleTemplateOutput) SetApprovalRuleTemplateId(v string) *DeleteApprovalRuleTemplateOutput { + s.ApprovalRuleTemplateId = &v + return s +} + // Represents the input of a delete branch operation. type DeleteBranchInput struct { _ struct{} `type:"structure"` @@ -9848,12 +13351,11 @@ func (s *DeleteCommentContentOutput) SetComment(v *Comment) *DeleteCommentConten return s } -// A file that will be deleted as part of a commit. +// A file that is deleted as part of a commit. type DeleteFileEntry struct { _ struct{} `type:"structure"` - // The full path of the file that will be deleted, including the name of the - // file. + // The full path of the file to be deleted, including the name of the file. // // FilePath is a required field FilePath *string `locationName:"filePath" type:"string" required:"true"` @@ -9891,43 +13393,42 @@ func (s *DeleteFileEntry) SetFilePath(v string) *DeleteFileEntry { type DeleteFileInput struct { _ struct{} `type:"structure"` - // The name of the branch where the commit will be made deleting the file. + // The name of the branch where the commit that deletes the file is made. // // BranchName is a required field BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"` // The commit message you want to include as part of deleting the file. Commit // messages are limited to 256 KB. If no message is specified, a default message - // will be used. + // is used. CommitMessage *string `locationName:"commitMessage" type:"string"` // The email address for the commit that deletes the file. If no email address - // is specified, the email address will be left blank. + // is specified, the email address is left blank. Email *string `locationName:"email" type:"string"` - // The fully-qualified path to the file that will be deleted, including the - // full name and extension of that file. For example, /examples/file.md is a - // fully qualified path to a file named file.md in a folder named examples. + // The fully qualified path to the file that to be deleted, including the full + // name and extension of that file. For example, /examples/file.md is a fully + // qualified path to a file named file.md in a folder named examples. // // FilePath is a required field FilePath *string `locationName:"filePath" type:"string" required:"true"` - // Specifies whether to delete the folder or directory that contains the file - // you want to delete if that file is the only object in the folder or directory. - // By default, empty folders will be deleted. This includes empty folders that - // are part of the directory structure. For example, if the path to a file is - // dir1/dir2/dir3/dir4, and dir2 and dir3 are empty, deleting the last file - // in dir4 will also delete the empty folders dir4, dir3, and dir2. + // If a file is the only object in the folder or directory, specifies whether + // to delete the folder or directory that contains the file. By default, empty + // folders are deleted. This includes empty folders that are part of the directory + // structure. For example, if the path to a file is dir1/dir2/dir3/dir4, and + // dir2 and dir3 are empty, deleting the last file in dir4 also deletes the + // empty folders dir4, dir3, and dir2. KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"` // The name of the author of the commit that deletes the file. If no name is - // specified, the user's ARN will be used as the author name and committer name. + // specified, the user's ARN is used as the author name and committer name. Name *string `locationName:"name" type:"string"` // The ID of the commit that is the tip of the branch where you want to create - // the commit that will delete the file. This must be the HEAD commit for the - // branch. The commit that deletes the file will be created from this commit - // ID. + // the commit that deletes the file. This must be the HEAD commit for the branch. + // The commit that deletes the file is created from this commit ID. // // ParentCommitId is a required field ParentCommitId *string `locationName:"parentCommitId" type:"string" required:"true"` @@ -10038,8 +13539,8 @@ type DeleteFileOutput struct { // CommitId is a required field CommitId *string `locationName:"commitId" type:"string" required:"true"` - // The fully-qualified path to the file that will be deleted, including the - // full name and extension of that file. + // The fully qualified path to the file to be deleted, including the full name + // and extension of that file. // // FilePath is a required field FilePath *string `locationName:"filePath" type:"string" required:"true"` @@ -10067,21 +13568,105 @@ func (s *DeleteFileOutput) SetBlobId(v string) *DeleteFileOutput { return s } -// SetCommitId sets the CommitId field's value. -func (s *DeleteFileOutput) SetCommitId(v string) *DeleteFileOutput { - s.CommitId = &v - return s +// SetCommitId sets the CommitId field's value. +func (s *DeleteFileOutput) SetCommitId(v string) *DeleteFileOutput { + s.CommitId = &v + return s +} + +// SetFilePath sets the FilePath field's value. +func (s *DeleteFileOutput) SetFilePath(v string) *DeleteFileOutput { + s.FilePath = &v + return s +} + +// SetTreeId sets the TreeId field's value. +func (s *DeleteFileOutput) SetTreeId(v string) *DeleteFileOutput { + s.TreeId = &v + return s +} + +type DeletePullRequestApprovalRuleInput struct { + _ struct{} `type:"structure"` + + // The name of the approval rule you want to delete. + // + // ApprovalRuleName is a required field + ApprovalRuleName *string `locationName:"approvalRuleName" min:"1" type:"string" required:"true"` + + // The system-generated ID of the pull request that contains the approval rule + // you want to delete. + // + // PullRequestId is a required field + PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePullRequestApprovalRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePullRequestApprovalRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePullRequestApprovalRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePullRequestApprovalRuleInput"} + if s.ApprovalRuleName == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleName")) + } + if s.ApprovalRuleName != nil && len(*s.ApprovalRuleName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleName", 1)) + } + if s.PullRequestId == nil { + invalidParams.Add(request.NewErrParamRequired("PullRequestId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApprovalRuleName sets the ApprovalRuleName field's value. +func (s *DeletePullRequestApprovalRuleInput) SetApprovalRuleName(v string) *DeletePullRequestApprovalRuleInput { + s.ApprovalRuleName = &v + return s +} + +// SetPullRequestId sets the PullRequestId field's value. +func (s *DeletePullRequestApprovalRuleInput) SetPullRequestId(v string) *DeletePullRequestApprovalRuleInput { + s.PullRequestId = &v + return s +} + +type DeletePullRequestApprovalRuleOutput struct { + _ struct{} `type:"structure"` + + // The ID of the deleted approval rule. + // + // If the approval rule was deleted in an earlier API call, the response is + // 200 OK without content. + // + // ApprovalRuleId is a required field + ApprovalRuleId *string `locationName:"approvalRuleId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePullRequestApprovalRuleOutput) String() string { + return awsutil.Prettify(s) } -// SetFilePath sets the FilePath field's value. -func (s *DeleteFileOutput) SetFilePath(v string) *DeleteFileOutput { - s.FilePath = &v - return s +// GoString returns the string representation +func (s DeletePullRequestApprovalRuleOutput) GoString() string { + return s.String() } -// SetTreeId sets the TreeId field's value. -func (s *DeleteFileOutput) SetTreeId(v string) *DeleteFileOutput { - s.TreeId = &v +// SetApprovalRuleId sets the ApprovalRuleId field's value. +func (s *DeletePullRequestApprovalRuleOutput) SetApprovalRuleId(v string) *DeletePullRequestApprovalRuleOutput { + s.ApprovalRuleId = &v return s } @@ -10155,20 +13740,19 @@ type DescribeMergeConflictsInput struct { _ struct{} `type:"structure"` // The level of conflict detail to use. If unspecified, the default FILE_LEVEL - // is used, which will return a not mergeable result if the same file has differences - // in both branches. If LINE_LEVEL is specified, a conflict will be considered - // not mergeable if the same file in both branches has differences on the same - // line. + // is used, which returns a not-mergeable result if the same file has differences + // in both branches. If LINE_LEVEL is specified, a conflict is considered not + // mergeable if the same file in both branches has differences on the same line. ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"` // Specifies which branch to use when resolving conflicts, or whether to attempt // automatically merging two versions of a file. The default is NONE, which // requires any conflicts to be resolved manually before the merge operation - // will be successful. + // is successful. ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // DestinationCommitSpecifier is a required field DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"` @@ -10186,7 +13770,7 @@ type DescribeMergeConflictsInput struct { // MergeOption is a required field MergeOption *string `locationName:"mergeOption" type:"string" required:"true" enum:"MergeOptionTypeEnum"` - // An enumeration token that when provided in a request, returns the next batch + // An enumeration token that, when provided in a request, returns the next batch // of the results. NextToken *string `locationName:"nextToken" type:"string"` @@ -10197,7 +13781,7 @@ type DescribeMergeConflictsInput struct { RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // SourceCommitSpecifier is a required field SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"` @@ -10377,16 +13961,16 @@ type DescribePullRequestEventsInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the user whose actions resulted in the - // event. Examples include updating the pull request with additional commits - // or changing the status of a pull request. + // event. Examples include updating the pull request with more commits or changing + // the status of a pull request. ActorArn *string `locationName:"actorArn" type:"string"` - // A non-negative integer used to limit the number of returned results. The - // default is 100 events, which is also the maximum number of events that can - // be returned in a result. + // A non-zero, non-negative integer used to limit the number of returned results. + // The default is 100 events, which is also the maximum number of events that + // can be returned in a result. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // An enumeration token that when provided in a request, returns the next batch + // An enumeration token that, when provided in a request, returns the next batch // of the results. NextToken *string `locationName:"nextToken" type:"string"` @@ -10532,11 +14116,217 @@ func (s *Difference) SetChangeType(v string) *Difference { return s } +type DisassociateApprovalRuleTemplateFromRepositoryInput struct { + _ struct{} `type:"structure"` + + // The name of the approval rule template to disassociate from a specified repository. + // + // ApprovalRuleTemplateName is a required field + ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"` + + // The name of the repository you want to disassociate from the template. + // + // RepositoryName is a required field + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateApprovalRuleTemplateFromRepositoryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateApprovalRuleTemplateFromRepositoryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateApprovalRuleTemplateFromRepositoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateApprovalRuleTemplateFromRepositoryInput"} + if s.ApprovalRuleTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName")) + } + if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1)) + } + if s.RepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryName")) + } + if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value. +func (s *DisassociateApprovalRuleTemplateFromRepositoryInput) SetApprovalRuleTemplateName(v string) *DisassociateApprovalRuleTemplateFromRepositoryInput { + s.ApprovalRuleTemplateName = &v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *DisassociateApprovalRuleTemplateFromRepositoryInput) SetRepositoryName(v string) *DisassociateApprovalRuleTemplateFromRepositoryInput { + s.RepositoryName = &v + return s +} + +type DisassociateApprovalRuleTemplateFromRepositoryOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateApprovalRuleTemplateFromRepositoryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateApprovalRuleTemplateFromRepositoryOutput) GoString() string { + return s.String() +} + +type EvaluatePullRequestApprovalRulesInput struct { + _ struct{} `type:"structure"` + + // The system-generated ID of the pull request you want to evaluate. + // + // PullRequestId is a required field + PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"` + + // The system-generated ID for the pull request revision. To retrieve the most + // recent revision ID for a pull request, use GetPullRequest. + // + // RevisionId is a required field + RevisionId *string `locationName:"revisionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s EvaluatePullRequestApprovalRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EvaluatePullRequestApprovalRulesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluatePullRequestApprovalRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluatePullRequestApprovalRulesInput"} + if s.PullRequestId == nil { + invalidParams.Add(request.NewErrParamRequired("PullRequestId")) + } + if s.RevisionId == nil { + invalidParams.Add(request.NewErrParamRequired("RevisionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPullRequestId sets the PullRequestId field's value. +func (s *EvaluatePullRequestApprovalRulesInput) SetPullRequestId(v string) *EvaluatePullRequestApprovalRulesInput { + s.PullRequestId = &v + return s +} + +// SetRevisionId sets the RevisionId field's value. +func (s *EvaluatePullRequestApprovalRulesInput) SetRevisionId(v string) *EvaluatePullRequestApprovalRulesInput { + s.RevisionId = &v + return s +} + +type EvaluatePullRequestApprovalRulesOutput struct { + _ struct{} `type:"structure"` + + // The result of the evaluation, including the names of the rules whose conditions + // have been met (if any), the names of the rules whose conditions have not + // been met (if any), whether the pull request is in the approved state, and + // whether the pull request approval rule has been set aside by an override. + // + // Evaluation is a required field + Evaluation *Evaluation `locationName:"evaluation" type:"structure" required:"true"` +} + +// String returns the string representation +func (s EvaluatePullRequestApprovalRulesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EvaluatePullRequestApprovalRulesOutput) GoString() string { + return s.String() +} + +// SetEvaluation sets the Evaluation field's value. +func (s *EvaluatePullRequestApprovalRulesOutput) SetEvaluation(v *Evaluation) *EvaluatePullRequestApprovalRulesOutput { + s.Evaluation = v + return s +} + +// Returns information about the approval rules applied to a pull request and +// whether conditions have been met. +type Evaluation struct { + _ struct{} `type:"structure"` + + // The names of the approval rules that have not had their conditions met. + ApprovalRulesNotSatisfied []*string `locationName:"approvalRulesNotSatisfied" type:"list"` + + // The names of the approval rules that have had their conditions met. + ApprovalRulesSatisfied []*string `locationName:"approvalRulesSatisfied" type:"list"` + + // Whether the state of the pull request is approved. + Approved *bool `locationName:"approved" type:"boolean"` + + // Whether the approval rule requirements for the pull request have been overridden + // and no longer need to be met. + Overridden *bool `locationName:"overridden" type:"boolean"` +} + +// String returns the string representation +func (s Evaluation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Evaluation) GoString() string { + return s.String() +} + +// SetApprovalRulesNotSatisfied sets the ApprovalRulesNotSatisfied field's value. +func (s *Evaluation) SetApprovalRulesNotSatisfied(v []*string) *Evaluation { + s.ApprovalRulesNotSatisfied = v + return s +} + +// SetApprovalRulesSatisfied sets the ApprovalRulesSatisfied field's value. +func (s *Evaluation) SetApprovalRulesSatisfied(v []*string) *Evaluation { + s.ApprovalRulesSatisfied = v + return s +} + +// SetApproved sets the Approved field's value. +func (s *Evaluation) SetApproved(v bool) *Evaluation { + s.Approved = &v + return s +} + +// SetOverridden sets the Overridden field's value. +func (s *Evaluation) SetOverridden(v bool) *Evaluation { + s.Overridden = &v + return s +} + // Returns information about a file in a repository. type File struct { _ struct{} `type:"structure"` - // The fully-qualified path to the file in the repository. + // The fully qualified path to the file in the repository. AbsolutePath *string `locationName:"absolutePath" type:"string"` // The blob ID that contains the file information. @@ -10584,12 +14374,12 @@ func (s *File) SetRelativePath(v string) *File { return s } -// A file that will be added, updated, or deleted as part of a commit. +// A file to be added, updated, or deleted as part of a commit. type FileMetadata struct { _ struct{} `type:"structure"` - // The full path to the file that will be added or updated, including the name - // of the file. + // The full path to the file to be added or updated, including the name of the + // file. AbsolutePath *string `locationName:"absolutePath" type:"string"` // The blob ID that contains the file information. @@ -10716,7 +14506,7 @@ func (s *FileSizes) SetSource(v int64) *FileSizes { type Folder struct { _ struct{} `type:"structure"` - // The fully-qualified path of the folder in the repository. + // The fully qualified path of the folder in the repository. AbsolutePath *string `locationName:"absolutePath" type:"string"` // The relative path of the specified folder from the folder where the query @@ -10756,6 +14546,72 @@ func (s *Folder) SetTreeId(v string) *Folder { return s } +type GetApprovalRuleTemplateInput struct { + _ struct{} `type:"structure"` + + // The name of the approval rule template for which you want to get information. + // + // ApprovalRuleTemplateName is a required field + ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetApprovalRuleTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApprovalRuleTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetApprovalRuleTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetApprovalRuleTemplateInput"} + if s.ApprovalRuleTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName")) + } + if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value. +func (s *GetApprovalRuleTemplateInput) SetApprovalRuleTemplateName(v string) *GetApprovalRuleTemplateInput { + s.ApprovalRuleTemplateName = &v + return s +} + +type GetApprovalRuleTemplateOutput struct { + _ struct{} `type:"structure"` + + // The content and structure of the approval rule template. + // + // ApprovalRuleTemplate is a required field + ApprovalRuleTemplate *ApprovalRuleTemplate `locationName:"approvalRuleTemplate" type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetApprovalRuleTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetApprovalRuleTemplateOutput) GoString() string { + return s.String() +} + +// SetApprovalRuleTemplate sets the ApprovalRuleTemplate field's value. +func (s *GetApprovalRuleTemplateOutput) SetApprovalRuleTemplate(v *ApprovalRuleTemplate) *GetApprovalRuleTemplateOutput { + s.ApprovalRuleTemplate = v + return s +} + // Represents the input of a get blob operation. type GetBlobInput struct { _ struct{} `type:"structure"` @@ -10980,17 +14836,17 @@ type GetCommentsForComparedCommitInput struct { _ struct{} `type:"structure"` // To establish the directionality of the comparison, the full commit ID of - // the 'after' commit. + // the after commit. // // AfterCommitId is a required field AfterCommitId *string `locationName:"afterCommitId" type:"string" required:"true"` // To establish the directionality of the comparison, the full commit ID of - // the 'before' commit. + // the before commit. BeforeCommitId *string `locationName:"beforeCommitId" type:"string"` - // A non-negative integer used to limit the number of returned results. The - // default is 100 comments, and is configurable up to 500. + // A non-zero, non-negative integer used to limit the number of returned results. + // The default is 100 comments, but you can configure up to 500. MaxResults *int64 `locationName:"maxResults" type:"integer"` // An enumeration token that when provided in a request, returns the next batch @@ -11106,12 +14962,12 @@ type GetCommentsForPullRequestInput struct { // of the branch at the time the pull request was created. BeforeCommitId *string `locationName:"beforeCommitId" type:"string"` - // A non-negative integer used to limit the number of returned results. The - // default is 100 comments. You can return up to 500 comments with a single + // A non-zero, non-negative integer used to limit the number of returned results. + // The default is 100 comments. You can return up to 500 comments with a single // request. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // An enumeration token that when provided in a request, returns the next batch + // An enumeration token that, when provided in a request, returns the next batch // of the results. NextToken *string `locationName:"nextToken" type:"string"` @@ -11223,7 +15079,7 @@ func (s *GetCommentsForPullRequestOutput) SetNextToken(v string) *GetCommentsFor type GetCommitInput struct { _ struct{} `type:"structure"` - // The commit ID. Commit IDs are the full SHA of the commit. + // The commit ID. Commit IDs are the full SHA ID of the commit. // // CommitId is a required field CommitId *string `locationName:"commitId" type:"string" required:"true"` @@ -11312,26 +15168,26 @@ type GetDifferencesInput struct { // The file path in which to check differences. Limits the results to this path. // Can also be used to specify the changed name of a directory or folder, if - // it has changed. If not specified, differences will be shown for all paths. + // it has changed. If not specified, differences are shown for all paths. AfterPath *string `locationName:"afterPath" type:"string"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, the full commit ID. Optional. If not specified, all - // changes prior to the afterCommitSpecifier value will be shown. If you do - // not use beforeCommitSpecifier in your request, consider limiting the results - // with maxResults. + // a commit (for example, the full commit ID). Optional. If not specified, all + // changes before the afterCommitSpecifier value are shown. If you do not use + // beforeCommitSpecifier in your request, consider limiting the results with + // maxResults. BeforeCommitSpecifier *string `locationName:"beforeCommitSpecifier" type:"string"` // The file path in which to check for differences. Limits the results to this // path. Can also be used to specify the previous name of a directory or folder. - // If beforePath and afterPath are not specified, differences will be shown - // for all paths. + // If beforePath and afterPath are not specified, differences are shown for + // all paths. BeforePath *string `locationName:"beforePath" type:"string"` - // A non-negative integer used to limit the number of returned results. + // A non-zero, non-negative integer used to limit the number of returned results. MaxResults *int64 `type:"integer"` - // An enumeration token that when provided in a request, returns the next batch + // An enumeration token that, when provided in a request, returns the next batch // of the results. NextToken *string `type:"string"` @@ -11415,8 +15271,8 @@ func (s *GetDifferencesInput) SetRepositoryName(v string) *GetDifferencesInput { type GetDifferencesOutput struct { _ struct{} `type:"structure"` - // A differences data type object that contains information about the differences, - // including whether the difference is added, modified, or deleted (A, D, M). + // A data type object that contains information about the differences, including + // whether the difference is added, modified, or deleted (A, D, M). Differences []*Difference `locationName:"differences" type:"list"` // An enumeration token that can be used in a request to return the next batch @@ -11449,14 +15305,14 @@ func (s *GetDifferencesOutput) SetNextToken(v string) *GetDifferencesOutput { type GetFileInput struct { _ struct{} `type:"structure"` - // The fully-quaified reference that identifies the commit that contains the - // file. For example, you could specify a full commit ID, a tag, a branch name, - // or a reference such as refs/heads/master. If none is provided, then the head - // commit will be used. + // The fully quaified reference that identifies the commit that contains the + // file. For example, you can specify a full commit ID, a tag, a branch name, + // or a reference such as refs/heads/master. If none is provided, the head commit + // is used. CommitSpecifier *string `locationName:"commitSpecifier" type:"string"` - // The fully-qualified path to the file, including the full name and extension - // of the file. For example, /examples/file.md is the fully-qualified path to + // The fully qualified path to the file, including the full name and extension + // of the file. For example, /examples/file.md is the fully qualified path to // a file named file.md in a folder named examples. // // FilePath is a required field @@ -11541,13 +15397,13 @@ type GetFileOutput struct { // // The file mode permissions returned by this API are not the standard file // mode permission values, such as 100644, but rather extrapolated values. See - // below for a full list of supported return values. + // the supported return values. // // FileMode is a required field FileMode *string `locationName:"fileMode" type:"string" required:"true" enum:"FileModeTypeEnum"` - // The fully qualified path to the specified file. This returns the name and - // extension of the file. + // The fully qualified path to the specified file. Returns the name and extension + // of the file. // // FilePath is a required field FilePath *string `locationName:"filePath" type:"string" required:"true"` @@ -11607,13 +15463,13 @@ func (s *GetFileOutput) SetFileSize(v int64) *GetFileOutput { type GetFolderInput struct { _ struct{} `type:"structure"` - // A fully-qualified reference used to identify a commit that contains the version - // of the folder's content to return. A fully-qualified reference can be a commit + // A fully qualified reference used to identify a commit that contains the version + // of the folder's content to return. A fully qualified reference can be a commit // ID, branch name, tag, or reference such as HEAD. If no specifier is provided, - // the folder content will be returned as it exists in the HEAD commit. + // the folder content is returned as it exists in the HEAD commit. CommitSpecifier *string `locationName:"commitSpecifier" type:"string"` - // The fully-qualified path to the folder whose contents will be returned, including + // The fully qualified path to the folder whose contents are returned, including // the folder name. For example, /examples is a fully-qualified path to a folder // named examples that was created off of the root directory (/) of a repository. // @@ -11676,28 +15532,28 @@ func (s *GetFolderInput) SetRepositoryName(v string) *GetFolderInput { type GetFolderOutput struct { _ struct{} `type:"structure"` - // The full commit ID used as a reference for which version of the folder content - // is returned. + // The full commit ID used as a reference for the returned version of the folder + // content. // // CommitId is a required field CommitId *string `locationName:"commitId" type:"string" required:"true"` - // The list of files that exist in the specified folder, if any. + // The list of files in the specified folder, if any. Files []*File `locationName:"files" type:"list"` - // The fully-qualified path of the folder whose contents are returned. + // The fully qualified path of the folder whose contents are returned. // // FolderPath is a required field FolderPath *string `locationName:"folderPath" type:"string" required:"true"` - // The list of folders that exist beneath the specified folder, if any. + // The list of folders that exist under the specified folder, if any. SubFolders []*Folder `locationName:"subFolders" type:"list"` - // The list of submodules that exist in the specified folder, if any. + // The list of submodules in the specified folder, if any. SubModules []*SubModule `locationName:"subModules" type:"list"` - // The list of symbolic links to other files and folders that exist in the specified - // folder, if any. + // The list of symbolic links to other files and folders in the specified folder, + // if any. SymbolicLinks []*SymbolicLink `locationName:"symbolicLinks" type:"list"` // The full SHA-1 pointer of the tree information for the commit that contains @@ -11761,20 +15617,19 @@ type GetMergeCommitInput struct { _ struct{} `type:"structure"` // The level of conflict detail to use. If unspecified, the default FILE_LEVEL - // is used, which will return a not mergeable result if the same file has differences - // in both branches. If LINE_LEVEL is specified, a conflict will be considered - // not mergeable if the same file in both branches has differences on the same - // line. + // is used, which returns a not-mergeable result if the same file has differences + // in both branches. If LINE_LEVEL is specified, a conflict is considered not + // mergeable if the same file in both branches has differences on the same line. ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"` // Specifies which branch to use when resolving conflicts, or whether to attempt // automatically merging two versions of a file. The default is NONE, which // requires any conflicts to be resolved manually before the merge operation - // will be successful. + // is successful. ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // DestinationCommitSpecifier is a required field DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"` @@ -11786,7 +15641,7 @@ type GetMergeCommitInput struct { RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // SourceCommitSpecifier is a required field SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"` @@ -11866,7 +15721,7 @@ type GetMergeCommitOutput struct { // The commit ID for the merge commit created when the source branch was merged // into the destination branch. If the fast-forward merge strategy was used, - // no merge commit exists. + // there is no merge commit. MergedCommitId *string `locationName:"mergedCommitId" type:"string"` // The commit ID of the source commit specifier that was used in the merge evaluation. @@ -11911,20 +15766,19 @@ type GetMergeConflictsInput struct { _ struct{} `type:"structure"` // The level of conflict detail to use. If unspecified, the default FILE_LEVEL - // is used, which will return a not mergeable result if the same file has differences - // in both branches. If LINE_LEVEL is specified, a conflict will be considered - // not mergeable if the same file in both branches has differences on the same - // line. + // is used, which returns a not-mergeable result if the same file has differences + // in both branches. If LINE_LEVEL is specified, a conflict is considered not + // mergeable if the same file in both branches has differences on the same line. ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"` // Specifies which branch to use when resolving conflicts, or whether to attempt // automatically merging two versions of a file. The default is NONE, which // requires any conflicts to be resolved manually before the merge operation - // will be successful. + // is successful. ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // DestinationCommitSpecifier is a required field DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"` @@ -11937,7 +15791,7 @@ type GetMergeConflictsInput struct { // MergeOption is a required field MergeOption *string `locationName:"mergeOption" type:"string" required:"true" enum:"MergeOptionTypeEnum"` - // An enumeration token that when provided in a request, returns the next batch + // An enumeration token that, when provided in a request, returns the next batch // of the results. NextToken *string `locationName:"nextToken" type:"string"` @@ -11947,7 +15801,7 @@ type GetMergeConflictsInput struct { RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // SourceCommitSpecifier is a required field SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"` @@ -12043,7 +15897,7 @@ type GetMergeConflictsOutput struct { BaseCommitId *string `locationName:"baseCommitId" type:"string"` // A list of metadata for any conflicting files. If the specified merge strategy - // is FAST_FORWARD_MERGE, this list will always be empty. + // is FAST_FORWARD_MERGE, this list is always empty. // // ConflictMetadataList is a required field ConflictMetadataList []*ConflictMetadata `locationName:"conflictMetadataList" type:"list" required:"true"` @@ -12120,20 +15974,19 @@ type GetMergeOptionsInput struct { _ struct{} `type:"structure"` // The level of conflict detail to use. If unspecified, the default FILE_LEVEL - // is used, which will return a not mergeable result if the same file has differences - // in both branches. If LINE_LEVEL is specified, a conflict will be considered - // not mergeable if the same file in both branches has differences on the same - // line. + // is used, which returns a not-mergeable result if the same file has differences + // in both branches. If LINE_LEVEL is specified, a conflict is considered not + // mergeable if the same file in both branches has differences on the same line. ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"` // Specifies which branch to use when resolving conflicts, or whether to attempt // automatically merging two versions of a file. The default is NONE, which // requires any conflicts to be resolved manually before the merge operation - // will be successful. + // is successful. ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // DestinationCommitSpecifier is a required field DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"` @@ -12145,7 +15998,7 @@ type GetMergeOptionsInput struct { RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // SourceCommitSpecifier is a required field SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"` @@ -12243,32 +16096,107 @@ func (s GetMergeOptionsOutput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s GetMergeOptionsOutput) GoString() string { - return s.String() +// GoString returns the string representation +func (s GetMergeOptionsOutput) GoString() string { + return s.String() +} + +// SetBaseCommitId sets the BaseCommitId field's value. +func (s *GetMergeOptionsOutput) SetBaseCommitId(v string) *GetMergeOptionsOutput { + s.BaseCommitId = &v + return s +} + +// SetDestinationCommitId sets the DestinationCommitId field's value. +func (s *GetMergeOptionsOutput) SetDestinationCommitId(v string) *GetMergeOptionsOutput { + s.DestinationCommitId = &v + return s +} + +// SetMergeOptions sets the MergeOptions field's value. +func (s *GetMergeOptionsOutput) SetMergeOptions(v []*string) *GetMergeOptionsOutput { + s.MergeOptions = v + return s +} + +// SetSourceCommitId sets the SourceCommitId field's value. +func (s *GetMergeOptionsOutput) SetSourceCommitId(v string) *GetMergeOptionsOutput { + s.SourceCommitId = &v + return s +} + +type GetPullRequestApprovalStatesInput struct { + _ struct{} `type:"structure"` + + // The system-generated ID for the pull request. + // + // PullRequestId is a required field + PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"` + + // The system-generated ID for the pull request revision. + // + // RevisionId is a required field + RevisionId *string `locationName:"revisionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetPullRequestApprovalStatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPullRequestApprovalStatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPullRequestApprovalStatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPullRequestApprovalStatesInput"} + if s.PullRequestId == nil { + invalidParams.Add(request.NewErrParamRequired("PullRequestId")) + } + if s.RevisionId == nil { + invalidParams.Add(request.NewErrParamRequired("RevisionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPullRequestId sets the PullRequestId field's value. +func (s *GetPullRequestApprovalStatesInput) SetPullRequestId(v string) *GetPullRequestApprovalStatesInput { + s.PullRequestId = &v + return s } -// SetBaseCommitId sets the BaseCommitId field's value. -func (s *GetMergeOptionsOutput) SetBaseCommitId(v string) *GetMergeOptionsOutput { - s.BaseCommitId = &v +// SetRevisionId sets the RevisionId field's value. +func (s *GetPullRequestApprovalStatesInput) SetRevisionId(v string) *GetPullRequestApprovalStatesInput { + s.RevisionId = &v return s } -// SetDestinationCommitId sets the DestinationCommitId field's value. -func (s *GetMergeOptionsOutput) SetDestinationCommitId(v string) *GetMergeOptionsOutput { - s.DestinationCommitId = &v - return s +type GetPullRequestApprovalStatesOutput struct { + _ struct{} `type:"structure"` + + // Information about users who have approved the pull request. + Approvals []*Approval `locationName:"approvals" type:"list"` } -// SetMergeOptions sets the MergeOptions field's value. -func (s *GetMergeOptionsOutput) SetMergeOptions(v []*string) *GetMergeOptionsOutput { - s.MergeOptions = v - return s +// String returns the string representation +func (s GetPullRequestApprovalStatesOutput) String() string { + return awsutil.Prettify(s) } -// SetSourceCommitId sets the SourceCommitId field's value. -func (s *GetMergeOptionsOutput) SetSourceCommitId(v string) *GetMergeOptionsOutput { - s.SourceCommitId = &v +// GoString returns the string representation +func (s GetPullRequestApprovalStatesOutput) GoString() string { + return s.String() +} + +// SetApprovals sets the Approvals field's value. +func (s *GetPullRequestApprovalStatesOutput) SetApprovals(v []*Approval) *GetPullRequestApprovalStatesOutput { + s.Approvals = v return s } @@ -12335,6 +16263,94 @@ func (s *GetPullRequestOutput) SetPullRequest(v *PullRequest) *GetPullRequestOut return s } +type GetPullRequestOverrideStateInput struct { + _ struct{} `type:"structure"` + + // The ID of the pull request for which you want to get information about whether + // approval rules have been set aside (overridden). + // + // PullRequestId is a required field + PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"` + + // The system-generated ID of the revision for the pull request. To retrieve + // the most recent revision ID, use GetPullRequest. + // + // RevisionId is a required field + RevisionId *string `locationName:"revisionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetPullRequestOverrideStateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPullRequestOverrideStateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPullRequestOverrideStateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPullRequestOverrideStateInput"} + if s.PullRequestId == nil { + invalidParams.Add(request.NewErrParamRequired("PullRequestId")) + } + if s.RevisionId == nil { + invalidParams.Add(request.NewErrParamRequired("RevisionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPullRequestId sets the PullRequestId field's value. +func (s *GetPullRequestOverrideStateInput) SetPullRequestId(v string) *GetPullRequestOverrideStateInput { + s.PullRequestId = &v + return s +} + +// SetRevisionId sets the RevisionId field's value. +func (s *GetPullRequestOverrideStateInput) SetRevisionId(v string) *GetPullRequestOverrideStateInput { + s.RevisionId = &v + return s +} + +type GetPullRequestOverrideStateOutput struct { + _ struct{} `type:"structure"` + + // A Boolean value that indicates whether a pull request has had its rules set + // aside (TRUE) or whether all approval rules still apply (FALSE). + Overridden *bool `locationName:"overridden" type:"boolean"` + + // The Amazon Resource Name (ARN) of the user or identity that overrode the + // rules and their requirements for the pull request. + Overrider *string `locationName:"overrider" type:"string"` +} + +// String returns the string representation +func (s GetPullRequestOverrideStateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPullRequestOverrideStateOutput) GoString() string { + return s.String() +} + +// SetOverridden sets the Overridden field's value. +func (s *GetPullRequestOverrideStateOutput) SetOverridden(v bool) *GetPullRequestOverrideStateOutput { + s.Overridden = &v + return s +} + +// SetOverrider sets the Overrider field's value. +func (s *GetPullRequestOverrideStateOutput) SetOverrider(v string) *GetPullRequestOverrideStateOutput { + s.Overrider = &v + return s +} + // Represents the input of a get repository operation. type GetRepositoryInput struct { _ struct{} `type:"structure"` @@ -12395,35 +16411,230 @@ func (s GetRepositoryOutput) GoString() string { return s.String() } -// SetRepositoryMetadata sets the RepositoryMetadata field's value. -func (s *GetRepositoryOutput) SetRepositoryMetadata(v *RepositoryMetadata) *GetRepositoryOutput { - s.RepositoryMetadata = v +// SetRepositoryMetadata sets the RepositoryMetadata field's value. +func (s *GetRepositoryOutput) SetRepositoryMetadata(v *RepositoryMetadata) *GetRepositoryOutput { + s.RepositoryMetadata = v + return s +} + +// Represents the input of a get repository triggers operation. +type GetRepositoryTriggersInput struct { + _ struct{} `type:"structure"` + + // The name of the repository for which the trigger is configured. + // + // RepositoryName is a required field + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetRepositoryTriggersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRepositoryTriggersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRepositoryTriggersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRepositoryTriggersInput"} + if s.RepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryName")) + } + if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *GetRepositoryTriggersInput) SetRepositoryName(v string) *GetRepositoryTriggersInput { + s.RepositoryName = &v + return s +} + +// Represents the output of a get repository triggers operation. +type GetRepositoryTriggersOutput struct { + _ struct{} `type:"structure"` + + // The system-generated unique ID for the trigger. + ConfigurationId *string `locationName:"configurationId" type:"string"` + + // The JSON block of configuration information for each trigger. + Triggers []*RepositoryTrigger `locationName:"triggers" type:"list"` +} + +// String returns the string representation +func (s GetRepositoryTriggersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetRepositoryTriggersOutput) GoString() string { + return s.String() +} + +// SetConfigurationId sets the ConfigurationId field's value. +func (s *GetRepositoryTriggersOutput) SetConfigurationId(v string) *GetRepositoryTriggersOutput { + s.ConfigurationId = &v + return s +} + +// SetTriggers sets the Triggers field's value. +func (s *GetRepositoryTriggersOutput) SetTriggers(v []*RepositoryTrigger) *GetRepositoryTriggersOutput { + s.Triggers = v + return s +} + +// Information about whether a file is binary or textual in a merge or pull +// request operation. +type IsBinaryFile struct { + _ struct{} `type:"structure"` + + // The binary or non-binary status of a file in the base of a merge or pull + // request. + Base *bool `locationName:"base" type:"boolean"` + + // The binary or non-binary status of a file in the destination of a merge or + // pull request. + Destination *bool `locationName:"destination" type:"boolean"` + + // The binary or non-binary status of file in the source of a merge or pull + // request. + Source *bool `locationName:"source" type:"boolean"` +} + +// String returns the string representation +func (s IsBinaryFile) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IsBinaryFile) GoString() string { + return s.String() +} + +// SetBase sets the Base field's value. +func (s *IsBinaryFile) SetBase(v bool) *IsBinaryFile { + s.Base = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *IsBinaryFile) SetDestination(v bool) *IsBinaryFile { + s.Destination = &v + return s +} + +// SetSource sets the Source field's value. +func (s *IsBinaryFile) SetSource(v bool) *IsBinaryFile { + s.Source = &v + return s +} + +type ListApprovalRuleTemplatesInput struct { + _ struct{} `type:"structure"` + + // A non-zero, non-negative integer used to limit the number of returned results. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // An enumeration token that, when provided in a request, returns the next batch + // of the results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListApprovalRuleTemplatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApprovalRuleTemplatesInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListApprovalRuleTemplatesInput) SetMaxResults(v int64) *ListApprovalRuleTemplatesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApprovalRuleTemplatesInput) SetNextToken(v string) *ListApprovalRuleTemplatesInput { + s.NextToken = &v + return s +} + +type ListApprovalRuleTemplatesOutput struct { + _ struct{} `type:"structure"` + + // The names of all the approval rule templates found in the AWS Region for + // your AWS account. + ApprovalRuleTemplateNames []*string `locationName:"approvalRuleTemplateNames" type:"list"` + + // An enumeration token that allows the operation to batch the next results + // of the operation. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListApprovalRuleTemplatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListApprovalRuleTemplatesOutput) GoString() string { + return s.String() +} + +// SetApprovalRuleTemplateNames sets the ApprovalRuleTemplateNames field's value. +func (s *ListApprovalRuleTemplatesOutput) SetApprovalRuleTemplateNames(v []*string) *ListApprovalRuleTemplatesOutput { + s.ApprovalRuleTemplateNames = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListApprovalRuleTemplatesOutput) SetNextToken(v string) *ListApprovalRuleTemplatesOutput { + s.NextToken = &v return s } -// Represents the input of a get repository triggers operation. -type GetRepositoryTriggersInput struct { +type ListAssociatedApprovalRuleTemplatesForRepositoryInput struct { _ struct{} `type:"structure"` - // The name of the repository for which the trigger is configured. + // A non-zero, non-negative integer used to limit the number of returned results. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // An enumeration token that, when provided in a request, returns the next batch + // of the results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The name of the repository for which you want to list all associated approval + // rule templates. // // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetRepositoryTriggersInput) String() string { +func (s ListAssociatedApprovalRuleTemplatesForRepositoryInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetRepositoryTriggersInput) GoString() string { +func (s ListAssociatedApprovalRuleTemplatesForRepositoryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetRepositoryTriggersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetRepositoryTriggersInput"} +func (s *ListAssociatedApprovalRuleTemplatesForRepositoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAssociatedApprovalRuleTemplatesForRepositoryInput"} if s.RepositoryName == nil { invalidParams.Add(request.NewErrParamRequired("RepositoryName")) } @@ -12437,88 +16648,54 @@ func (s *GetRepositoryTriggersInput) Validate() error { return nil } -// SetRepositoryName sets the RepositoryName field's value. -func (s *GetRepositoryTriggersInput) SetRepositoryName(v string) *GetRepositoryTriggersInput { - s.RepositoryName = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListAssociatedApprovalRuleTemplatesForRepositoryInput) SetMaxResults(v int64) *ListAssociatedApprovalRuleTemplatesForRepositoryInput { + s.MaxResults = &v return s } -// Represents the output of a get repository triggers operation. -type GetRepositoryTriggersOutput struct { - _ struct{} `type:"structure"` - - // The system-generated unique ID for the trigger. - ConfigurationId *string `locationName:"configurationId" type:"string"` - - // The JSON block of configuration information for each trigger. - Triggers []*RepositoryTrigger `locationName:"triggers" type:"list"` -} - -// String returns the string representation -func (s GetRepositoryTriggersOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetRepositoryTriggersOutput) GoString() string { - return s.String() -} - -// SetConfigurationId sets the ConfigurationId field's value. -func (s *GetRepositoryTriggersOutput) SetConfigurationId(v string) *GetRepositoryTriggersOutput { - s.ConfigurationId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListAssociatedApprovalRuleTemplatesForRepositoryInput) SetNextToken(v string) *ListAssociatedApprovalRuleTemplatesForRepositoryInput { + s.NextToken = &v return s } -// SetTriggers sets the Triggers field's value. -func (s *GetRepositoryTriggersOutput) SetTriggers(v []*RepositoryTrigger) *GetRepositoryTriggersOutput { - s.Triggers = v +// SetRepositoryName sets the RepositoryName field's value. +func (s *ListAssociatedApprovalRuleTemplatesForRepositoryInput) SetRepositoryName(v string) *ListAssociatedApprovalRuleTemplatesForRepositoryInput { + s.RepositoryName = &v return s } -// Information about whether a file is binary or textual in a merge or pull -// request operation. -type IsBinaryFile struct { +type ListAssociatedApprovalRuleTemplatesForRepositoryOutput struct { _ struct{} `type:"structure"` - // The binary or non-binary status of a file in the base of a merge or pull - // request. - Base *bool `locationName:"base" type:"boolean"` - - // The binary or non-binary status of a file in the destination of a merge or - // pull request. - Destination *bool `locationName:"destination" type:"boolean"` + // The names of all approval rule templates associated with the repository. + ApprovalRuleTemplateNames []*string `locationName:"approvalRuleTemplateNames" type:"list"` - // The binary or non-binary status of file in the source of a merge or pull - // request. - Source *bool `locationName:"source" type:"boolean"` + // An enumeration token that allows the operation to batch the next results + // of the operation. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s IsBinaryFile) String() string { +func (s ListAssociatedApprovalRuleTemplatesForRepositoryOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IsBinaryFile) GoString() string { +func (s ListAssociatedApprovalRuleTemplatesForRepositoryOutput) GoString() string { return s.String() } -// SetBase sets the Base field's value. -func (s *IsBinaryFile) SetBase(v bool) *IsBinaryFile { - s.Base = &v - return s -} - -// SetDestination sets the Destination field's value. -func (s *IsBinaryFile) SetDestination(v bool) *IsBinaryFile { - s.Destination = &v +// SetApprovalRuleTemplateNames sets the ApprovalRuleTemplateNames field's value. +func (s *ListAssociatedApprovalRuleTemplatesForRepositoryOutput) SetApprovalRuleTemplateNames(v []*string) *ListAssociatedApprovalRuleTemplatesForRepositoryOutput { + s.ApprovalRuleTemplateNames = v return s } -// SetSource sets the Source field's value. -func (s *IsBinaryFile) SetSource(v bool) *IsBinaryFile { - s.Source = &v +// SetNextToken sets the NextToken field's value. +func (s *ListAssociatedApprovalRuleTemplatesForRepositoryOutput) SetNextToken(v string) *ListAssociatedApprovalRuleTemplatesForRepositoryOutput { + s.NextToken = &v return s } @@ -12614,10 +16791,10 @@ type ListPullRequestsInput struct { // user. AuthorArn *string `locationName:"authorArn" type:"string"` - // A non-negative integer used to limit the number of returned results. + // A non-zero, non-negative integer used to limit the number of returned results. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // An enumeration token that when provided in a request, returns the next batch + // An enumeration token that, when provided in a request, returns the next batch // of the results. NextToken *string `locationName:"nextToken" type:"string"` @@ -12690,8 +16867,8 @@ func (s *ListPullRequestsInput) SetRepositoryName(v string) *ListPullRequestsInp type ListPullRequestsOutput struct { _ struct{} `type:"structure"` - // An enumeration token that when provided in a request, returns the next batch - // of the results. + // An enumeration token that allows the operation to batch the next results + // of the operation. NextToken *string `locationName:"nextToken" type:"string"` // The system-generated IDs of the pull requests. @@ -12722,6 +16899,101 @@ func (s *ListPullRequestsOutput) SetPullRequestIds(v []*string) *ListPullRequest return s } +type ListRepositoriesForApprovalRuleTemplateInput struct { + _ struct{} `type:"structure"` + + // The name of the approval rule template for which you want to list repositories + // that are associated with that template. + // + // ApprovalRuleTemplateName is a required field + ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"` + + // A non-zero, non-negative integer used to limit the number of returned results. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // An enumeration token that, when provided in a request, returns the next batch + // of the results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListRepositoriesForApprovalRuleTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRepositoriesForApprovalRuleTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRepositoriesForApprovalRuleTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRepositoriesForApprovalRuleTemplateInput"} + if s.ApprovalRuleTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName")) + } + if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value. +func (s *ListRepositoriesForApprovalRuleTemplateInput) SetApprovalRuleTemplateName(v string) *ListRepositoriesForApprovalRuleTemplateInput { + s.ApprovalRuleTemplateName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListRepositoriesForApprovalRuleTemplateInput) SetMaxResults(v int64) *ListRepositoriesForApprovalRuleTemplateInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRepositoriesForApprovalRuleTemplateInput) SetNextToken(v string) *ListRepositoriesForApprovalRuleTemplateInput { + s.NextToken = &v + return s +} + +type ListRepositoriesForApprovalRuleTemplateOutput struct { + _ struct{} `type:"structure"` + + // An enumeration token that allows the operation to batch the next results + // of the operation. + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of repository names that are associated with the specified approval + // rule template. + RepositoryNames []*string `locationName:"repositoryNames" type:"list"` +} + +// String returns the string representation +func (s ListRepositoriesForApprovalRuleTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListRepositoriesForApprovalRuleTemplateOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRepositoriesForApprovalRuleTemplateOutput) SetNextToken(v string) *ListRepositoriesForApprovalRuleTemplateOutput { + s.NextToken = &v + return s +} + +// SetRepositoryNames sets the RepositoryNames field's value. +func (s *ListRepositoriesForApprovalRuleTemplateOutput) SetRepositoryNames(v []*string) *ListRepositoriesForApprovalRuleTemplateOutput { + s.RepositoryNames = v + return s +} + // Represents the input of a list repositories operation. type ListRepositoriesInput struct { _ struct{} `type:"structure"` @@ -12806,7 +17078,7 @@ func (s *ListRepositoriesOutput) SetRepositories(v []*RepositoryNameIdPair) *Lis type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // An enumeration token that when provided in a request, returns the next batch + // An enumeration token that, when provided in a request, returns the next batch // of the results. NextToken *string `locationName:"nextToken" type:"string"` @@ -12894,11 +17166,11 @@ type Location struct { // if any. FilePath *string `locationName:"filePath" type:"string"` - // The position of a change within a compared file, in line number format. + // The position of a change in a compared file, in line number format. FilePosition *int64 `locationName:"filePosition" type:"long"` // In a comparison of commits or a pull request, whether the change is in the - // 'before' or 'after' of that comparison. + // before or after of that comparison. RelativeFileVersion *string `locationName:"relativeFileVersion" type:"string" enum:"RelativeFileVersionEnum"` } @@ -12934,7 +17206,7 @@ type MergeBranchesByFastForwardInput struct { _ struct{} `type:"structure"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // DestinationCommitSpecifier is a required field DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"` @@ -12945,12 +17217,12 @@ type MergeBranchesByFastForwardInput struct { RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // SourceCommitSpecifier is a required field SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"` - // The branch where the merge will be applied. + // The branch where the merge is applied. TargetBranch *string `locationName:"targetBranch" min:"1" type:"string"` } @@ -13048,43 +17320,42 @@ func (s *MergeBranchesByFastForwardOutput) SetTreeId(v string) *MergeBranchesByF type MergeBranchesBySquashInput struct { _ struct{} `type:"structure"` - // The name of the author who created the commit. This information will be used - // as both the author and committer for the commit. + // The name of the author who created the commit. This information is used as + // both the author and committer for the commit. AuthorName *string `locationName:"authorName" type:"string"` // The commit message for the merge. CommitMessage *string `locationName:"commitMessage" type:"string"` // The level of conflict detail to use. If unspecified, the default FILE_LEVEL - // is used, which will return a not mergeable result if the same file has differences - // in both branches. If LINE_LEVEL is specified, a conflict will be considered - // not mergeable if the same file in both branches has differences on the same - // line. + // is used, which returns a not-mergeable result if the same file has differences + // in both branches. If LINE_LEVEL is specified, a conflict is considered not + // mergeable if the same file in both branches has differences on the same line. ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"` - // A list of inputs to use when resolving conflicts during a merge if AUTOMERGE - // is chosen as the conflict resolution strategy. + // If AUTOMERGE is the conflict resolution strategy, a list of inputs to use + // when resolving conflicts during a merge. ConflictResolution *ConflictResolution `locationName:"conflictResolution" type:"structure"` // Specifies which branch to use when resolving conflicts, or whether to attempt // automatically merging two versions of a file. The default is NONE, which // requires any conflicts to be resolved manually before the merge operation - // will be successful. + // is successful. ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // DestinationCommitSpecifier is a required field DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"` - // The email address of the person merging the branches. This information will - // be used in the commit information for the merge. + // The email address of the person merging the branches. This information is + // used in the commit information for the merge. Email *string `locationName:"email" type:"string"` // If the commit contains deletions, whether to keep a folder or folder structure // if the changes leave the folders empty. If this is specified as true, a .gitkeep - // file will be created for empty folders. The default is false. + // file is created for empty folders. The default is false. KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"` // The name of the repository where you want to merge two branches. @@ -13093,12 +17364,12 @@ type MergeBranchesBySquashInput struct { RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // SourceCommitSpecifier is a required field SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"` - // The branch where the merge will be applied. + // The branch where the merge is applied. TargetBranch *string `locationName:"targetBranch" min:"1" type:"string"` } @@ -13243,43 +17514,42 @@ func (s *MergeBranchesBySquashOutput) SetTreeId(v string) *MergeBranchesBySquash type MergeBranchesByThreeWayInput struct { _ struct{} `type:"structure"` - // The name of the author who created the commit. This information will be used - // as both the author and committer for the commit. + // The name of the author who created the commit. This information is used as + // both the author and committer for the commit. AuthorName *string `locationName:"authorName" type:"string"` // The commit message to include in the commit information for the merge. CommitMessage *string `locationName:"commitMessage" type:"string"` // The level of conflict detail to use. If unspecified, the default FILE_LEVEL - // is used, which will return a not mergeable result if the same file has differences - // in both branches. If LINE_LEVEL is specified, a conflict will be considered - // not mergeable if the same file in both branches has differences on the same - // line. + // is used, which returns a not-mergeable result if the same file has differences + // in both branches. If LINE_LEVEL is specified, a conflict is considered not + // mergeable if the same file in both branches has differences on the same line. ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"` - // A list of inputs to use when resolving conflicts during a merge if AUTOMERGE - // is chosen as the conflict resolution strategy. + // If AUTOMERGE is the conflict resolution strategy, a list of inputs to use + // when resolving conflicts during a merge. ConflictResolution *ConflictResolution `locationName:"conflictResolution" type:"structure"` // Specifies which branch to use when resolving conflicts, or whether to attempt // automatically merging two versions of a file. The default is NONE, which // requires any conflicts to be resolved manually before the merge operation - // will be successful. + // is successful. ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // DestinationCommitSpecifier is a required field DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"` - // The email address of the person merging the branches. This information will - // be used in the commit information for the merge. + // The email address of the person merging the branches. This information is + // used in the commit information for the merge. Email *string `locationName:"email" type:"string"` // If the commit contains deletions, whether to keep a folder or folder structure - // if the changes leave the folders empty. If this is specified as true, a .gitkeep - // file will be created for empty folders. The default is false. + // if the changes leave the folders empty. If true, a .gitkeep file is created + // for empty folders. The default is false. KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"` // The name of the repository where you want to merge two branches. @@ -13288,12 +17558,12 @@ type MergeBranchesByThreeWayInput struct { RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` // The branch, tag, HEAD, or other fully qualified reference used to identify - // a commit. For example, a branch name or a full commit ID. + // a commit (for example, a branch name or a full commit ID). // // SourceCommitSpecifier is a required field SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"` - // The branch where the merge will be applied. + // The branch where the merge is applied. TargetBranch *string `locationName:"targetBranch" min:"1" type:"string"` } @@ -13448,9 +17718,9 @@ type MergeHunk struct { // A Boolean value indicating whether a combination of hunks contains a conflict. // Conflicts occur when the same file or the same lines in a file were modified // in both the source and destination of a merge or pull request. Valid values - // include true, false, and null. This will be true when the hunk represents - // a conflict and one or more files contains a line conflict. File mode conflicts - // in a merge will not set this to be true. + // include true, false, and null. True when the hunk represents a conflict and + // one or more files contains a line conflict. File mode conflicts in a merge + // do not set this to true. IsConflict *bool `locationName:"isConflict" type:"boolean"` // Information about the merge hunk in the source of a merge or pull request. @@ -13499,8 +17769,8 @@ type MergeHunkDetail struct { // The end position of the hunk in the merge result. EndLine *int64 `locationName:"endLine" type:"integer"` - // The base-64 encoded content of the hunk merged region that might or might - // not contain a conflict. + // The base-64 encoded content of the hunk merged region that might contain + // a conflict. HunkContent *string `locationName:"hunkContent" type:"string"` // The start position of the hunk in the merge result. @@ -13594,8 +17864,8 @@ type MergeOperations struct { // The operation on a file in the destination of a merge or pull request. Destination *string `locationName:"destination" type:"string" enum:"ChangeTypeEnum"` - // The operation on a file (add, modify, or delete) of a file in the source - // of a merge or pull request. + // The operation (add, modify, or delete) on a file in the source of a merge + // or pull request. Source *string `locationName:"source" type:"string" enum:"ChangeTypeEnum"` } @@ -13690,8 +17960,7 @@ func (s *MergePullRequestByFastForwardInput) SetSourceCommitId(v string) *MergeP type MergePullRequestByFastForwardOutput struct { _ struct{} `type:"structure"` - // Information about the specified pull request, including information about - // the merge. + // Information about the specified pull request, including the merge. PullRequest *PullRequest `locationName:"pullRequest" type:"structure"` } @@ -13714,37 +17983,36 @@ func (s *MergePullRequestByFastForwardOutput) SetPullRequest(v *PullRequest) *Me type MergePullRequestBySquashInput struct { _ struct{} `type:"structure"` - // The name of the author who created the commit. This information will be used - // as both the author and committer for the commit. + // The name of the author who created the commit. This information is used as + // both the author and committer for the commit. AuthorName *string `locationName:"authorName" type:"string"` // The commit message to include in the commit information for the merge. CommitMessage *string `locationName:"commitMessage" type:"string"` // The level of conflict detail to use. If unspecified, the default FILE_LEVEL - // is used, which will return a not mergeable result if the same file has differences - // in both branches. If LINE_LEVEL is specified, a conflict will be considered - // not mergeable if the same file in both branches has differences on the same - // line. + // is used, which returns a not-mergeable result if the same file has differences + // in both branches. If LINE_LEVEL is specified, a conflict is considered not + // mergeable if the same file in both branches has differences on the same line. ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"` - // A list of inputs to use when resolving conflicts during a merge if AUTOMERGE - // is chosen as the conflict resolution strategy. + // If AUTOMERGE is the conflict resolution strategy, a list of inputs to use + // when resolving conflicts during a merge. ConflictResolution *ConflictResolution `locationName:"conflictResolution" type:"structure"` // Specifies which branch to use when resolving conflicts, or whether to attempt // automatically merging two versions of a file. The default is NONE, which // requires any conflicts to be resolved manually before the merge operation - // will be successful. + // is successful. ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"` - // The email address of the person merging the branches. This information will - // be used in the commit information for the merge. + // The email address of the person merging the branches. This information is + // used in the commit information for the merge. Email *string `locationName:"email" type:"string"` // If the commit contains deletions, whether to keep a folder or folder structure - // if the changes leave the folders empty. If this is specified as true, a .gitkeep - // file will be created for empty folders. The default is false. + // if the changes leave the folders empty. If true, a .gitkeep file is created + // for empty folders. The default is false. KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"` // The system-generated ID of the pull request. To get this ID, use ListPullRequests. @@ -13883,37 +18151,36 @@ func (s *MergePullRequestBySquashOutput) SetPullRequest(v *PullRequest) *MergePu type MergePullRequestByThreeWayInput struct { _ struct{} `type:"structure"` - // The name of the author who created the commit. This information will be used - // as both the author and committer for the commit. + // The name of the author who created the commit. This information is used as + // both the author and committer for the commit. AuthorName *string `locationName:"authorName" type:"string"` // The commit message to include in the commit information for the merge. CommitMessage *string `locationName:"commitMessage" type:"string"` // The level of conflict detail to use. If unspecified, the default FILE_LEVEL - // is used, which will return a not mergeable result if the same file has differences - // in both branches. If LINE_LEVEL is specified, a conflict will be considered - // not mergeable if the same file in both branches has differences on the same - // line. + // is used, which returns a not-mergeable result if the same file has differences + // in both branches. If LINE_LEVEL is specified, a conflict is considered not + // mergeable if the same file in both branches has differences on the same line. ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"` - // A list of inputs to use when resolving conflicts during a merge if AUTOMERGE - // is chosen as the conflict resolution strategy. + // If AUTOMERGE is the conflict resolution strategy, a list of inputs to use + // when resolving conflicts during a merge. ConflictResolution *ConflictResolution `locationName:"conflictResolution" type:"structure"` // Specifies which branch to use when resolving conflicts, or whether to attempt // automatically merging two versions of a file. The default is NONE, which // requires any conflicts to be resolved manually before the merge operation - // will be successful. + // is successful. ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"` - // The email address of the person merging the branches. This information will - // be used in the commit information for the merge. + // The email address of the person merging the branches. This information is + // used in the commit information for the merge. Email *string `locationName:"email" type:"string"` // If the commit contains deletions, whether to keep a folder or folder structure - // if the changes leave the folders empty. If this is specified as true, a .gitkeep - // file will be created for empty folders. The default is false. + // if the changes leave the folders empty. If true, a .gitkeep file is created + // for empty folders. The default is false. KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"` // The system-generated ID of the pull request. To get this ID, use ListPullRequests. @@ -14064,53 +18331,170 @@ type ObjectTypes struct { } // String returns the string representation -func (s ObjectTypes) String() string { +func (s ObjectTypes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ObjectTypes) GoString() string { + return s.String() +} + +// SetBase sets the Base field's value. +func (s *ObjectTypes) SetBase(v string) *ObjectTypes { + s.Base = &v + return s +} + +// SetDestination sets the Destination field's value. +func (s *ObjectTypes) SetDestination(v string) *ObjectTypes { + s.Destination = &v + return s +} + +// SetSource sets the Source field's value. +func (s *ObjectTypes) SetSource(v string) *ObjectTypes { + s.Source = &v + return s +} + +// Returns information about the template that created the approval rule for +// a pull request. +type OriginApprovalRuleTemplate struct { + _ struct{} `type:"structure"` + + // The ID of the template that created the approval rule. + ApprovalRuleTemplateId *string `locationName:"approvalRuleTemplateId" type:"string"` + + // The name of the template that created the approval rule. + ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string"` +} + +// String returns the string representation +func (s OriginApprovalRuleTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OriginApprovalRuleTemplate) GoString() string { + return s.String() +} + +// SetApprovalRuleTemplateId sets the ApprovalRuleTemplateId field's value. +func (s *OriginApprovalRuleTemplate) SetApprovalRuleTemplateId(v string) *OriginApprovalRuleTemplate { + s.ApprovalRuleTemplateId = &v + return s +} + +// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value. +func (s *OriginApprovalRuleTemplate) SetApprovalRuleTemplateName(v string) *OriginApprovalRuleTemplate { + s.ApprovalRuleTemplateName = &v + return s +} + +type OverridePullRequestApprovalRulesInput struct { + _ struct{} `type:"structure"` + + // Whether you want to set aside approval rule requirements for the pull request + // (OVERRIDE) or revoke a previous override and apply approval rule requirements + // (REVOKE). REVOKE status is not stored. + // + // OverrideStatus is a required field + OverrideStatus *string `locationName:"overrideStatus" type:"string" required:"true" enum:"OverrideStatus"` + + // The system-generated ID of the pull request for which you want to override + // all approval rule requirements. To get this information, use GetPullRequest. + // + // PullRequestId is a required field + PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"` + + // The system-generated ID of the most recent revision of the pull request. + // You cannot override approval rules for anything but the most recent revision + // of a pull request. To get the revision ID, use GetPullRequest. + // + // RevisionId is a required field + RevisionId *string `locationName:"revisionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s OverridePullRequestApprovalRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OverridePullRequestApprovalRulesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OverridePullRequestApprovalRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OverridePullRequestApprovalRulesInput"} + if s.OverrideStatus == nil { + invalidParams.Add(request.NewErrParamRequired("OverrideStatus")) + } + if s.PullRequestId == nil { + invalidParams.Add(request.NewErrParamRequired("PullRequestId")) + } + if s.RevisionId == nil { + invalidParams.Add(request.NewErrParamRequired("RevisionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOverrideStatus sets the OverrideStatus field's value. +func (s *OverridePullRequestApprovalRulesInput) SetOverrideStatus(v string) *OverridePullRequestApprovalRulesInput { + s.OverrideStatus = &v + return s +} + +// SetPullRequestId sets the PullRequestId field's value. +func (s *OverridePullRequestApprovalRulesInput) SetPullRequestId(v string) *OverridePullRequestApprovalRulesInput { + s.PullRequestId = &v + return s +} + +// SetRevisionId sets the RevisionId field's value. +func (s *OverridePullRequestApprovalRulesInput) SetRevisionId(v string) *OverridePullRequestApprovalRulesInput { + s.RevisionId = &v + return s +} + +type OverridePullRequestApprovalRulesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s OverridePullRequestApprovalRulesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ObjectTypes) GoString() string { +func (s OverridePullRequestApprovalRulesOutput) GoString() string { return s.String() } -// SetBase sets the Base field's value. -func (s *ObjectTypes) SetBase(v string) *ObjectTypes { - s.Base = &v - return s -} - -// SetDestination sets the Destination field's value. -func (s *ObjectTypes) SetDestination(v string) *ObjectTypes { - s.Destination = &v - return s -} - -// SetSource sets the Source field's value. -func (s *ObjectTypes) SetSource(v string) *ObjectTypes { - s.Source = &v - return s -} - type PostCommentForComparedCommitInput struct { _ struct{} `type:"structure"` // To establish the directionality of the comparison, the full commit ID of - // the 'after' commit. + // the after commit. // // AfterCommitId is a required field AfterCommitId *string `locationName:"afterCommitId" type:"string" required:"true"` // To establish the directionality of the comparison, the full commit ID of - // the 'before' commit. - // - // This is required for commenting on any commit unless that commit is the initial - // commit. + // the before commit. Required for commenting on any commit unless that commit + // is the initial commit. BeforeCommitId *string `locationName:"beforeCommitId" type:"string"` - // A unique, client-generated idempotency token that when provided in a request, + // A unique, client-generated idempotency token that, when provided in a request, // ensures the request cannot be repeated with a changed parameter. If a request // is received with the same parameters and a token is included, the request - // will return information about the initial request that used that token. + // returns information about the initial request that used that token. ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` // The content of the comment you want to make. @@ -14199,18 +18583,16 @@ func (s *PostCommentForComparedCommitInput) SetRepositoryName(v string) *PostCom type PostCommentForComparedCommitOutput struct { _ struct{} `type:"structure"` - // In the directionality you established, the blob ID of the 'after' blob. + // In the directionality you established, the blob ID of the after blob. AfterBlobId *string `locationName:"afterBlobId" type:"string"` - // In the directionality you established, the full commit ID of the 'after' - // commit. + // In the directionality you established, the full commit ID of the after commit. AfterCommitId *string `locationName:"afterCommitId" type:"string"` - // In the directionality you established, the blob ID of the 'before' blob. + // In the directionality you established, the blob ID of the before blob. BeforeBlobId *string `locationName:"beforeBlobId" type:"string"` - // In the directionality you established, the full commit ID of the 'before' - // commit. + // In the directionality you established, the full commit ID of the before commit. BeforeCommitId *string `locationName:"beforeCommitId" type:"string"` // The content of the comment you posted. @@ -14291,10 +18673,10 @@ type PostCommentForPullRequestInput struct { // BeforeCommitId is a required field BeforeCommitId *string `locationName:"beforeCommitId" type:"string" required:"true"` - // A unique, client-generated idempotency token that when provided in a request, + // A unique, client-generated idempotency token that, when provided in a request, // ensures the request cannot be repeated with a changed parameter. If a request // is received with the same parameters and a token is included, the request - // will return information about the initial request that used that token. + // returns information about the initial request that used that token. ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` // The content of your comment on the change. @@ -14303,8 +18685,8 @@ type PostCommentForPullRequestInput struct { Content *string `locationName:"content" type:"string" required:"true"` // The location of the change where you want to post your comment. If no location - // is provided, the comment will be posted as a general comment on the pull - // request difference between the before commit ID and the after commit ID. + // is provided, the comment is posted as a general comment on the pull request + // difference between the before commit ID and the after commit ID. Location *Location `locationName:"location" type:"structure"` // The system-generated ID of the pull request. To get this ID, use ListPullRequests. @@ -14401,14 +18783,14 @@ func (s *PostCommentForPullRequestInput) SetRepositoryName(v string) *PostCommen type PostCommentForPullRequestOutput struct { _ struct{} `type:"structure"` - // In the directionality of the pull request, the blob ID of the 'after' blob. + // In the directionality of the pull request, the blob ID of the after blob. AfterBlobId *string `locationName:"afterBlobId" type:"string"` // The full commit ID of the commit in the destination branch where the pull - // request will be merged. + // request is merged. AfterCommitId *string `locationName:"afterCommitId" type:"string"` - // In the directionality of the pull request, the blob ID of the 'before' blob. + // In the directionality of the pull request, the blob ID of the before blob. BeforeBlobId *string `locationName:"beforeBlobId" type:"string"` // The full commit ID of the commit in the source branch used to create the @@ -14490,10 +18872,10 @@ func (s *PostCommentForPullRequestOutput) SetRepositoryName(v string) *PostComme type PostCommentReplyInput struct { _ struct{} `type:"structure"` - // A unique, client-generated idempotency token that when provided in a request, + // A unique, client-generated idempotency token that, when provided in a request, // ensures the request cannot be repeated with a changed parameter. If a request // is received with the same parameters and a token is included, the request - // will return information about the initial request that used that token. + // returns information about the initial request that used that token. ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` // The contents of your reply to a comment. @@ -14579,13 +18961,16 @@ func (s *PostCommentReplyOutput) SetComment(v *Comment) *PostCommentReplyOutput type PullRequest struct { _ struct{} `type:"structure"` + // The approval rules applied to the pull request. + ApprovalRules []*ApprovalRule `locationName:"approvalRules" type:"list"` + // The Amazon Resource Name (ARN) of the user who created the pull request. AuthorArn *string `locationName:"authorArn" type:"string"` - // A unique, client-generated idempotency token that when provided in a request, + // A unique, client-generated idempotency token that, when provided in a request, // ensures the request cannot be repeated with a changed parameter. If a request // is received with the same parameters and a token is included, the request - // will return information about the initial request that used that token. + // returns information about the initial request that used that token. ClientRequestToken *string `locationName:"clientRequestToken" type:"string"` // The date and time the pull request was originally created, in timestamp format. @@ -14610,8 +18995,11 @@ type PullRequest struct { // branch for the pull request. PullRequestTargets []*PullRequestTarget `locationName:"pullRequestTargets" type:"list"` + // The system-generated revision ID for the pull request. + RevisionId *string `locationName:"revisionId" type:"string"` + // The user-defined title of the pull request. This title is displayed in the - // list of pull requests to other users of the repository. + // list of pull requests to other repository users. Title *string `locationName:"title" type:"string"` } @@ -14625,6 +19013,12 @@ func (s PullRequest) GoString() string { return s.String() } +// SetApprovalRules sets the ApprovalRules field's value. +func (s *PullRequest) SetApprovalRules(v []*ApprovalRule) *PullRequest { + s.ApprovalRules = v + return s +} + // SetAuthorArn sets the AuthorArn field's value. func (s *PullRequest) SetAuthorArn(v string) *PullRequest { s.AuthorArn = &v @@ -14673,6 +19067,12 @@ func (s *PullRequest) SetPullRequestTargets(v []*PullRequestTarget) *PullRequest return s } +// SetRevisionId sets the RevisionId field's value. +func (s *PullRequest) SetRevisionId(v string) *PullRequest { + s.RevisionId = &v + return s +} + // SetTitle sets the Title field's value. func (s *PullRequest) SetTitle(v string) *PullRequest { s.Title = &v @@ -14738,18 +19138,27 @@ type PullRequestEvent struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the user whose actions resulted in the - // event. Examples include updating the pull request with additional commits - // or changing the status of a pull request. + // event. Examples include updating the pull request with more commits or changing + // the status of a pull request. ActorArn *string `locationName:"actorArn" type:"string"` + // Information about a pull request event. + ApprovalRuleEventMetadata *ApprovalRuleEventMetadata `locationName:"approvalRuleEventMetadata" type:"structure"` + + // Information about an approval rule override event for a pull request. + ApprovalRuleOverriddenEventMetadata *ApprovalRuleOverriddenEventMetadata `locationName:"approvalRuleOverriddenEventMetadata" type:"structure"` + + // Information about an approval state change for a pull request. + ApprovalStateChangedEventMetadata *ApprovalStateChangedEventMetadata `locationName:"approvalStateChangedEventMetadata" type:"structure"` + // The day and time of the pull request event, in timestamp format. EventDate *time.Time `locationName:"eventDate" type:"timestamp"` // Information about the source and destination branches for the pull request. PullRequestCreatedEventMetadata *PullRequestCreatedEventMetadata `locationName:"pullRequestCreatedEventMetadata" type:"structure"` - // The type of the pull request event, for example a status change event (PULL_REQUEST_STATUS_CHANGED) - // or update event (PULL_REQUEST_SOURCE_REFERENCE_UPDATED). + // The type of the pull request event (for example, a status change event (PULL_REQUEST_STATUS_CHANGED) + // or update event (PULL_REQUEST_SOURCE_REFERENCE_UPDATED)). PullRequestEventType *string `locationName:"pullRequestEventType" type:"string" enum:"PullRequestEventType"` // The system-generated ID of the pull request. @@ -14781,6 +19190,24 @@ func (s *PullRequestEvent) SetActorArn(v string) *PullRequestEvent { return s } +// SetApprovalRuleEventMetadata sets the ApprovalRuleEventMetadata field's value. +func (s *PullRequestEvent) SetApprovalRuleEventMetadata(v *ApprovalRuleEventMetadata) *PullRequestEvent { + s.ApprovalRuleEventMetadata = v + return s +} + +// SetApprovalRuleOverriddenEventMetadata sets the ApprovalRuleOverriddenEventMetadata field's value. +func (s *PullRequestEvent) SetApprovalRuleOverriddenEventMetadata(v *ApprovalRuleOverriddenEventMetadata) *PullRequestEvent { + s.ApprovalRuleOverriddenEventMetadata = v + return s +} + +// SetApprovalStateChangedEventMetadata sets the ApprovalStateChangedEventMetadata field's value. +func (s *PullRequestEvent) SetApprovalStateChangedEventMetadata(v *ApprovalStateChangedEventMetadata) *PullRequestEvent { + s.ApprovalStateChangedEventMetadata = v + return s +} + // SetEventDate sets the EventDate field's value. func (s *PullRequestEvent) SetEventDate(v time.Time) *PullRequestEvent { s.EventDate = &v @@ -14828,7 +19255,7 @@ func (s *PullRequestEvent) SetPullRequestStatusChangedEventMetadata(v *PullReque type PullRequestMergedStateChangedEventMetadata struct { _ struct{} `type:"structure"` - // The name of the branch that the pull request will be merged into. + // The name of the branch that the pull request is merged into. DestinationReference *string `locationName:"destinationReference" type:"string"` // Information about the merge state change event. @@ -14952,8 +19379,8 @@ type PullRequestTarget struct { // commit where the pull request was or will be merged. DestinationCommit *string `locationName:"destinationCommit" type:"string"` - // The branch of the repository where the pull request changes will be merged - // into. Also known as the destination branch. + // The branch of the repository where the pull request changes are merged. Also + // known as the destination branch. DestinationReference *string `locationName:"destinationReference" type:"string"` // The commit ID of the most recent commit that the source branch and the destination @@ -14970,7 +19397,7 @@ type PullRequestTarget struct { // The full commit ID of the tip of the source branch used to create the pull // request. If the pull request branch is updated by a push while the pull request - // is open, the commit ID will change to reflect the new tip of the branch. + // is open, the commit ID changes to reflect the new tip of the branch. SourceCommit *string `locationName:"sourceCommit" type:"string"` // The branch of the repository that contains the changes for the pull request. @@ -15030,7 +19457,7 @@ func (s *PullRequestTarget) SetSourceReference(v string) *PullRequestTarget { return s } -// Information about a file that will be added or updated as part of a commit. +// Information about a file added or updated as part of a commit. type PutFileEntry struct { _ struct{} `type:"structure"` @@ -15109,14 +19536,13 @@ type PutFileInput struct { _ struct{} `type:"structure"` // The name of the branch where you want to add or update the file. If this - // is an empty repository, this branch will be created. + // is an empty repository, this branch is created. // // BranchName is a required field BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"` - // A message about why this file was added or updated. While optional, adding - // a message is strongly encouraged in order to provide a more useful commit - // history for your repository. + // A message about why this file was added or updated. Although it is optional, + // a message makes the commit history for your repository more useful. CommitMessage *string `locationName:"commitMessage" type:"string"` // An email address for the person adding or updating the file. @@ -15130,29 +19556,28 @@ type PutFileInput struct { FileContent []byte `locationName:"fileContent" type:"blob" required:"true"` // The file mode permissions of the blob. Valid file mode permissions are listed - // below. + // here. FileMode *string `locationName:"fileMode" type:"string" enum:"FileModeTypeEnum"` // The name of the file you want to add or update, including the relative path // to the file in the repository. // - // If the path does not currently exist in the repository, the path will be - // created as part of adding the file. + // If the path does not currently exist in the repository, the path is created + // as part of adding the file. // // FilePath is a required field FilePath *string `locationName:"filePath" type:"string" required:"true"` - // The name of the person adding or updating the file. While optional, adding - // a name is strongly encouraged in order to provide a more useful commit history - // for your repository. + // The name of the person adding or updating the file. Although it is optional, + // a name makes the commit history for your repository more useful. Name *string `locationName:"name" type:"string"` // The full commit ID of the head commit in the branch where you want to add // or update the file. If this is an empty repository, no commit ID is required. // If this is not an empty repository, a commit ID is required. // - // The commit ID must match the ID of the head commit at the time of the operation, - // or an error will occur, and the file will not be added or updated. + // The commit ID must match the ID of the head commit at the time of the operation. + // Otherwise, an error occurs, and the file is not added or updated. ParentCommitId *string `locationName:"parentCommitId" type:"string"` // The name of the repository where you want to add or update the file. @@ -15261,7 +19686,7 @@ type PutFileOutput struct { // BlobId is a required field BlobId *string `locationName:"blobId" type:"string" required:"true"` - // The full SHA of the commit that contains this file change. + // The full SHA ID of the commit that contains this file change. // // CommitId is a required field CommitId *string `locationName:"commitId" type:"string" required:"true"` @@ -15301,7 +19726,7 @@ func (s *PutFileOutput) SetTreeId(v string) *PutFileOutput { return s } -// Represents the input ofa put repository triggers operation. +// Represents the input of a put repository triggers operation. type PutRepositoryTriggersInput struct { _ struct{} `type:"structure"` @@ -15607,25 +20032,25 @@ func (s *RepositoryNameIdPair) SetRepositoryName(v string) *RepositoryNameIdPair type RepositoryTrigger struct { _ struct{} `type:"structure"` - // The branches that will be included in the trigger configuration. If you specify - // an empty array, the trigger will apply to all branches. + // The branches to be included in the trigger configuration. If you specify + // an empty array, the trigger applies to all branches. // // Although no content is required in the array, you must include the array // itself. Branches []*string `locationName:"branches" type:"list"` - // Any custom data associated with the trigger that will be included in the - // information sent to the target of the trigger. + // Any custom data associated with the trigger to be included in the information + // sent to the target of the trigger. CustomData *string `locationName:"customData" type:"string"` - // The ARN of the resource that is the target for a trigger. For example, the - // ARN of a topic in Amazon SNS. + // The ARN of the resource that is the target for a trigger (for example, the + // ARN of a topic in Amazon SNS). // // DestinationArn is a required field DestinationArn *string `locationName:"destinationArn" type:"string" required:"true"` - // The repository events that will cause the trigger to run actions in another - // service, such as sending a notification through Amazon SNS. + // The repository events that cause the trigger to run actions in another service, + // such as sending a notification through Amazon SNS. // // The valid value "all" cannot be used with any other values. // @@ -15701,7 +20126,7 @@ func (s *RepositoryTrigger) SetName(v string) *RepositoryTrigger { type RepositoryTriggerExecutionFailure struct { _ struct{} `type:"structure"` - // Additional message information about the trigger that did not run. + // Message information about the trigger that did not run. FailureMessage *string `locationName:"failureMessage" type:"string"` // The name of the trigger that did not run. @@ -15878,7 +20303,7 @@ func (s *SubModule) SetRelativePath(v string) *SubModule { type SymbolicLink struct { _ struct{} `type:"structure"` - // The fully-qualified path to the folder that contains the symbolic link. + // The fully qualified path to the folder that contains the symbolic link. AbsolutePath *string `locationName:"absolutePath" type:"string"` // The blob ID that contains the information about the symbolic link. @@ -15997,8 +20422,8 @@ func (s TagResourceOutput) GoString() string { type Target struct { _ struct{} `type:"structure"` - // The branch of the repository where the pull request changes will be merged - // into. Also known as the destination branch. + // The branch of the repository where the pull request changes are merged. Also + // known as the destination branch. DestinationReference *string `locationName:"destinationReference" type:"string"` // The name of the repository that contains the pull request. @@ -16029,11 +20454,249 @@ func (s *Target) Validate() error { if s.RepositoryName == nil { invalidParams.Add(request.NewErrParamRequired("RepositoryName")) } - if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + } + if s.SourceReference == nil { + invalidParams.Add(request.NewErrParamRequired("SourceReference")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationReference sets the DestinationReference field's value. +func (s *Target) SetDestinationReference(v string) *Target { + s.DestinationReference = &v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *Target) SetRepositoryName(v string) *Target { + s.RepositoryName = &v + return s +} + +// SetSourceReference sets the SourceReference field's value. +func (s *Target) SetSourceReference(v string) *Target { + s.SourceReference = &v + return s +} + +// Represents the input of a test repository triggers operation. +type TestRepositoryTriggersInput struct { + _ struct{} `type:"structure"` + + // The name of the repository in which to test the triggers. + // + // RepositoryName is a required field + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` + + // The list of triggers to test. + // + // Triggers is a required field + Triggers []*RepositoryTrigger `locationName:"triggers" type:"list" required:"true"` +} + +// String returns the string representation +func (s TestRepositoryTriggersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestRepositoryTriggersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TestRepositoryTriggersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TestRepositoryTriggersInput"} + if s.RepositoryName == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryName")) + } + if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) + } + if s.Triggers == nil { + invalidParams.Add(request.NewErrParamRequired("Triggers")) + } + if s.Triggers != nil { + for i, v := range s.Triggers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Triggers", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *TestRepositoryTriggersInput) SetRepositoryName(v string) *TestRepositoryTriggersInput { + s.RepositoryName = &v + return s +} + +// SetTriggers sets the Triggers field's value. +func (s *TestRepositoryTriggersInput) SetTriggers(v []*RepositoryTrigger) *TestRepositoryTriggersInput { + s.Triggers = v + return s +} + +// Represents the output of a test repository triggers operation. +type TestRepositoryTriggersOutput struct { + _ struct{} `type:"structure"` + + // The list of triggers that were not tested. This list provides the names of + // the triggers that could not be tested, separated by commas. + FailedExecutions []*RepositoryTriggerExecutionFailure `locationName:"failedExecutions" type:"list"` + + // The list of triggers that were successfully tested. This list provides the + // names of the triggers that were successfully tested, separated by commas. + SuccessfulExecutions []*string `locationName:"successfulExecutions" type:"list"` +} + +// String returns the string representation +func (s TestRepositoryTriggersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestRepositoryTriggersOutput) GoString() string { + return s.String() +} + +// SetFailedExecutions sets the FailedExecutions field's value. +func (s *TestRepositoryTriggersOutput) SetFailedExecutions(v []*RepositoryTriggerExecutionFailure) *TestRepositoryTriggersOutput { + s.FailedExecutions = v + return s +} + +// SetSuccessfulExecutions sets the SuccessfulExecutions field's value. +func (s *TestRepositoryTriggersOutput) SetSuccessfulExecutions(v []*string) *TestRepositoryTriggersOutput { + s.SuccessfulExecutions = v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource to which you want to remove + // tags. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` + + // The tag key for each tag that you want to remove from the resource. + // + // TagKeys is a required field + TagKeys []*string `locationName:"tagKeys" 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.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + 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 UpdateApprovalRuleTemplateContentInput struct { + _ struct{} `type:"structure"` + + // The name of the approval rule template where you want to update the content + // of the rule. + // + // ApprovalRuleTemplateName is a required field + ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"` + + // The SHA-256 hash signature for the content of the approval rule. You can + // retrieve this information by using GetPullRequest. + ExistingRuleContentSha256 *string `locationName:"existingRuleContentSha256" type:"string"` + + // The content that replaces the existing content of the rule. Content statements + // must be complete. You cannot provide only the changes. + // + // NewRuleContent is a required field + NewRuleContent *string `locationName:"newRuleContent" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateApprovalRuleTemplateContentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApprovalRuleTemplateContentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateApprovalRuleTemplateContentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateApprovalRuleTemplateContentInput"} + if s.ApprovalRuleTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName")) + } + if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1)) } - if s.SourceReference == nil { - invalidParams.Add(request.NewErrParamRequired("SourceReference")) + if s.NewRuleContent == nil { + invalidParams.Add(request.NewErrParamRequired("NewRuleContent")) + } + if s.NewRuleContent != nil && len(*s.NewRuleContent) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NewRuleContent", 1)) } if invalidParams.Len() > 0 { @@ -16042,70 +20705,84 @@ func (s *Target) Validate() error { return nil } -// SetDestinationReference sets the DestinationReference field's value. -func (s *Target) SetDestinationReference(v string) *Target { - s.DestinationReference = &v +// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value. +func (s *UpdateApprovalRuleTemplateContentInput) SetApprovalRuleTemplateName(v string) *UpdateApprovalRuleTemplateContentInput { + s.ApprovalRuleTemplateName = &v return s } -// SetRepositoryName sets the RepositoryName field's value. -func (s *Target) SetRepositoryName(v string) *Target { - s.RepositoryName = &v +// SetExistingRuleContentSha256 sets the ExistingRuleContentSha256 field's value. +func (s *UpdateApprovalRuleTemplateContentInput) SetExistingRuleContentSha256(v string) *UpdateApprovalRuleTemplateContentInput { + s.ExistingRuleContentSha256 = &v return s } -// SetSourceReference sets the SourceReference field's value. -func (s *Target) SetSourceReference(v string) *Target { - s.SourceReference = &v +// SetNewRuleContent sets the NewRuleContent field's value. +func (s *UpdateApprovalRuleTemplateContentInput) SetNewRuleContent(v string) *UpdateApprovalRuleTemplateContentInput { + s.NewRuleContent = &v return s } -// Represents the input of a test repository triggers operation. -type TestRepositoryTriggersInput struct { +type UpdateApprovalRuleTemplateContentOutput struct { _ struct{} `type:"structure"` - // The name of the repository in which to test the triggers. + // Returns information about an approval rule template. // - // RepositoryName is a required field - RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` + // ApprovalRuleTemplate is a required field + ApprovalRuleTemplate *ApprovalRuleTemplate `locationName:"approvalRuleTemplate" type:"structure" required:"true"` +} - // The list of triggers to test. +// String returns the string representation +func (s UpdateApprovalRuleTemplateContentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateApprovalRuleTemplateContentOutput) GoString() string { + return s.String() +} + +// SetApprovalRuleTemplate sets the ApprovalRuleTemplate field's value. +func (s *UpdateApprovalRuleTemplateContentOutput) SetApprovalRuleTemplate(v *ApprovalRuleTemplate) *UpdateApprovalRuleTemplateContentOutput { + s.ApprovalRuleTemplate = v + return s +} + +type UpdateApprovalRuleTemplateDescriptionInput struct { + _ struct{} `type:"structure"` + + // The updated description of the approval rule template. // - // Triggers is a required field - Triggers []*RepositoryTrigger `locationName:"triggers" type:"list" required:"true"` + // ApprovalRuleTemplateDescription is a required field + ApprovalRuleTemplateDescription *string `locationName:"approvalRuleTemplateDescription" type:"string" required:"true"` + + // The name of the template for which you want to update the description. + // + // ApprovalRuleTemplateName is a required field + ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s TestRepositoryTriggersInput) String() string { +func (s UpdateApprovalRuleTemplateDescriptionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TestRepositoryTriggersInput) GoString() string { +func (s UpdateApprovalRuleTemplateDescriptionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TestRepositoryTriggersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TestRepositoryTriggersInput"} - if s.RepositoryName == nil { - invalidParams.Add(request.NewErrParamRequired("RepositoryName")) - } - if s.RepositoryName != nil && len(*s.RepositoryName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1)) +func (s *UpdateApprovalRuleTemplateDescriptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateApprovalRuleTemplateDescriptionInput"} + if s.ApprovalRuleTemplateDescription == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateDescription")) } - if s.Triggers == nil { - invalidParams.Add(request.NewErrParamRequired("Triggers")) + if s.ApprovalRuleTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName")) } - if s.Triggers != nil { - for i, v := range s.Triggers { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Triggers", i), err.(request.ErrInvalidParams)) - } - } + if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1)) } if invalidParams.Len() > 0 { @@ -16114,86 +20791,81 @@ func (s *TestRepositoryTriggersInput) Validate() error { return nil } -// SetRepositoryName sets the RepositoryName field's value. -func (s *TestRepositoryTriggersInput) SetRepositoryName(v string) *TestRepositoryTriggersInput { - s.RepositoryName = &v +// SetApprovalRuleTemplateDescription sets the ApprovalRuleTemplateDescription field's value. +func (s *UpdateApprovalRuleTemplateDescriptionInput) SetApprovalRuleTemplateDescription(v string) *UpdateApprovalRuleTemplateDescriptionInput { + s.ApprovalRuleTemplateDescription = &v return s } -// SetTriggers sets the Triggers field's value. -func (s *TestRepositoryTriggersInput) SetTriggers(v []*RepositoryTrigger) *TestRepositoryTriggersInput { - s.Triggers = v +// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value. +func (s *UpdateApprovalRuleTemplateDescriptionInput) SetApprovalRuleTemplateName(v string) *UpdateApprovalRuleTemplateDescriptionInput { + s.ApprovalRuleTemplateName = &v return s } -// Represents the output of a test repository triggers operation. -type TestRepositoryTriggersOutput struct { +type UpdateApprovalRuleTemplateDescriptionOutput struct { _ struct{} `type:"structure"` - // The list of triggers that were not able to be tested. This list provides - // the names of the triggers that could not be tested, separated by commas. - FailedExecutions []*RepositoryTriggerExecutionFailure `locationName:"failedExecutions" type:"list"` - - // The list of triggers that were successfully tested. This list provides the - // names of the triggers that were successfully tested, separated by commas. - SuccessfulExecutions []*string `locationName:"successfulExecutions" type:"list"` + // The structure and content of the updated approval rule template. + // + // ApprovalRuleTemplate is a required field + ApprovalRuleTemplate *ApprovalRuleTemplate `locationName:"approvalRuleTemplate" type:"structure" required:"true"` } // String returns the string representation -func (s TestRepositoryTriggersOutput) String() string { +func (s UpdateApprovalRuleTemplateDescriptionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TestRepositoryTriggersOutput) GoString() string { +func (s UpdateApprovalRuleTemplateDescriptionOutput) GoString() string { return s.String() } -// SetFailedExecutions sets the FailedExecutions field's value. -func (s *TestRepositoryTriggersOutput) SetFailedExecutions(v []*RepositoryTriggerExecutionFailure) *TestRepositoryTriggersOutput { - s.FailedExecutions = v - return s -} - -// SetSuccessfulExecutions sets the SuccessfulExecutions field's value. -func (s *TestRepositoryTriggersOutput) SetSuccessfulExecutions(v []*string) *TestRepositoryTriggersOutput { - s.SuccessfulExecutions = v +// SetApprovalRuleTemplate sets the ApprovalRuleTemplate field's value. +func (s *UpdateApprovalRuleTemplateDescriptionOutput) SetApprovalRuleTemplate(v *ApprovalRuleTemplate) *UpdateApprovalRuleTemplateDescriptionOutput { + s.ApprovalRuleTemplate = v return s } -type UntagResourceInput struct { +type UpdateApprovalRuleTemplateNameInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource to which you want to remove - // tags. + // The new name you want to apply to the approval rule template. // - // ResourceArn is a required field - ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` + // NewApprovalRuleTemplateName is a required field + NewApprovalRuleTemplateName *string `locationName:"newApprovalRuleTemplateName" min:"1" type:"string" required:"true"` - // The tag key for each tag that you want to remove from the resource. + // The current name of the approval rule template. // - // TagKeys is a required field - TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` + // OldApprovalRuleTemplateName is a required field + OldApprovalRuleTemplateName *string `locationName:"oldApprovalRuleTemplateName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s UntagResourceInput) String() string { +func (s UpdateApprovalRuleTemplateNameInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UntagResourceInput) GoString() string { +func (s UpdateApprovalRuleTemplateNameInput) 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")) +func (s *UpdateApprovalRuleTemplateNameInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateApprovalRuleTemplateNameInput"} + if s.NewApprovalRuleTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("NewApprovalRuleTemplateName")) } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) + if s.NewApprovalRuleTemplateName != nil && len(*s.NewApprovalRuleTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NewApprovalRuleTemplateName", 1)) + } + if s.OldApprovalRuleTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("OldApprovalRuleTemplateName")) + } + if s.OldApprovalRuleTemplateName != nil && len(*s.OldApprovalRuleTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OldApprovalRuleTemplateName", 1)) } if invalidParams.Len() > 0 { @@ -16202,32 +20874,43 @@ func (s *UntagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { - s.ResourceArn = &v +// SetNewApprovalRuleTemplateName sets the NewApprovalRuleTemplateName field's value. +func (s *UpdateApprovalRuleTemplateNameInput) SetNewApprovalRuleTemplateName(v string) *UpdateApprovalRuleTemplateNameInput { + s.NewApprovalRuleTemplateName = &v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { - s.TagKeys = v +// SetOldApprovalRuleTemplateName sets the OldApprovalRuleTemplateName field's value. +func (s *UpdateApprovalRuleTemplateNameInput) SetOldApprovalRuleTemplateName(v string) *UpdateApprovalRuleTemplateNameInput { + s.OldApprovalRuleTemplateName = &v return s } -type UntagResourceOutput struct { +type UpdateApprovalRuleTemplateNameOutput struct { _ struct{} `type:"structure"` + + // The structure and content of the updated approval rule template. + // + // ApprovalRuleTemplate is a required field + ApprovalRuleTemplate *ApprovalRuleTemplate `locationName:"approvalRuleTemplate" type:"structure" required:"true"` } // String returns the string representation -func (s UntagResourceOutput) String() string { +func (s UpdateApprovalRuleTemplateNameOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UntagResourceOutput) GoString() string { +func (s UpdateApprovalRuleTemplateNameOutput) GoString() string { return s.String() } +// SetApprovalRuleTemplate sets the ApprovalRuleTemplate field's value. +func (s *UpdateApprovalRuleTemplateNameOutput) SetApprovalRuleTemplate(v *ApprovalRuleTemplate) *UpdateApprovalRuleTemplateNameOutput { + s.ApprovalRuleTemplate = v + return s +} + type UpdateCommentInput struct { _ struct{} `type:"structure"` @@ -16237,8 +20920,7 @@ type UpdateCommentInput struct { // CommentId is a required field CommentId *string `locationName:"commentId" type:"string" required:"true"` - // The updated content with which you want to replace the existing content of - // the comment. + // The updated content to replace the existing content of the comment. // // Content is a required field Content *string `locationName:"content" type:"string" required:"true"` @@ -16378,11 +21060,220 @@ func (s UpdateDefaultBranchOutput) GoString() string { return s.String() } +type UpdatePullRequestApprovalRuleContentInput struct { + _ struct{} `type:"structure"` + + // The name of the approval rule you want to update. + // + // ApprovalRuleName is a required field + ApprovalRuleName *string `locationName:"approvalRuleName" min:"1" type:"string" required:"true"` + + // The SHA-256 hash signature for the content of the approval rule. You can + // retrieve this information by using GetPullRequest. + ExistingRuleContentSha256 *string `locationName:"existingRuleContentSha256" type:"string"` + + // The updated content for the approval rule. + // + // When you update the content of the approval rule, you can specify approvers + // in an approval pool in one of two ways: + // + // * CodeCommitApprovers: This option only requires an AWS account and a + // resource. It can be used for both IAM users and federated access users + // whose name matches the provided resource name. This is a very powerful + // option that offers a great deal of flexibility. For example, if you specify + // the AWS account 123456789012 and Mary_Major, all of the following are + // counted as approvals coming from that user: An IAM user in the account + // (arn:aws:iam::123456789012:user/Mary_Major) A federated user identified + // in IAM as Mary_Major (arn:aws:sts::123456789012:federated-user/Mary_Major) + // This option does not recognize an active session of someone assuming the + // role of CodeCommitReview with a role session name of Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major) + // unless you include a wildcard (*Mary_Major). + // + // * Fully qualified ARN: This option allows you to specify the fully qualified + // Amazon Resource Name (ARN) of the IAM user or role. + // + // For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers + // (https://docs.aws.amazon.com/iam/latest/UserGuide/reference_identifiers.html) + // in the IAM User Guide. + // + // NewRuleContent is a required field + NewRuleContent *string `locationName:"newRuleContent" min:"1" type:"string" required:"true"` + + // The system-generated ID of the pull request. + // + // PullRequestId is a required field + PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdatePullRequestApprovalRuleContentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePullRequestApprovalRuleContentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePullRequestApprovalRuleContentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePullRequestApprovalRuleContentInput"} + if s.ApprovalRuleName == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalRuleName")) + } + if s.ApprovalRuleName != nil && len(*s.ApprovalRuleName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleName", 1)) + } + if s.NewRuleContent == nil { + invalidParams.Add(request.NewErrParamRequired("NewRuleContent")) + } + if s.NewRuleContent != nil && len(*s.NewRuleContent) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NewRuleContent", 1)) + } + if s.PullRequestId == nil { + invalidParams.Add(request.NewErrParamRequired("PullRequestId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApprovalRuleName sets the ApprovalRuleName field's value. +func (s *UpdatePullRequestApprovalRuleContentInput) SetApprovalRuleName(v string) *UpdatePullRequestApprovalRuleContentInput { + s.ApprovalRuleName = &v + return s +} + +// SetExistingRuleContentSha256 sets the ExistingRuleContentSha256 field's value. +func (s *UpdatePullRequestApprovalRuleContentInput) SetExistingRuleContentSha256(v string) *UpdatePullRequestApprovalRuleContentInput { + s.ExistingRuleContentSha256 = &v + return s +} + +// SetNewRuleContent sets the NewRuleContent field's value. +func (s *UpdatePullRequestApprovalRuleContentInput) SetNewRuleContent(v string) *UpdatePullRequestApprovalRuleContentInput { + s.NewRuleContent = &v + return s +} + +// SetPullRequestId sets the PullRequestId field's value. +func (s *UpdatePullRequestApprovalRuleContentInput) SetPullRequestId(v string) *UpdatePullRequestApprovalRuleContentInput { + s.PullRequestId = &v + return s +} + +type UpdatePullRequestApprovalRuleContentOutput struct { + _ struct{} `type:"structure"` + + // Information about the updated approval rule. + // + // ApprovalRule is a required field + ApprovalRule *ApprovalRule `locationName:"approvalRule" type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdatePullRequestApprovalRuleContentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePullRequestApprovalRuleContentOutput) GoString() string { + return s.String() +} + +// SetApprovalRule sets the ApprovalRule field's value. +func (s *UpdatePullRequestApprovalRuleContentOutput) SetApprovalRule(v *ApprovalRule) *UpdatePullRequestApprovalRuleContentOutput { + s.ApprovalRule = v + return s +} + +type UpdatePullRequestApprovalStateInput struct { + _ struct{} `type:"structure"` + + // The approval state to associate with the user on the pull request. + // + // ApprovalState is a required field + ApprovalState *string `locationName:"approvalState" type:"string" required:"true" enum:"ApprovalState"` + + // The system-generated ID of the pull request. + // + // PullRequestId is a required field + PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"` + + // The system-generated ID of the revision. + // + // RevisionId is a required field + RevisionId *string `locationName:"revisionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdatePullRequestApprovalStateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePullRequestApprovalStateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePullRequestApprovalStateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePullRequestApprovalStateInput"} + if s.ApprovalState == nil { + invalidParams.Add(request.NewErrParamRequired("ApprovalState")) + } + if s.PullRequestId == nil { + invalidParams.Add(request.NewErrParamRequired("PullRequestId")) + } + if s.RevisionId == nil { + invalidParams.Add(request.NewErrParamRequired("RevisionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApprovalState sets the ApprovalState field's value. +func (s *UpdatePullRequestApprovalStateInput) SetApprovalState(v string) *UpdatePullRequestApprovalStateInput { + s.ApprovalState = &v + return s +} + +// SetPullRequestId sets the PullRequestId field's value. +func (s *UpdatePullRequestApprovalStateInput) SetPullRequestId(v string) *UpdatePullRequestApprovalStateInput { + s.PullRequestId = &v + return s +} + +// SetRevisionId sets the RevisionId field's value. +func (s *UpdatePullRequestApprovalStateInput) SetRevisionId(v string) *UpdatePullRequestApprovalStateInput { + s.RevisionId = &v + return s +} + +type UpdatePullRequestApprovalStateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdatePullRequestApprovalStateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePullRequestApprovalStateOutput) GoString() string { + return s.String() +} + type UpdatePullRequestDescriptionInput struct { _ struct{} `type:"structure"` // The updated content of the description for the pull request. This content - // will replace the existing description. + // replaces the existing description. // // Description is a required field Description *string `locationName:"description" type:"string" required:"true"` @@ -16465,7 +21356,7 @@ type UpdatePullRequestStatusInput struct { PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"` // The status of the pull request. The only valid operations are to update the - // status from OPEN to OPEN, OPEN to CLOSED or from from CLOSED to CLOSED. + // status from OPEN to OPEN, OPEN to CLOSED or from CLOSED to CLOSED. // // PullRequestStatus is a required field PullRequestStatus *string `locationName:"pullRequestStatus" type:"string" required:"true" enum:"PullRequestStatusEnum"` @@ -16542,7 +21433,7 @@ type UpdatePullRequestTitleInput struct { // PullRequestId is a required field PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"` - // The updated title of the pull request. This will replace the existing title. + // The updated title of the pull request. This replaces the existing title. // // Title is a required field Title *string `locationName:"title" type:"string" required:"true"` @@ -16686,7 +21577,7 @@ type UpdateRepositoryNameInput struct { // NewName is a required field NewName *string `locationName:"newName" min:"1" type:"string" required:"true"` - // The existing name of the repository. + // The current name of the repository. // // OldName is a required field OldName *string `locationName:"oldName" min:"1" type:"string" required:"true"` @@ -16793,6 +21684,14 @@ func (s *UserInfo) SetName(v string) *UserInfo { return s } +const ( + // ApprovalStateApprove is a ApprovalState enum value + ApprovalStateApprove = "APPROVE" + + // ApprovalStateRevoke is a ApprovalState enum value + ApprovalStateRevoke = "REVOKE" +) + const ( // ChangeTypeEnumA is a ChangeTypeEnum enum value ChangeTypeEnumA = "A" @@ -16870,6 +21769,14 @@ const ( OrderEnumDescending = "descending" ) +const ( + // OverrideStatusOverride is a OverrideStatus enum value + OverrideStatusOverride = "OVERRIDE" + + // OverrideStatusRevoke is a OverrideStatus enum value + OverrideStatusRevoke = "REVOKE" +) + const ( // PullRequestEventTypePullRequestCreated is a PullRequestEventType enum value PullRequestEventTypePullRequestCreated = "PULL_REQUEST_CREATED" @@ -16882,6 +21789,21 @@ const ( // PullRequestEventTypePullRequestMergeStateChanged is a PullRequestEventType enum value PullRequestEventTypePullRequestMergeStateChanged = "PULL_REQUEST_MERGE_STATE_CHANGED" + + // PullRequestEventTypePullRequestApprovalRuleCreated is a PullRequestEventType enum value + PullRequestEventTypePullRequestApprovalRuleCreated = "PULL_REQUEST_APPROVAL_RULE_CREATED" + + // PullRequestEventTypePullRequestApprovalRuleUpdated is a PullRequestEventType enum value + PullRequestEventTypePullRequestApprovalRuleUpdated = "PULL_REQUEST_APPROVAL_RULE_UPDATED" + + // PullRequestEventTypePullRequestApprovalRuleDeleted is a PullRequestEventType enum value + PullRequestEventTypePullRequestApprovalRuleDeleted = "PULL_REQUEST_APPROVAL_RULE_DELETED" + + // PullRequestEventTypePullRequestApprovalRuleOverridden is a PullRequestEventType enum value + PullRequestEventTypePullRequestApprovalRuleOverridden = "PULL_REQUEST_APPROVAL_RULE_OVERRIDDEN" + + // PullRequestEventTypePullRequestApprovalStateChanged is a PullRequestEventType enum value + PullRequestEventTypePullRequestApprovalStateChanged = "PULL_REQUEST_APPROVAL_STATE_CHANGED" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go b/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go index 9ee44edfbe41..2025f901bd5e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go @@ -27,12 +27,12 @@ // the repository. // // * UpdateRepositoryName, which changes the name of the repository. If you -// change the name of a repository, no other users of that repository will -// be able to access it until you send them the new HTTPS or SSH URL to use. +// change the name of a repository, no other users of that repository can +// access it until you send them the new HTTPS or SSH URL to use. // // Branches, by calling the following: // -// * CreateBranch, which creates a new branch in a specified repository. +// * CreateBranch, which creates a branch in a specified repository. // // * DeleteBranch, which deletes the specified branch in a repository unless // it is the default branch. @@ -49,7 +49,7 @@ // branch. // // * GetBlob, which returns the base-64 encoded content of an individual -// Git blob object within a repository. +// Git blob object in a repository. // // * GetFile, which returns the base-64 encoded content of a specified file. // @@ -61,7 +61,7 @@ // Commits, by calling the following: // // * BatchGetCommits, which returns information about one or more commits -// in a repository +// in a repository. // // * CreateCommit, which creates a commit for changes to a repository. // @@ -69,7 +69,7 @@ // messages and author and committer information. // // * GetDifferences, which returns information about the differences in a -// valid commit specifier (such as a branch, tag, HEAD, commit ID or other +// valid commit specifier (such as a branch, tag, HEAD, commit ID, or other // fully qualified reference). // // Merges, by calling the following: @@ -107,14 +107,31 @@ // // * CreatePullRequest, which creates a pull request in a specified repository. // +// * CreatePullRequestApprovalRule, which creates an approval rule for a +// specified pull request. +// +// * DeletePullRequestApprovalRule, which deletes an approval rule for a +// specified pull request. +// // * DescribePullRequestEvents, which returns information about one or more // pull request events. // +// * EvaluatePullRequestApprovalRules, which evaluates whether a pull request +// has met all the conditions specified in its associated approval rules. +// // * GetCommentsForPullRequest, which returns information about comments // on a specified pull request. // // * GetPullRequest, which returns information about a specified pull request. // +// * GetPullRequestApprovalStates, which returns information about the approval +// states for a specified pull request. +// +// * GetPullRequestOverrideState, which returns information about whether +// approval rules have been set aside (overriden) for a pull request, and +// if so, the Amazon Resource Name (ARN) of the user or identity that overrode +// the rules and their requirements for the pull request. +// // * ListPullRequests, which lists all pull requests for a repository. // // * MergePullRequestByFastForward, which merges the source destination branch @@ -129,9 +146,18 @@ // of a pull request into the specified destination branch for that pull // request using the three-way merge option. // +// * OverridePullRequestApprovalRules, which sets aside all approval rule +// requirements for a pull request. +// // * PostCommentForPullRequest, which posts a comment to a pull request at // the specified line, file, or request. // +// * UpdatePullRequestApprovalRuleContent, which updates the structure of +// an approval rule for a pull request. +// +// * UpdatePullRequestApprovalState, which updates the state of an approval +// on a pull request. +// // * UpdatePullRequestDescription, which updates the description of a pull // request. // @@ -139,6 +165,58 @@ // // * UpdatePullRequestTitle, which updates the title of a pull request. // +// Approval rule templates, by calling the following: +// +// * AssociateApprovalRuleTemplateWithRepository, which associates a template +// with a specified repository. After the template is associated with a repository, +// AWS CodeCommit creates approval rules that match the template conditions +// on every pull request created in the specified repository. +// +// * BatchAssociateApprovalRuleTemplateWithRepositories, which associates +// a template with one or more specified repositories. After the template +// is associated with a repository, AWS CodeCommit creates approval rules +// that match the template conditions on every pull request created in the +// specified repositories. +// +// * BatchDisassociateApprovalRuleTemplateFromRepositories, which removes +// the association between a template and specified repositories so that +// approval rules based on the template are not automatically created when +// pull requests are created in those repositories. +// +// * CreateApprovalRuleTemplate, which creates a template for approval rules +// that can then be associated with one or more repositories in your AWS +// account. +// +// * DeleteApprovalRuleTemplate, which deletes the specified template. It +// does not remove approval rules on pull requests already created with the +// template. +// +// * DisassociateApprovalRuleTemplateFromRepository, which removes the association +// between a template and a repository so that approval rules based on the +// template are not automatically created when pull requests are created +// in the specified repository. +// +// * GetApprovalRuleTemplate, which returns information about an approval +// rule template. +// +// * ListApprovalRuleTemplates, which lists all approval rule templates in +// the AWS Region in your AWS account. +// +// * ListAssociatedApprovalRuleTemplatesForRepository, which lists all approval +// rule templates that are associated with a specified repository. +// +// * ListRepositoriesForApprovalRuleTemplate, which lists all repositories +// associated with the specified approval rule template. +// +// * UpdateApprovalRuleTemplateDescription, which updates the description +// of an approval rule template. +// +// * UpdateApprovalRuleTemplateName, which updates the name of an approval +// rule template. +// +// * UpdateApprovalRuleTemplateContent, which updates the content of an approval +// rule template. +// // Comments in a repository, by calling the following: // // * DeleteCommentContent, which deletes the content of a comment on a commit diff --git a/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go b/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go index 210448016d72..8240d5162f6e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go @@ -10,6 +10,75 @@ const ( // The specified Amazon Resource Name (ARN) does not exist in the AWS account. ErrCodeActorDoesNotExistException = "ActorDoesNotExistException" + // ErrCodeApprovalRuleContentRequiredException for service response error code + // "ApprovalRuleContentRequiredException". + // + // The content for the approval rule is empty. You must provide some content + // for an approval rule. The content cannot be null. + ErrCodeApprovalRuleContentRequiredException = "ApprovalRuleContentRequiredException" + + // ErrCodeApprovalRuleDoesNotExistException for service response error code + // "ApprovalRuleDoesNotExistException". + // + // The specified approval rule does not exist. + ErrCodeApprovalRuleDoesNotExistException = "ApprovalRuleDoesNotExistException" + + // ErrCodeApprovalRuleNameAlreadyExistsException for service response error code + // "ApprovalRuleNameAlreadyExistsException". + // + // An approval rule with that name already exists. Approval rule names must + // be unique within the scope of a pull request. + ErrCodeApprovalRuleNameAlreadyExistsException = "ApprovalRuleNameAlreadyExistsException" + + // ErrCodeApprovalRuleNameRequiredException for service response error code + // "ApprovalRuleNameRequiredException". + // + // An approval rule name is required, but was not specified. + ErrCodeApprovalRuleNameRequiredException = "ApprovalRuleNameRequiredException" + + // ErrCodeApprovalRuleTemplateContentRequiredException for service response error code + // "ApprovalRuleTemplateContentRequiredException". + // + // The content for the approval rule template is empty. You must provide some + // content for an approval rule template. The content cannot be null. + ErrCodeApprovalRuleTemplateContentRequiredException = "ApprovalRuleTemplateContentRequiredException" + + // ErrCodeApprovalRuleTemplateDoesNotExistException for service response error code + // "ApprovalRuleTemplateDoesNotExistException". + // + // The specified approval rule template does not exist. Verify that the name + // is correct and that you are signed in to the AWS Region where the template + // was created, and then try again. + ErrCodeApprovalRuleTemplateDoesNotExistException = "ApprovalRuleTemplateDoesNotExistException" + + // ErrCodeApprovalRuleTemplateInUseException for service response error code + // "ApprovalRuleTemplateInUseException". + // + // The approval rule template is associated with one or more repositories. You + // cannot delete a template that is associated with a repository. Remove all + // associations, and then try again. + ErrCodeApprovalRuleTemplateInUseException = "ApprovalRuleTemplateInUseException" + + // ErrCodeApprovalRuleTemplateNameAlreadyExistsException for service response error code + // "ApprovalRuleTemplateNameAlreadyExistsException". + // + // You cannot create an approval rule template with that name because a template + // with that name already exists in this AWS Region for your AWS account. Approval + // rule template names must be unique. + ErrCodeApprovalRuleTemplateNameAlreadyExistsException = "ApprovalRuleTemplateNameAlreadyExistsException" + + // ErrCodeApprovalRuleTemplateNameRequiredException for service response error code + // "ApprovalRuleTemplateNameRequiredException". + // + // An approval rule template name is required, but was not specified. + ErrCodeApprovalRuleTemplateNameRequiredException = "ApprovalRuleTemplateNameRequiredException" + + // ErrCodeApprovalStateRequiredException for service response error code + // "ApprovalStateRequiredException". + // + // An approval state is required, but was not specified. + ErrCodeApprovalStateRequiredException = "ApprovalStateRequiredException" + // ErrCodeAuthorDoesNotExistException for service response error code // "AuthorDoesNotExistException". // @@ -32,7 +101,7 @@ const ( // ErrCodeBlobIdRequiredException for service response error code // "BlobIdRequiredException". // - // A blob ID is required but was not specified. + // A blob ID is required, but was not specified. ErrCodeBlobIdRequiredException = "BlobIdRequiredException" // ErrCodeBranchDoesNotExistException for service response error code @@ -50,25 +119,39 @@ const ( // ErrCodeBranchNameIsTagNameException for service response error code // "BranchNameIsTagNameException". // - // The specified branch name is not valid because it is a tag name. Type the - // name of a current branch in the repository. For a list of valid branch names, - // use ListBranches. + // The specified branch name is not valid because it is a tag name. Enter the + // name of a branch in the repository. For a list of valid branch names, use + // ListBranches. ErrCodeBranchNameIsTagNameException = "BranchNameIsTagNameException" // ErrCodeBranchNameRequiredException for service response error code // "BranchNameRequiredException". // - // A branch name is required but was not specified. + // A branch name is required, but was not specified. ErrCodeBranchNameRequiredException = "BranchNameRequiredException" + // ErrCodeCannotDeleteApprovalRuleFromTemplateException for service response error code + // "CannotDeleteApprovalRuleFromTemplateException". + // + // The approval rule cannot be deleted from the pull request because it was + // created by an approval rule template and applied to the pull request automatically. + ErrCodeCannotDeleteApprovalRuleFromTemplateException = "CannotDeleteApprovalRuleFromTemplateException" + + // ErrCodeCannotModifyApprovalRuleFromTemplateException for service response error code + // "CannotModifyApprovalRuleFromTemplateException". + // + // The approval rule cannot be modified for the pull request because it was + // created by an approval rule template and applied to the pull request automatically. + ErrCodeCannotModifyApprovalRuleFromTemplateException = "CannotModifyApprovalRuleFromTemplateException" + // ErrCodeClientRequestTokenRequiredException for service response error code // "ClientRequestTokenRequiredException". // // A client request token is required. A client request token is an unique, - // client-generated idempotency token that when provided in a request, ensures + // client-generated idempotency token that, when provided in a request, ensures // the request cannot be repeated with a changed parameter. If a request is - // received with the same parameters and a token is included, the request will - // return information about the initial request that used that token. + // received with the same parameters and a token is included, the request returns + // information about the initial request that used that token. ErrCodeClientRequestTokenRequiredException = "ClientRequestTokenRequiredException" // ErrCodeCommentContentRequiredException for service response error code @@ -94,8 +177,8 @@ const ( // ErrCodeCommentDoesNotExistException for service response error code // "CommentDoesNotExistException". // - // No comment exists with the provided ID. Verify that you have provided the - // correct ID, and then try again. + // No comment exists with the provided ID. Verify that you have used the correct + // ID, and then try again. ErrCodeCommentDoesNotExistException = "CommentDoesNotExistException" // ErrCodeCommentIdRequiredException for service response error code @@ -140,6 +223,9 @@ const ( // ErrCodeCommitIdsListRequiredException for service response error code // "CommitIdsListRequiredException". + // + // A list of commit IDs is required, but was either not specified or the list + // was empty. ErrCodeCommitIdsListRequiredException = "CommitIdsListRequiredException" // ErrCodeCommitMessageLengthExceededException for service response error code @@ -214,7 +300,7 @@ const ( // // The commit cannot be created because both a source file and file content // have been specified for the same file. You cannot provide both. Either specify - // a source file, or provide the file content directly. + // a source file or provide the file content directly. ErrCodeFileContentAndSourceFileSpecifiedException = "FileContentAndSourceFileSpecifiedException" // ErrCodeFileContentRequiredException for service response error code @@ -227,16 +313,16 @@ const ( // ErrCodeFileContentSizeLimitExceededException for service response error code // "FileContentSizeLimitExceededException". // - // The file cannot be added because it is too large. The maximum file size that - // can be added is 6 MB, and the combined file content change size is 7 MB. - // Consider making these changes using a Git client. + // The file cannot be added because it is too large. The maximum file size is + // 6 MB, and the combined file content change size is 7 MB. Consider making + // these changes using a Git client. ErrCodeFileContentSizeLimitExceededException = "FileContentSizeLimitExceededException" // ErrCodeFileDoesNotExistException for service response error code // "FileDoesNotExistException". // - // The specified file does not exist. Verify that you have provided the correct - // name of the file, including its full path and extension. + // The specified file does not exist. Verify that you have used the correct + // file name, full path, and extension. ErrCodeFileDoesNotExistException = "FileDoesNotExistException" // ErrCodeFileEntryRequiredException for service response error code @@ -249,8 +335,8 @@ const ( // ErrCodeFileModeRequiredException for service response error code // "FileModeRequiredException". // - // The commit cannot be created because a file mode is required to update mode - // permissions for an existing file, but no file mode has been specified. + // The commit cannot be created because no file mode has been specified. A file + // mode is required to update mode permissions for a file. ErrCodeFileModeRequiredException = "FileModeRequiredException" // ErrCodeFileNameConflictsWithDirectoryNameException for service response error code @@ -291,14 +377,14 @@ const ( // "FolderDoesNotExistException". // // The specified folder does not exist. Either the folder name is not correct, - // or you did not provide the full path to the folder. + // or you did not enter the full path to the folder. ErrCodeFolderDoesNotExistException = "FolderDoesNotExistException" // ErrCodeIdempotencyParameterMismatchException for service response error code // "IdempotencyParameterMismatchException". // // The client request token is not valid. Either the token is not in a valid - // format, or the token has been used in a previous request and cannot be re-used. + // format, or the token has been used in a previous request and cannot be reused. ErrCodeIdempotencyParameterMismatchException = "IdempotencyParameterMismatchException" // ErrCodeInvalidActorArnException for service response error code @@ -309,6 +395,47 @@ const ( // and then try again. ErrCodeInvalidActorArnException = "InvalidActorArnException" + // ErrCodeInvalidApprovalRuleContentException for service response error code + // "InvalidApprovalRuleContentException". + // + // The content for the approval rule is not valid. + ErrCodeInvalidApprovalRuleContentException = "InvalidApprovalRuleContentException" + + // ErrCodeInvalidApprovalRuleNameException for service response error code + // "InvalidApprovalRuleNameException". + // + // The name for the approval rule is not valid. + ErrCodeInvalidApprovalRuleNameException = "InvalidApprovalRuleNameException" + + // ErrCodeInvalidApprovalRuleTemplateContentException for service response error code + // "InvalidApprovalRuleTemplateContentException". + // + // The content of the approval rule template is not valid. + ErrCodeInvalidApprovalRuleTemplateContentException = "InvalidApprovalRuleTemplateContentException" + + // ErrCodeInvalidApprovalRuleTemplateDescriptionException for service response error code + // "InvalidApprovalRuleTemplateDescriptionException". + // + // The description for the approval rule template is not valid because it exceeds + // the maximum characters allowed for a description. For more information about + // limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). + ErrCodeInvalidApprovalRuleTemplateDescriptionException = "InvalidApprovalRuleTemplateDescriptionException" + + // ErrCodeInvalidApprovalRuleTemplateNameException for service response error code + // "InvalidApprovalRuleTemplateNameException". + // + // The name of the approval rule template is not valid. Template names must + // be between 1 and 100 valid characters in length. For more information about + // limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html). + ErrCodeInvalidApprovalRuleTemplateNameException = "InvalidApprovalRuleTemplateNameException" + + // ErrCodeInvalidApprovalStateException for service response error code + // "InvalidApprovalStateException". + // + // The state for the approval is not valid. Valid values include APPROVE and + // REVOKE. + ErrCodeInvalidApprovalStateException = "InvalidApprovalStateException" + // ErrCodeInvalidAuthorArnException for service response error code // "InvalidAuthorArnException". // @@ -386,8 +513,8 @@ const ( // ErrCodeInvalidDescriptionException for service response error code // "InvalidDescriptionException". // - // The pull request description is not valid. Descriptions are limited to 1,000 - // characters in length. + // The pull request description is not valid. Descriptions cannot be more than + // 1,000 characters. ErrCodeInvalidDescriptionException = "InvalidDescriptionException" // ErrCodeInvalidDestinationCommitSpecifierException for service response error code @@ -408,8 +535,8 @@ const ( // ErrCodeInvalidFileLocationException for service response error code // "InvalidFileLocationException". // - // The location of the file is not valid. Make sure that you include the extension - // of the file as well as the file name. + // The location of the file is not valid. Make sure that you include the file + // name and extension. ErrCodeInvalidFileLocationException = "InvalidFileLocationException" // ErrCodeInvalidFileModeException for service response error code @@ -457,6 +584,12 @@ const ( // The specified sort order is not valid. ErrCodeInvalidOrderException = "InvalidOrderException" + // ErrCodeInvalidOverrideStatusException for service response error code + // "InvalidOverrideStatusException". + // + // The override status is not valid. Valid statuses are OVERRIDE and REVOKE. + ErrCodeInvalidOverrideStatusException = "InvalidOverrideStatusException" + // ErrCodeInvalidParentCommitIdException for service response error code // "InvalidParentCommitIdException". // @@ -503,7 +636,7 @@ const ( // "InvalidReferenceNameException". // // The specified reference name format is not valid. Reference names must conform - // to the Git references format, for example refs/heads/master. For more information, + // to the Git references format (for example, refs/heads/master). For more information, // see Git Internals - Git References (https://git-scm.com/book/en/v2/Git-Internals-Git-References) // or consult your Git documentation. ErrCodeInvalidReferenceNameException = "InvalidReferenceNameException" @@ -538,9 +671,9 @@ const ( // ErrCodeInvalidRepositoryNameException for service response error code // "InvalidRepositoryNameException". // - // At least one specified repository name is not valid. + // A specified repository name is not valid. // - // This exception only occurs when a specified repository name is not valid. + // This exception occurs only when a specified repository name is not valid. // Other exceptions occur when a required repository parameter is missing, or // when a specified repository does not exist. ErrCodeInvalidRepositoryNameException = "InvalidRepositoryNameException" @@ -581,8 +714,9 @@ const ( // ErrCodeInvalidRepositoryTriggerRegionException for service response error code // "InvalidRepositoryTriggerRegionException". // - // The region for the trigger target does not match the region for the repository. - // Triggers must be created in the same region as the target for the trigger. + // The AWS Region for the trigger target does not match the AWS Region for the + // repository. Triggers must be created in the same Region as the target for + // the trigger. ErrCodeInvalidRepositoryTriggerRegionException = "InvalidRepositoryTriggerRegionException" // ErrCodeInvalidResourceArnException for service response error code @@ -593,6 +727,18 @@ const ( // in the AWS CodeCommit User Guide. ErrCodeInvalidResourceArnException = "InvalidResourceArnException" + // ErrCodeInvalidRevisionIdException for service response error code + // "InvalidRevisionIdException". + // + // The revision ID is not valid. Use GetPullRequest to determine the value. + ErrCodeInvalidRevisionIdException = "InvalidRevisionIdException" + + // ErrCodeInvalidRuleContentSha256Exception for service response error code + // "InvalidRuleContentSha256Exception". + // + // The SHA-256 hash signature for the rule content is not valid. + ErrCodeInvalidRuleContentSha256Exception = "InvalidRuleContentSha256Exception" + // ErrCodeInvalidSortByException for service response error code // "InvalidSortByException". // @@ -690,10 +836,17 @@ const ( // ErrCodeMaximumItemsToCompareExceededException for service response error code // "MaximumItemsToCompareExceededException". // - // The maximum number of items to compare between the source or destination - // branches and the merge base has exceeded the maximum allowed. + // The number of items to compare between the source or destination branches + // and the merge base has exceeded the maximum allowed. ErrCodeMaximumItemsToCompareExceededException = "MaximumItemsToCompareExceededException" + // ErrCodeMaximumNumberOfApprovalsExceededException for service response error code + // "MaximumNumberOfApprovalsExceededException". + // + // The number of approvals required for the approval rule exceeds the maximum + // number allowed. + ErrCodeMaximumNumberOfApprovalsExceededException = "MaximumNumberOfApprovalsExceededException" + // ErrCodeMaximumOpenPullRequestsExceededException for service response error code // "MaximumOpenPullRequestsExceededException". // @@ -706,7 +859,7 @@ const ( // "MaximumRepositoryNamesExceededException". // // The maximum number of allowed repository names was exceeded. Currently, this - // number is 25. + // number is 100. ErrCodeMaximumRepositoryNamesExceededException = "MaximumRepositoryNamesExceededException" // ErrCodeMaximumRepositoryTriggersExceededException for service response error code @@ -715,6 +868,13 @@ const ( // The number of triggers allowed for the repository was exceeded. ErrCodeMaximumRepositoryTriggersExceededException = "MaximumRepositoryTriggersExceededException" + // ErrCodeMaximumRuleTemplatesAssociatedWithRepositoryException for service response error code + // "MaximumRuleTemplatesAssociatedWithRepositoryException". + // + // The maximum number of approval rule templates for a repository has been exceeded. + // You cannot associate more than 25 approval rule templates with a repository. + ErrCodeMaximumRuleTemplatesAssociatedWithRepositoryException = "MaximumRuleTemplatesAssociatedWithRepositoryException" + // ErrCodeMergeOptionRequiredException for service response error code // "MergeOptionRequiredException". // @@ -750,6 +910,33 @@ const ( // as a result of this commit. A commit must contain at least one change. ErrCodeNoChangeException = "NoChangeException" + // ErrCodeNumberOfRuleTemplatesExceededException for service response error code + // "NumberOfRuleTemplatesExceededException". + // + // The maximum number of approval rule templates has been exceeded for this + // AWS Region. + ErrCodeNumberOfRuleTemplatesExceededException = "NumberOfRuleTemplatesExceededException" + + // ErrCodeNumberOfRulesExceededException for service response error code + // "NumberOfRulesExceededException". + // + // The approval rule cannot be added. The pull request has the maximum number + // of approval rules associated with it. + ErrCodeNumberOfRulesExceededException = "NumberOfRulesExceededException" + + // ErrCodeOverrideAlreadySetException for service response error code + // "OverrideAlreadySetException". + // + // The pull request has already had its approval rules set to override. + ErrCodeOverrideAlreadySetException = "OverrideAlreadySetException" + + // ErrCodeOverrideStatusRequiredException for service response error code + // "OverrideStatusRequiredException". + // + // An override status is required, but no value was provided. Valid values include + // OVERRIDE and REVOKE. + ErrCodeOverrideStatusRequiredException = "OverrideStatusRequiredException" + // ErrCodeParentCommitDoesNotExistException for service response error code // "ParentCommitDoesNotExistException". // @@ -791,6 +978,21 @@ const ( // The pull request status cannot be updated because it is already closed. ErrCodePullRequestAlreadyClosedException = "PullRequestAlreadyClosedException" + // ErrCodePullRequestApprovalRulesNotSatisfiedException for service response error code + // "PullRequestApprovalRulesNotSatisfiedException". + // + // The pull request cannot be merged because one or more approval rules applied + // to the pull request have conditions that have not been met. + ErrCodePullRequestApprovalRulesNotSatisfiedException = "PullRequestApprovalRulesNotSatisfiedException" + + // ErrCodePullRequestCannotBeApprovedByAuthorException for service response error code + // "PullRequestCannotBeApprovedByAuthorException". + // + // The approval cannot be applied because the user approving the pull request + // matches the user who created the pull request. You cannot approve a pull + // request that you created. + ErrCodePullRequestCannotBeApprovedByAuthorException = "PullRequestCannotBeApprovedByAuthorException" + // ErrCodePullRequestDoesNotExistException for service response error code // "PullRequestDoesNotExistException". // @@ -838,7 +1040,7 @@ const ( // ErrCodeReplacementContentRequiredException for service response error code // "ReplacementContentRequiredException". // - // USE_NEW_CONTENT was specified but no replacement content has been provided. + // USE_NEW_CONTENT was specified, but no replacement content has been provided. ErrCodeReplacementContentRequiredException = "ReplacementContentRequiredException" // ErrCodeReplacementTypeRequiredException for service response error code @@ -868,13 +1070,13 @@ const ( // ErrCodeRepositoryNameRequiredException for service response error code // "RepositoryNameRequiredException". // - // A repository name is required but was not specified. + // A repository name is required, but was not specified. ErrCodeRepositoryNameRequiredException = "RepositoryNameRequiredException" // ErrCodeRepositoryNamesRequiredException for service response error code // "RepositoryNamesRequiredException". // - // A repository names object is required but was not specified. + // At least one repository name object is required, but was not specified. ErrCodeRepositoryNamesRequiredException = "RepositoryNamesRequiredException" // ErrCodeRepositoryNotAssociatedWithPullRequestException for service response error code @@ -888,33 +1090,33 @@ const ( // ErrCodeRepositoryTriggerBranchNameListRequiredException for service response error code // "RepositoryTriggerBranchNameListRequiredException". // - // At least one branch name is required but was not specified in the trigger + // At least one branch name is required, but was not specified in the trigger // configuration. ErrCodeRepositoryTriggerBranchNameListRequiredException = "RepositoryTriggerBranchNameListRequiredException" // ErrCodeRepositoryTriggerDestinationArnRequiredException for service response error code // "RepositoryTriggerDestinationArnRequiredException". // - // A destination ARN for the target service for the trigger is required but + // A destination ARN for the target service for the trigger is required, but // was not specified. ErrCodeRepositoryTriggerDestinationArnRequiredException = "RepositoryTriggerDestinationArnRequiredException" // ErrCodeRepositoryTriggerEventsListRequiredException for service response error code // "RepositoryTriggerEventsListRequiredException". // - // At least one event for the trigger is required but was not specified. + // At least one event for the trigger is required, but was not specified. ErrCodeRepositoryTriggerEventsListRequiredException = "RepositoryTriggerEventsListRequiredException" // ErrCodeRepositoryTriggerNameRequiredException for service response error code // "RepositoryTriggerNameRequiredException". // - // A name for the trigger is required but was not specified. + // A name for the trigger is required, but was not specified. ErrCodeRepositoryTriggerNameRequiredException = "RepositoryTriggerNameRequiredException" // ErrCodeRepositoryTriggersListRequiredException for service response error code // "RepositoryTriggersListRequiredException". // - // The list of triggers for the repository is required but was not specified. + // The list of triggers for the repository is required, but was not specified. ErrCodeRepositoryTriggersListRequiredException = "RepositoryTriggersListRequiredException" // ErrCodeResourceArnRequiredException for service response error code @@ -933,6 +1135,19 @@ const ( // or moving a .gitkeep file. ErrCodeRestrictedSourceFileException = "RestrictedSourceFileException" + // ErrCodeRevisionIdRequiredException for service response error code + // "RevisionIdRequiredException". + // + // A revision ID is required, but was not provided. + ErrCodeRevisionIdRequiredException = "RevisionIdRequiredException" + + // ErrCodeRevisionNotCurrentException for service response error code + // "RevisionNotCurrentException". + // + // The revision ID provided in the request does not match the current revision + // ID. Use GetPullRequest to retrieve the current revision ID. + ErrCodeRevisionNotCurrentException = "RevisionNotCurrentException" + // ErrCodeSameFileContentException for service response error code // "SameFileContentException". // @@ -953,8 +1168,8 @@ const ( // ErrCodeSourceAndDestinationAreSameException for service response error code // "SourceAndDestinationAreSameException". // - // The source branch and the destination branch for the pull request are the - // same. You must specify different branches for the source and destination. + // The source branch and destination branch for the pull request are the same. + // You must specify different branches for the source and destination. ErrCodeSourceAndDestinationAreSameException = "SourceAndDestinationAreSameException" // ErrCodeSourceFileOrContentRequiredException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go index cea54de136da..2bab97360b08 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go @@ -27000,6 +27000,9 @@ const ( // IdentityProviderTypeTypeLoginWithAmazon is a IdentityProviderTypeType enum value IdentityProviderTypeTypeLoginWithAmazon = "LoginWithAmazon" + // IdentityProviderTypeTypeSignInWithApple is a IdentityProviderTypeType enum value + IdentityProviderTypeTypeSignInWithApple = "SignInWithApple" + // IdentityProviderTypeTypeOidc is a IdentityProviderTypeType enum value IdentityProviderTypeTypeOidc = "OIDC" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/configservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/configservice/api.go index 27240a47ef28..23739d7ea4a3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/configservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/configservice/api.go @@ -605,8 +605,8 @@ func (c *ConfigService) DeleteConformancePackRequest(input *DeleteConformancePac // DeleteConformancePack API operation for AWS Config. // -// Deletes the specified conformance pack and all the AWS Config rules and all -// evaluation results within that conformance pack. +// Deletes the specified conformance pack and all the AWS Config rules, remediation +// actions, and all evaluation results within that conformance pack. // // AWS Config sets the conformance pack to DELETE_IN_PROGRESS until the deletion // is complete. You cannot update a conformance pack while it is in this state. @@ -1359,6 +1359,92 @@ func (c *ConfigService) DeleteRemediationExceptionsWithContext(ctx aws.Context, return out, req.Send() } +const opDeleteResourceConfig = "DeleteResourceConfig" + +// DeleteResourceConfigRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResourceConfig 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 DeleteResourceConfig for more information on using the DeleteResourceConfig +// 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 DeleteResourceConfigRequest method. +// req, resp := client.DeleteResourceConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteResourceConfig +func (c *ConfigService) DeleteResourceConfigRequest(input *DeleteResourceConfigInput) (req *request.Request, output *DeleteResourceConfigOutput) { + op := &request.Operation{ + Name: opDeleteResourceConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteResourceConfigInput{} + } + + output = &DeleteResourceConfigOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteResourceConfig API operation for AWS Config. +// +// Records the configuration state for a custom resource that has been deleted. +// This API records a new ConfigurationItem with a ResourceDeleted status. You +// can retrieve the ConfigurationItems recorded for this resource in your AWS +// Config 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 Config's +// API operation DeleteResourceConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeValidationException "ValidationException" +// The requested action is not valid. +// +// * ErrCodeNoRunningConfigurationRecorderException "NoRunningConfigurationRecorderException" +// There is no configuration recorder running. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteResourceConfig +func (c *ConfigService) DeleteResourceConfig(input *DeleteResourceConfigInput) (*DeleteResourceConfigOutput, error) { + req, out := c.DeleteResourceConfigRequest(input) + return out, req.Send() +} + +// DeleteResourceConfigWithContext is the same as DeleteResourceConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteResourceConfig 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 *ConfigService) DeleteResourceConfigWithContext(ctx aws.Context, input *DeleteResourceConfigInput, opts ...request.Option) (*DeleteResourceConfigOutput, error) { + req, out := c.DeleteResourceConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteRetentionConfiguration = "DeleteRetentionConfiguration" // DeleteRetentionConfigurationRequest generates a "aws/request.Request" representing the @@ -2510,10 +2596,9 @@ func (c *ConfigService) DescribeConformancePackComplianceRequest(input *Describe // DescribeConformancePackCompliance API operation for AWS Config. // -// Returns compliance information for each rule in that conformance pack. +// Returns compliance details for each rule in that conformance pack. // -// You must provide exact rule names otherwise AWS Config cannot return evaluation -// results due to insufficient data. +// You must provide exact rule names. // // 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 @@ -2608,6 +2693,8 @@ func (c *ConfigService) DescribeConformancePackStatusRequest(input *DescribeConf // // Provides one or more conformance packs deployment status. // +// If there are no conformance packs then you will see an empty result. +// // 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. @@ -3259,9 +3346,12 @@ func (c *ConfigService) DescribeOrganizationConformancePacksRequest(input *Descr // Returns a list of organization conformance packs. // // When you specify the limit and the next token, you receive a paginated response. +// // Limit and next token are not applicable if you specify organization conformance // packs names. They are only applicable, when you request all the organization -// conformance packs. Only a master account can call this API. +// conformance packs. +// +// Only a master account can call this 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 @@ -4703,6 +4793,9 @@ func (c *ConfigService) GetConformancePackComplianceSummaryRequest(input *GetCon // GetConformancePackComplianceSummary API operation for AWS Config. // +// Returns compliance details for the conformance pack based on the cumulative +// compliance results of all the rules in that conformance pack. +// // 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. @@ -5739,9 +5832,8 @@ func (c *ConfigService) PutConfigRuleRequest(input *PutConfigRuleInput) (req *re // a service linked role. // // * For PutConformancePack and PutOrganizationConformancePack, a conformance -// pack cannot be created becuase you do not have permissions: To call IAM +// pack cannot be created because you do not have permissions: To call IAM // GetRole action or create a service linked role. To read Amazon S3 bucket. -// To create a rule and a stack. // // * ErrCodeNoAvailableConfigurationRecorderException "NoAvailableConfigurationRecorderException" // There are no configuration recorders available to provide the role needed @@ -6029,7 +6121,8 @@ func (c *ConfigService) PutConformancePackRequest(input *PutConformancePackInput // PutConformancePack API operation for AWS Config. // // Creates or updates a conformance pack. A conformance pack is a collection -// of AWS Config rules that can be easily deployed in an account and a region. +// of AWS Config rules that can be easily deployed in an account and a region +// and across AWS Organization. // // This API creates a service linked role AWSServiceRoleForConfigConforms in // your account. The service linked role is created only when the role does @@ -6062,9 +6155,8 @@ func (c *ConfigService) PutConformancePackRequest(input *PutConformancePackInput // a service linked role. // // * For PutConformancePack and PutOrganizationConformancePack, a conformance -// pack cannot be created becuase you do not have permissions: To call IAM +// pack cannot be created because you do not have permissions: To call IAM // GetRole action or create a service linked role. To read Amazon S3 bucket. -// To create a rule and a stack. // // * ErrCodeConformancePackTemplateValidationException "ConformancePackTemplateValidationException" // You have specified a template that is not valid or supported. @@ -6101,8 +6193,8 @@ func (c *ConfigService) PutConformancePackRequest(input *PutConformancePackInput // are valid and try again. // // * ErrCodeMaxNumberOfConformancePacksExceededException "MaxNumberOfConformancePacksExceededException" -// You have reached the limit (20) of the number of conformance packs in an -// account. +// You have reached the limit (6) of the number of conformance packs in an account +// (6 conformance pack with 25 AWS Config rules per pack). // // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConformancePack func (c *ConfigService) PutConformancePack(input *PutConformancePackInput) (*PutConformancePackOutput, error) { @@ -6469,9 +6561,8 @@ func (c *ConfigService) PutOrganizationConfigRuleRequest(input *PutOrganizationC // a service linked role. // // * For PutConformancePack and PutOrganizationConformancePack, a conformance -// pack cannot be created becuase you do not have permissions: To call IAM +// pack cannot be created because you do not have permissions: To call IAM // GetRole action or create a service linked role. To read Amazon S3 bucket. -// To create a rule and a stack. // // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConfigRule func (c *ConfigService) PutOrganizationConfigRule(input *PutOrganizationConfigRuleInput) (*PutOrganizationConfigRuleOutput, error) { @@ -6541,18 +6632,22 @@ func (c *ConfigService) PutOrganizationConformancePackRequest(input *PutOrganiza // // Deploys conformance packs across member accounts in an AWS Organization. // -// This API enables organization service access through the EnableAWSServiceAccess -// action and creates a service linked role AWSServiceRoleForConfigMultiAccountSetup -// in the master account of your organization. The service linked role is created -// only when the role does not exist in the master account. AWS Config verifies -// the existence of role with GetRole action. -// -// The SPN is config-multiaccountsetup.amazonaws.com. +// This API enables organization service access for config-multiaccountsetup.amazonaws.com +// through the EnableAWSServiceAccess action and creates a service linked role +// AWSServiceRoleForConfigMultiAccountSetup in the master account of your organization. +// The service linked role is created only when the role does not exist in the +// master account. AWS Config verifies the existence of role with GetRole action. // // You must specify either the TemplateS3Uri or the TemplateBody parameter, // but not both. If you provide both AWS Config uses the TemplateS3Uri parameter // and ignores the TemplateBody parameter. // +// AWS Config sets the state of a conformance pack to CREATE_IN_PROGRESS and +// UPDATE_IN_PROGRESS until the confomance pack is created or updated. You cannot +// update a conformance pack while it is in this state. +// +// You can create 6 conformance packs with 25 AWS Config rules in each pack. +// // 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. @@ -6562,8 +6657,9 @@ func (c *ConfigService) PutOrganizationConformancePackRequest(input *PutOrganiza // // Returned Error Codes: // * ErrCodeMaxNumberOfOrganizationConformancePacksExceededException "MaxNumberOfOrganizationConformancePacksExceededException" -// You have reached the limit (10) of the number of organization conformance -// packs in an account. +// You have reached the limit (6) of the number of organization conformance +// packs in an account (6 conformance pack with 25 AWS Config rules per pack +// per account). // // * ErrCodeResourceInUseException "ResourceInUseException" // You see this exception in the following cases: @@ -6617,9 +6713,8 @@ func (c *ConfigService) PutOrganizationConformancePackRequest(input *PutOrganiza // a service linked role. // // * For PutConformancePack and PutOrganizationConformancePack, a conformance -// pack cannot be created becuase you do not have permissions: To call IAM +// pack cannot be created because you do not have permissions: To call IAM // GetRole action or create a service linked role. To read Amazon S3 bucket. -// To create a rule and a stack. // // * ErrCodeOrganizationConformancePackTemplateValidationException "OrganizationConformancePackTemplateValidationException" // You have specified a template that is not valid or supported. @@ -6725,9 +6820,8 @@ func (c *ConfigService) PutRemediationConfigurationsRequest(input *PutRemediatio // a service linked role. // // * For PutConformancePack and PutOrganizationConformancePack, a conformance -// pack cannot be created becuase you do not have permissions: To call IAM +// pack cannot be created because you do not have permissions: To call IAM // GetRole action or create a service linked role. To read Amazon S3 bucket. -// To create a rule and a stack. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One or more of the specified parameters are invalid. Verify that your parameters @@ -6837,6 +6931,121 @@ func (c *ConfigService) PutRemediationExceptionsWithContext(ctx aws.Context, inp return out, req.Send() } +const opPutResourceConfig = "PutResourceConfig" + +// PutResourceConfigRequest generates a "aws/request.Request" representing the +// client's request for the PutResourceConfig 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 PutResourceConfig for more information on using the PutResourceConfig +// 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 PutResourceConfigRequest method. +// req, resp := client.PutResourceConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutResourceConfig +func (c *ConfigService) PutResourceConfigRequest(input *PutResourceConfigInput) (req *request.Request, output *PutResourceConfigOutput) { + op := &request.Operation{ + Name: opPutResourceConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutResourceConfigInput{} + } + + output = &PutResourceConfigOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutResourceConfig API operation for AWS Config. +// +// Records the configuration state for the resource provided in the request. +// The configuration state of a resource is represented in AWS Config as Configuration +// Items. Once this API records the configuration item, you can retrieve the +// list of configuration items for the custom resource type using existing AWS +// Config APIs. +// +// The custom resource type must be registered with AWS CloudFormation. This +// API accepts the configuration item registered with AWS CloudFormation. +// +// When you call this API, AWS Config only stores configuration state of the +// resource provided in the request. This API does not change or remediate the +// configuration of the 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 AWS Config's +// API operation PutResourceConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeValidationException "ValidationException" +// The requested action is not valid. +// +// * ErrCodeInsufficientPermissionsException "InsufficientPermissionsException" +// Indicates one of the following errors: +// +// * For PutConfigRule, the rule cannot be created because the IAM role assigned +// to AWS Config lacks permissions to perform the config:Put* action. +// +// * For PutConfigRule, the AWS Lambda function cannot be invoked. Check +// the function ARN, and check the function's permissions. +// +// * For PutOrganizationConfigRule, organization config rule cannot be created +// because you do not have permissions to call IAM GetRole action or create +// a service linked role. +// +// * For PutConformancePack and PutOrganizationConformancePack, a conformance +// pack cannot be created because you do not have permissions: To call IAM +// GetRole action or create a service linked role. To read Amazon S3 bucket. +// +// * ErrCodeNoRunningConfigurationRecorderException "NoRunningConfigurationRecorderException" +// There is no configuration recorder running. +// +// * ErrCodeMaxActiveResourcesExceededException "MaxActiveResourcesExceededException" +// You have reached the limit (100,000) of active custom resource types in your +// account. Delete unused resources using DeleteResourceConfig. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutResourceConfig +func (c *ConfigService) PutResourceConfig(input *PutResourceConfigInput) (*PutResourceConfigOutput, error) { + req, out := c.PutResourceConfigRequest(input) + return out, req.Send() +} + +// PutResourceConfigWithContext is the same as PutResourceConfig with the addition of +// the ability to pass a context and additional request options. +// +// See PutResourceConfig 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 *ConfigService) PutResourceConfigWithContext(ctx aws.Context, input *PutResourceConfigInput, opts ...request.Option) (*PutResourceConfigOutput, error) { + req, out := c.PutResourceConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutRetentionConfiguration = "PutRetentionConfiguration" // PutRetentionConfigurationRequest generates a "aws/request.Request" representing the @@ -7332,9 +7541,8 @@ func (c *ConfigService) StartRemediationExecutionRequest(input *StartRemediation // a service linked role. // // * For PutConformancePack and PutOrganizationConformancePack, a conformance -// pack cannot be created becuase you do not have permissions: To call IAM +// pack cannot be created because you do not have permissions: To call IAM // GetRole action or create a service linked role. To read Amazon S3 bucket. -// To create a rule and a stack. // // * ErrCodeNoSuchRemediationConfigurationException "NoSuchRemediationConfigurationException" // You specified an AWS Config rule without a remediation configuration. @@ -9397,7 +9605,9 @@ type ConfigurationItem struct { // CloudTrail, see What Is AWS CloudTrail (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html). // // An empty field indicates that the current configuration was not initiated - // by any event. + // by any event. As of Version 1.3, the relatedEvents field is empty. You can + // access the LookupEvents API (https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html) + // in the AWS CloudTrail API Reference to retrieve the events for the resource. RelatedEvents []*string `locationName:"relatedEvents" type:"list"` // A list of related AWS resources. @@ -9726,12 +9936,18 @@ func (s *ConformancePackComplianceFilters) SetConfigRuleNames(v []*string) *Conf return s } +// Summary includes the name and status of the conformance pack. type ConformancePackComplianceSummary struct { _ struct{} `type:"structure"` + // The status of the conformance pack. The allowed values are COMPLIANT and + // NON_COMPLIANT. + // // ConformancePackComplianceStatus is a required field ConformancePackComplianceStatus *string `type:"string" required:"true" enum:"ConformancePackComplianceType"` + // The name of the conformance pack name. + // // ConformancePackName is a required field ConformancePackName *string `min:"1" type:"string" required:"true"` } @@ -9759,7 +9975,8 @@ func (s *ConformancePackComplianceSummary) SetConformancePackName(v string) *Con } // Returns details of a conformance pack. A conformance pack is a collection -// of AWS Config rules that can be easily deployed in an account and a region. +// of AWS Config rules and remediation actions that can be easily deployed in +// an account and a region. type ConformancePackDetail struct { _ struct{} `type:"structure"` @@ -9781,15 +9998,16 @@ type ConformancePackDetail struct { // ConformancePackName is a required field ConformancePackName *string `min:"1" type:"string" required:"true"` + // AWS service that created the conformance pack. CreatedBy *string `min:"1" type:"string"` - // Location of an Amazon S3 bucket where AWS Config can deliver evaluation results - // and conformance pack template that is used to create a pack. + // Conformance pack template that is used to create a pack. The delivery bucket + // name should start with awsconfigconforms. For example: "Resource": "arn:aws:s3:::your_bucket_name/*". // // DeliveryS3Bucket is a required field DeliveryS3Bucket *string `min:"3" type:"string" required:"true"` - // Any folder structure you want to add to an Amazon S3 bucket. + // The prefix for the Amazon S3 bucket. DeliveryS3KeyPrefix *string `min:"1" type:"string"` // Last time when conformation pack update was requested. @@ -9868,6 +10086,9 @@ type ConformancePackEvaluationFilters struct { ConfigRuleNames []*string `type:"list"` // Filters the results by resource IDs. + // + // This is valid only when you provide resource type. If there is no resource + // type, you will see an error. ResourceIds []*string `type:"list"` // Filters the results by the resource type (for example, "AWS::EC2::Instance"). @@ -9930,9 +10151,7 @@ type ConformancePackEvaluationResult struct { // Supplementary information about how the evaluation determined the compliance. Annotation *string `type:"string"` - // Filters the results by compliance. - // - // The allowed values are COMPLIANT and NON_COMPLIANT. + // The compliance type. The allowed values are COMPLIANT and NON_COMPLIANT. // // ComplianceType is a required field ComplianceType *string `type:"string" required:"true" enum:"ConformancePackComplianceType"` @@ -10053,12 +10272,12 @@ func (s *ConformancePackInputParameter) SetParameterValue(v string) *Conformance type ConformancePackRuleCompliance struct { _ struct{} `type:"structure"` - // Filters the results by compliance. + // Compliance of the AWS Config rule // // The allowed values are COMPLIANT and NON_COMPLIANT. ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"` - // Filters the results by AWS Config rule name. + // Name of the config rule. ConfigRuleName *string `min:"1" type:"string"` } @@ -10117,7 +10336,7 @@ type ConformancePackStatusDetail struct { // // * DELETE_IN_PROGRESS when a conformance pack deletion is in progress. // - // * DELETE_FAILED when a conformance pack deletion failed from your account. + // * DELETE_FAILED when a conformance pack deletion failed in your account. // // ConformancePackState is a required field ConformancePackState *string `type:"string" required:"true" enum:"ConformancePackState"` @@ -10943,6 +11162,78 @@ func (s *DeleteRemediationExceptionsOutput) SetFailedBatches(v []*FailedDeleteRe return s } +type DeleteResourceConfigInput struct { + _ struct{} `type:"structure"` + + // Unique identifier of the resource. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // The type of the resource. + // + // ResourceType is a required field + ResourceType *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteResourceConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourceConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResourceConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResourceConfigInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.ResourceType != nil && len(*s.ResourceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceId sets the ResourceId field's value. +func (s *DeleteResourceConfigInput) SetResourceId(v string) *DeleteResourceConfigInput { + s.ResourceId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *DeleteResourceConfigInput) SetResourceType(v string) *DeleteResourceConfigInput { + s.ResourceType = &v + return s +} + +type DeleteResourceConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteResourceConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourceConfigOutput) GoString() string { + return s.String() +} + type DeleteRetentionConfigurationInput struct { _ struct{} `type:"structure"` @@ -12141,7 +12432,7 @@ type DescribeConformancePackStatusInput struct { // Comma-separated list of conformance pack names. ConformancePackNames []*string `type:"list"` - // The maximum number of conformance packs returned on each page. + // The maximum number of conformance packs status returned on each page. Limit *int64 `type:"integer"` // The nextToken string returned in a previous request that you use to request @@ -14502,11 +14793,16 @@ func (s *GetConformancePackComplianceDetailsOutput) SetNextToken(v string) *GetC type GetConformancePackComplianceSummaryInput struct { _ struct{} `type:"structure"` + // Names of conformance packs. + // // ConformancePackNames is a required field ConformancePackNames []*string `min:"1" type:"list" required:"true"` + // The maximum number of conformance packs returned on each page. Limit *int64 `type:"integer"` + // The nextToken string returned on a previous page that you use to get the + // next page of results in a paginated response. NextToken *string `type:"string"` } @@ -14557,8 +14853,11 @@ func (s *GetConformancePackComplianceSummaryInput) SetNextToken(v string) *GetCo type GetConformancePackComplianceSummaryOutput struct { _ struct{} `type:"structure"` + // A list of ConformancePackComplianceSummary objects. ConformancePackComplianceSummaryList []*ConformancePackComplianceSummary `min:"1" type:"list"` + // The nextToken string returned on a previous page that you use to get the + // next page of results in a paginated response. NextToken *string `type:"string"` } @@ -15975,7 +16274,7 @@ type OrganizationConformancePackStatus struct { _ struct{} `type:"structure"` // An error code that is returned when organization conformance pack creation - // or deletion has failed in the member account. + // or deletion has failed in a member account. ErrorCode *string `type:"string"` // An error message indicating that organization conformance pack creation or @@ -16820,7 +17119,6 @@ type PutConformancePackInput struct { // ConformancePackName is a required field ConformancePackName *string `min:"1" type:"string" required:"true"` - // Location of an Amazon S3 bucket where AWS Config can deliver evaluation results. // AWS Config stores intermediate files while processing conformance pack template. // // DeliveryS3Bucket is a required field @@ -16834,12 +17132,12 @@ type PutConformancePackInput struct { // 51,200 bytes. // // You can only use a YAML template with one resource type, that is, config - // rule. + // rule and a remediation action. TemplateBody *string `min:"1" type:"string"` - // Location of file containing the template body. The uri must point to the - // conformance pack template (max size: 300,000 bytes) that is located in an - // Amazon S3 bucket in the same region as the conformance pack. + // Location of file containing the template body (s3://bucketname/prefix). The + // uri must point to the conformance pack template (max size: 300 KB) that is + // located in an Amazon S3 bucket in the same region as the conformance pack. // // You must have access to read Amazon S3 bucket. TemplateS3Uri *string `min:"1" type:"string"` @@ -17223,6 +17521,10 @@ type PutOrganizationConformancePackInput struct { // Location of an Amazon S3 bucket where AWS Config can deliver evaluation results. // AWS Config stores intermediate files while processing conformance pack template. // + // The delivery bucket name should start with awsconfigconforms. For example: + // "Resource": "arn:aws:s3:::your_bucket_name/*". For more information, see + // Permissions for cross account bucket access (https://docs.aws.amazon.com/config/latest/developerguide/conformance-pack-organization-apis.html). + // // DeliveryS3Bucket is a required field DeliveryS3Bucket *string `min:"3" type:"string" required:"true"` @@ -17244,7 +17546,7 @@ type PutOrganizationConformancePackInput struct { TemplateBody *string `min:"1" type:"string"` // Location of file containing the template body. The uri must point to the - // conformance pack template (max size: 300,000 bytes). + // conformance pack template (max size: 300 KB). // // You must have access to read Amazon S3 bucket. TemplateS3Uri *string `min:"1" type:"string"` @@ -17553,6 +17855,135 @@ func (s *PutRemediationExceptionsOutput) SetFailedBatches(v []*FailedRemediation return s } +type PutResourceConfigInput struct { + _ struct{} `type:"structure"` + + // The configuration object of the resource in valid JSON format. It must match + // the schema registered with AWS CloudFormation. + // + // The configuration JSON must not exceed 64 KB. + // + // Configuration is a required field + Configuration *string `type:"string" required:"true"` + + // Unique identifier of the resource. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // Name of the resource. + ResourceName *string `type:"string"` + + // The type of the resource. The custom resource type must be registered with + // AWS CloudFormation. + // + // You cannot use the organization names “aws”, “amzn”, “amazon”, + // “alexa”, “custom” with custom resource types. It is the first part + // of the ResourceType up to the first ::. + // + // ResourceType is a required field + ResourceType *string `min:"1" type:"string" required:"true"` + + // Version of the schema registered for the ResourceType in AWS CloudFormation. + // + // SchemaVersionId is a required field + SchemaVersionId *string `min:"1" type:"string" required:"true"` + + // Tags associated with the resource. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation +func (s PutResourceConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResourceConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutResourceConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutResourceConfigInput"} + if s.Configuration == nil { + invalidParams.Add(request.NewErrParamRequired("Configuration")) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.ResourceType != nil && len(*s.ResourceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) + } + if s.SchemaVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaVersionId")) + } + if s.SchemaVersionId != nil && len(*s.SchemaVersionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SchemaVersionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguration sets the Configuration field's value. +func (s *PutResourceConfigInput) SetConfiguration(v string) *PutResourceConfigInput { + s.Configuration = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *PutResourceConfigInput) SetResourceId(v string) *PutResourceConfigInput { + s.ResourceId = &v + return s +} + +// SetResourceName sets the ResourceName field's value. +func (s *PutResourceConfigInput) SetResourceName(v string) *PutResourceConfigInput { + s.ResourceName = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *PutResourceConfigInput) SetResourceType(v string) *PutResourceConfigInput { + s.ResourceType = &v + return s +} + +// SetSchemaVersionId sets the SchemaVersionId field's value. +func (s *PutResourceConfigInput) SetSchemaVersionId(v string) *PutResourceConfigInput { + s.SchemaVersionId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *PutResourceConfigInput) SetTags(v map[string]*string) *PutResourceConfigInput { + s.Tags = v + return s +} + +type PutResourceConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutResourceConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResourceConfigOutput) GoString() string { + return s.String() +} + type PutRetentionConfigurationInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/configservice/errors.go b/vendor/github.com/aws/aws-sdk-go/service/configservice/errors.go index 82989cc735b0..803805bc6fce 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/configservice/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/configservice/errors.go @@ -32,9 +32,8 @@ const ( // a service linked role. // // * For PutConformancePack and PutOrganizationConformancePack, a conformance - // pack cannot be created becuase you do not have permissions: To call IAM + // pack cannot be created because you do not have permissions: To call IAM // GetRole action or create a service linked role. To read Amazon S3 bucket. - // To create a rule and a stack. ErrCodeInsufficientPermissionsException = "InsufficientPermissionsException" // ErrCodeInvalidConfigurationRecorderNameException for service response error code @@ -131,6 +130,13 @@ const ( // of accounts and aggregators exceeds the limit. ErrCodeLimitExceededException = "LimitExceededException" + // ErrCodeMaxActiveResourcesExceededException for service response error code + // "MaxActiveResourcesExceededException". + // + // You have reached the limit (100,000) of active custom resource types in your + // account. Delete unused resources using DeleteResourceConfig. + ErrCodeMaxActiveResourcesExceededException = "MaxActiveResourcesExceededException" + // ErrCodeMaxNumberOfConfigRulesExceededException for service response error code // "MaxNumberOfConfigRulesExceededException". // @@ -148,8 +154,8 @@ const ( // ErrCodeMaxNumberOfConformancePacksExceededException for service response error code // "MaxNumberOfConformancePacksExceededException". // - // You have reached the limit (20) of the number of conformance packs in an - // account. + // You have reached the limit (6) of the number of conformance packs in an account + // (6 conformance pack with 25 AWS Config rules per pack). ErrCodeMaxNumberOfConformancePacksExceededException = "MaxNumberOfConformancePacksExceededException" // ErrCodeMaxNumberOfDeliveryChannelsExceededException for service response error code @@ -168,8 +174,9 @@ const ( // ErrCodeMaxNumberOfOrganizationConformancePacksExceededException for service response error code // "MaxNumberOfOrganizationConformancePacksExceededException". // - // You have reached the limit (10) of the number of organization conformance - // packs in an account. + // You have reached the limit (6) of the number of organization conformance + // packs in an account (6 conformance pack with 25 AWS Config rules per pack + // per account). ErrCodeMaxNumberOfOrganizationConformancePacksExceededException = "MaxNumberOfOrganizationConformancePacksExceededException" // ErrCodeMaxNumberOfRetentionConfigurationsExceededException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go b/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go index 6a97a930feed..dc6d21a23c8d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go @@ -505,7 +505,7 @@ func (c *DataSync) CreateLocationSmbRequest(input *CreateLocationSmbInput) (req // CreateLocationSmb API operation for AWS DataSync. // // Defines a file system on an Server Message Block (SMB) server that can be -// read from or written to +// read from or written to. // // 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 @@ -2895,6 +2895,8 @@ type CreateLocationEfsInput struct { // A subdirectory in the location’s path. This subdirectory in the EFS file // system is used to read data from the EFS source location or write data to // the EFS destination. By default, AWS DataSync uses the root directory. + // + // Subdirectory must be specified with forward slashes. For example /path/to/folder. Subdirectory *string `type:"string"` // The key-value pair that represents a tag that you want to add to the resource. @@ -3296,7 +3298,7 @@ type CreateLocationSmbInput struct { // access files and folders in the SMB share. // // Password is a required field - Password *string `type:"string" required:"true"` + Password *string `type:"string" required:"true" sensitive:"true"` // The name of the SMB server. This value is the IP address or Domain Name Service // (DNS) name of the SMB server. An agent that is installed on-premises uses @@ -3314,6 +3316,8 @@ type CreateLocationSmbInput struct { // The path should be such that it can be mounted by other SMB clients in your // network. // + // Subdirectory must be specified with forward slashes. For example /path/to/folder. + // // To transfer all the data in the folder you specified, DataSync needs to have // permissions to mount the SMB share, as well as to access all the data in // that share. To ensure this, either ensure that the user/password specified @@ -3497,6 +3501,11 @@ type CreateTaskInput struct { // see the operation. Options *Options `type:"structure"` + // Specifies a schedule used to periodically transfer files from a source to + // a destination location. The schedule should be specified in UTC time. For + // more information, see task-scheduling. + Schedule *TaskSchedule `type:"structure"` + // The Amazon Resource Name (ARN) of the source location for the task. // // SourceLocationArn is a required field @@ -3534,6 +3543,11 @@ func (s *CreateTaskInput) Validate() error { invalidParams.AddNested("Options", err.(request.ErrInvalidParams)) } } + if s.Schedule != nil { + if err := s.Schedule.Validate(); err != nil { + invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -3581,6 +3595,12 @@ func (s *CreateTaskInput) SetOptions(v *Options) *CreateTaskInput { return s } +// SetSchedule sets the Schedule field's value. +func (s *CreateTaskInput) SetSchedule(v *TaskSchedule) *CreateTaskInput { + s.Schedule = v + return s +} + // SetSourceLocationArn sets the SourceLocationArn field's value. func (s *CreateTaskInput) SetSourceLocationArn(v string) *CreateTaskInput { s.SourceLocationArn = &v @@ -4607,6 +4627,10 @@ type DescribeTaskOutput struct { // the overriding OverrideOptions value to operation. Options *Options `type:"structure"` + // The schedule used to periodically transfer files from a source to a destination + // location. + Schedule *TaskSchedule `type:"structure"` + // The Amazon Resource Name (ARN) of the source file system's location. SourceLocationArn *string `type:"string"` @@ -4694,6 +4718,12 @@ func (s *DescribeTaskOutput) SetOptions(v *Options) *DescribeTaskOutput { return s } +// SetSchedule sets the Schedule field's value. +func (s *DescribeTaskOutput) SetSchedule(v *TaskSchedule) *DescribeTaskOutput { + s.Schedule = v + return s +} + // SetSourceLocationArn sets the SourceLocationArn field's value. func (s *DescribeTaskOutput) SetSourceLocationArn(v string) *DescribeTaskOutput { s.SourceLocationArn = &v @@ -5433,10 +5463,10 @@ type Options struct { PreserveDevices *string `type:"string" enum:"PreserveDevices"` // A value that determines whether tasks should be queued before executing the - // tasks. If set to Enabled, the tasks will queued. The default is Enabled. + // tasks. If set to ENABLED, the tasks will be queued. The default is ENABLED. // // If you use the same agent to run multiple tasks you can enable the tasks - // to run in series. For more information see task-queue. + // to run in series. For more information see queue-task-execution. TaskQueueing *string `type:"string" enum:"TaskQueueing"` // The user ID (UID) of the file's owner. @@ -5967,6 +5997,10 @@ type TaskExecutionResultDetail struct { // The status of the PREPARING phase. PrepareStatus *string `type:"string" enum:"PhaseStatus"` + // The total time in milliseconds that AWS DataSync took to transfer the file + // from the source to the destination location. + TotalDuration *int64 `type:"long"` + // The total time in milliseconds that AWS DataSync spent in the TRANSFERRING // phase. TransferDuration *int64 `type:"long"` @@ -6015,6 +6049,12 @@ func (s *TaskExecutionResultDetail) SetPrepareStatus(v string) *TaskExecutionRes return s } +// SetTotalDuration sets the TotalDuration field's value. +func (s *TaskExecutionResultDetail) SetTotalDuration(v int64) *TaskExecutionResultDetail { + s.TotalDuration = &v + return s +} + // SetTransferDuration sets the TransferDuration field's value. func (s *TaskExecutionResultDetail) SetTransferDuration(v int64) *TaskExecutionResultDetail { s.TransferDuration = &v @@ -6084,6 +6124,47 @@ func (s *TaskListEntry) SetTaskArn(v string) *TaskListEntry { return s } +// Specifies the schedule you want your task to use for repeated executions. +// For more information, see Schedule Expressions for Rules (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html). +type TaskSchedule struct { + _ struct{} `type:"structure"` + + // A cron expression that specifies when AWS DataSync initiates a scheduled + // transfer from a source to a destination location. + // + // ScheduleExpression is a required field + ScheduleExpression *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s TaskSchedule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TaskSchedule) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TaskSchedule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TaskSchedule"} + if s.ScheduleExpression == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduleExpression")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScheduleExpression sets the ScheduleExpression field's value. +func (s *TaskSchedule) SetScheduleExpression(v string) *TaskSchedule { + s.ScheduleExpression = &v + return s +} + // UntagResourceRequest type UntagResourceInput struct { _ struct{} `type:"structure"` @@ -6246,6 +6327,13 @@ type UpdateTaskInput struct { // value to StartTaskExecution. Options *Options `type:"structure"` + // Specifies a schedule used to periodically transfer files from a source to + // a destination location. You can configure your task to execute hourly, daily, + // weekly or on specific days of the week. You control when in the day or hour + // you want the task to execute. The time you specify is UTC time. For more + // information, see task-scheduling. + Schedule *TaskSchedule `type:"structure"` + // The Amazon Resource Name (ARN) of the resource name of the task to update. // // TaskArn is a required field @@ -6276,6 +6364,11 @@ func (s *UpdateTaskInput) Validate() error { invalidParams.AddNested("Options", err.(request.ErrInvalidParams)) } } + if s.Schedule != nil { + if err := s.Schedule.Validate(); err != nil { + invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -6307,6 +6400,12 @@ func (s *UpdateTaskInput) SetOptions(v *Options) *UpdateTaskInput { return s } +// SetSchedule sets the Schedule field's value. +func (s *UpdateTaskInput) SetSchedule(v *TaskSchedule) *UpdateTaskInput { + s.Schedule = v + return s +} + // SetTaskArn sets the TaskArn field's value. func (s *UpdateTaskInput) SetTaskArn(v string) *UpdateTaskInput { s.TaskArn = &v @@ -6349,6 +6448,9 @@ const ( // EndpointTypePrivateLink is a EndpointType enum value EndpointTypePrivateLink = "PRIVATE_LINK" + + // EndpointTypeFips is a EndpointType enum value + EndpointTypeFips = "FIPS" ) const ( @@ -6415,9 +6517,6 @@ const ( // PosixPermissionsNone is a PosixPermissions enum value PosixPermissionsNone = "NONE" - // PosixPermissionsBestEffort is a PosixPermissions enum value - PosixPermissionsBestEffort = "BEST_EFFORT" - // PosixPermissionsPreserve is a PosixPermissions enum value PosixPermissionsPreserve = "PRESERVE" ) 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 e3df1b688444..cf90ee96048a 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 @@ -952,6 +952,83 @@ func (s DeleteLifecyclePolicyOutput) GoString() string { return s.String() } +// Specifies a rule for enabling fast snapshot restore. You can enable fast +// snapshot restore based on either a count or a time interval. +type FastRestoreRule struct { + _ struct{} `type:"structure"` + + // The Availability Zones in which to enable fast snapshot restore. + // + // AvailabilityZones is a required field + AvailabilityZones []*string `min:"1" type:"list" required:"true"` + + // The number of snapshots to be enabled with fast snapshot restore. + Count *int64 `min:"1" type:"integer"` + + // The amount of time to enable fast snapshot restore. The maximum is 100 years. + // This is equivalent to 1200 months, 5200 weeks, or 36500 days. + Interval *int64 `min:"1" type:"integer"` + + // The unit of time for enabling fast snapshot restore. + IntervalUnit *string `type:"string" enum:"RetentionIntervalUnitValues"` +} + +// String returns the string representation +func (s FastRestoreRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FastRestoreRule) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FastRestoreRule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FastRestoreRule"} + if s.AvailabilityZones == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZones")) + } + if s.AvailabilityZones != nil && len(s.AvailabilityZones) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AvailabilityZones", 1)) + } + if s.Count != nil && *s.Count < 1 { + invalidParams.Add(request.NewErrParamMinValue("Count", 1)) + } + if s.Interval != nil && *s.Interval < 1 { + invalidParams.Add(request.NewErrParamMinValue("Interval", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *FastRestoreRule) SetAvailabilityZones(v []*string) *FastRestoreRule { + s.AvailabilityZones = v + return s +} + +// SetCount sets the Count field's value. +func (s *FastRestoreRule) SetCount(v int64) *FastRestoreRule { + s.Count = &v + return s +} + +// SetInterval sets the Interval field's value. +func (s *FastRestoreRule) SetInterval(v int64) *FastRestoreRule { + s.Interval = &v + return s +} + +// SetIntervalUnit sets the IntervalUnit field's value. +func (s *FastRestoreRule) SetIntervalUnit(v string) *FastRestoreRule { + s.IntervalUnit = &v + return s +} + type GetLifecyclePoliciesInput struct { _ struct{} `type:"structure"` @@ -1469,14 +1546,20 @@ func (s *PolicyDetails) SetTargetTags(v []*Tag) *PolicyDetails { return s } -// Specifies the number of snapshots to keep for each EBS volume. +// Specifies the retention rule for a lifecycle policy. You can retain snapshots +// based on either a count or a time interval. type RetainRule struct { _ struct{} `type:"structure"` - // The number of snapshots to keep for each volume, up to a maximum of 1000. - // - // Count is a required field - Count *int64 `min:"1" type:"integer" required:"true"` + // The number of snapshots to retain for each volume, up to a maximum of 1000. + Count *int64 `min:"1" type:"integer"` + + // The amount of time to retain each snapshot. The maximum is 100 years. This + // is equivalent to 1200 months, 5200 weeks, or 36500 days. + Interval *int64 `min:"1" type:"integer"` + + // The unit of time for time-based retention. + IntervalUnit *string `type:"string" enum:"RetentionIntervalUnitValues"` } // String returns the string representation @@ -1492,12 +1575,12 @@ func (s RetainRule) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *RetainRule) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RetainRule"} - if s.Count == nil { - invalidParams.Add(request.NewErrParamRequired("Count")) - } if s.Count != nil && *s.Count < 1 { invalidParams.Add(request.NewErrParamMinValue("Count", 1)) } + if s.Interval != nil && *s.Interval < 1 { + invalidParams.Add(request.NewErrParamMinValue("Interval", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -1511,6 +1594,18 @@ func (s *RetainRule) SetCount(v int64) *RetainRule { return s } +// SetInterval sets the Interval field's value. +func (s *RetainRule) SetInterval(v int64) *RetainRule { + s.Interval = &v + return s +} + +// SetIntervalUnit sets the IntervalUnit field's value. +func (s *RetainRule) SetIntervalUnit(v string) *RetainRule { + s.IntervalUnit = &v + return s +} + // Specifies a schedule. type Schedule struct { _ struct{} `type:"structure"` @@ -1522,10 +1617,13 @@ type Schedule struct { // The create rule. CreateRule *CreateRule `type:"structure"` + // Enable fast snapshot restore. + FastRestoreRule *FastRestoreRule `type:"structure"` + // The name of the schedule. Name *string `type:"string"` - // The retain rule. + // The retention rule. RetainRule *RetainRule `type:"structure"` // The tags to apply to policy-created resources. These user-defined tags are @@ -1557,6 +1655,11 @@ func (s *Schedule) Validate() error { invalidParams.AddNested("CreateRule", err.(request.ErrInvalidParams)) } } + if s.FastRestoreRule != nil { + if err := s.FastRestoreRule.Validate(); err != nil { + invalidParams.AddNested("FastRestoreRule", err.(request.ErrInvalidParams)) + } + } if s.RetainRule != nil { if err := s.RetainRule.Validate(); err != nil { invalidParams.AddNested("RetainRule", err.(request.ErrInvalidParams)) @@ -1601,6 +1704,12 @@ func (s *Schedule) SetCreateRule(v *CreateRule) *Schedule { return s } +// SetFastRestoreRule sets the FastRestoreRule field's value. +func (s *Schedule) SetFastRestoreRule(v *FastRestoreRule) *Schedule { + s.FastRestoreRule = v + return s +} + // SetName sets the Name field's value. func (s *Schedule) SetName(v string) *Schedule { s.Name = &v @@ -1949,6 +2058,20 @@ const ( ResourceTypeValuesInstance = "INSTANCE" ) +const ( + // RetentionIntervalUnitValuesDays is a RetentionIntervalUnitValues enum value + RetentionIntervalUnitValuesDays = "DAYS" + + // RetentionIntervalUnitValuesWeeks is a RetentionIntervalUnitValues enum value + RetentionIntervalUnitValuesWeeks = "WEEKS" + + // RetentionIntervalUnitValuesMonths is a RetentionIntervalUnitValues enum value + RetentionIntervalUnitValuesMonths = "MONTHS" + + // RetentionIntervalUnitValuesYears is a RetentionIntervalUnitValues enum value + RetentionIntervalUnitValuesYears = "YEARS" +) + const ( // SettablePolicyStateValuesEnabled is a SettablePolicyStateValues enum value SettablePolicyStateValuesEnabled = "ENABLED" 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 562870b35d14..1b30fe445fe9 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 @@ -653,6 +653,9 @@ func (c *DynamoDB) CreateGlobalTableRequest(input *CreateGlobalTableInput) (req // relationship between two or more DynamoDB tables with the same table name // in the provided Regions. // +// This method only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) +// of global tables. +// // If you want to add a new replica table to a global table, each of the following // conditions must be true: // @@ -1694,6 +1697,9 @@ func (c *DynamoDB) DescribeGlobalTableRequest(input *DescribeGlobalTableInput) ( // // Returns information about the specified global table. // +// This method only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) +// of global tables. +// // 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. @@ -1797,6 +1803,9 @@ func (c *DynamoDB) DescribeGlobalTableSettingsRequest(input *DescribeGlobalTable // // Describes Region-specific settings for a global table. // +// This method only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) +// of global tables. +// // 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. @@ -2102,6 +2111,92 @@ func (c *DynamoDB) DescribeTableWithContext(ctx aws.Context, input *DescribeTabl return out, req.Send() } +const opDescribeTableReplicaAutoScaling = "DescribeTableReplicaAutoScaling" + +// DescribeTableReplicaAutoScalingRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTableReplicaAutoScaling 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 DescribeTableReplicaAutoScaling for more information on using the DescribeTableReplicaAutoScaling +// 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 DescribeTableReplicaAutoScalingRequest method. +// req, resp := client.DescribeTableReplicaAutoScalingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTableReplicaAutoScaling +func (c *DynamoDB) DescribeTableReplicaAutoScalingRequest(input *DescribeTableReplicaAutoScalingInput) (req *request.Request, output *DescribeTableReplicaAutoScalingOutput) { + op := &request.Operation{ + Name: opDescribeTableReplicaAutoScaling, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeTableReplicaAutoScalingInput{} + } + + output = &DescribeTableReplicaAutoScalingOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeTableReplicaAutoScaling API operation for Amazon DynamoDB. +// +// Describes auto scaling settings across replicas of the global table at once. +// +// This method only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) +// of global tables. +// +// 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 DynamoDB's +// API operation DescribeTableReplicaAutoScaling for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTableReplicaAutoScaling +func (c *DynamoDB) DescribeTableReplicaAutoScaling(input *DescribeTableReplicaAutoScalingInput) (*DescribeTableReplicaAutoScalingOutput, error) { + req, out := c.DescribeTableReplicaAutoScalingRequest(input) + return out, req.Send() +} + +// DescribeTableReplicaAutoScalingWithContext is the same as DescribeTableReplicaAutoScaling with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeTableReplicaAutoScaling 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 *DynamoDB) DescribeTableReplicaAutoScalingWithContext(ctx aws.Context, input *DescribeTableReplicaAutoScalingInput, opts ...request.Option) (*DescribeTableReplicaAutoScalingOutput, error) { + req, out := c.DescribeTableReplicaAutoScalingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeTimeToLive = "DescribeTimeToLive" // DescribeTimeToLiveRequest generates a "aws/request.Request" representing the @@ -2505,6 +2600,9 @@ func (c *DynamoDB) ListGlobalTablesRequest(input *ListGlobalTablesInput) (req *r // // Lists all global tables that have a replica in the specified Region. // +// This method only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) +// of global tables. +// // 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. @@ -5106,6 +5204,111 @@ func (c *DynamoDB) UpdateTableWithContext(ctx aws.Context, input *UpdateTableInp return out, req.Send() } +const opUpdateTableReplicaAutoScaling = "UpdateTableReplicaAutoScaling" + +// UpdateTableReplicaAutoScalingRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTableReplicaAutoScaling 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 UpdateTableReplicaAutoScaling for more information on using the UpdateTableReplicaAutoScaling +// 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 UpdateTableReplicaAutoScalingRequest method. +// req, resp := client.UpdateTableReplicaAutoScalingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTableReplicaAutoScaling +func (c *DynamoDB) UpdateTableReplicaAutoScalingRequest(input *UpdateTableReplicaAutoScalingInput) (req *request.Request, output *UpdateTableReplicaAutoScalingOutput) { + op := &request.Operation{ + Name: opUpdateTableReplicaAutoScaling, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTableReplicaAutoScalingInput{} + } + + output = &UpdateTableReplicaAutoScalingOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTableReplicaAutoScaling API operation for Amazon DynamoDB. +// +// Updates auto scaling settings on your global tables at once. +// +// This method only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) +// of global tables. +// +// 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 DynamoDB's +// API operation UpdateTableReplicaAutoScaling for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The operation tried to access a nonexistent table or index. The resource +// might not be specified correctly, or its status might not be ACTIVE. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The operation conflicts with the resource's availability. For example, you +// attempted to recreate an existing table, or tried to delete a table currently +// in the CREATING state. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// There is no limit to the number of daily on-demand backups that can be taken. +// +// Up to 50 simultaneous table operations are allowed per account. These operations +// include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, +// and RestoreTableToPointInTime. +// +// The only exception is when you are creating a table with one or more secondary +// indexes. You can have up to 25 such requests running at a time; however, +// if the table or index specifications are complex, DynamoDB might temporarily +// reduce the number of concurrent operations. +// +// There is a soft account limit of 256 tables. +// +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTableReplicaAutoScaling +func (c *DynamoDB) UpdateTableReplicaAutoScaling(input *UpdateTableReplicaAutoScalingInput) (*UpdateTableReplicaAutoScalingOutput, error) { + req, out := c.UpdateTableReplicaAutoScalingRequest(input) + return out, req.Send() +} + +// UpdateTableReplicaAutoScalingWithContext is the same as UpdateTableReplicaAutoScaling with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTableReplicaAutoScaling 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 *DynamoDB) UpdateTableReplicaAutoScalingWithContext(ctx aws.Context, input *UpdateTableReplicaAutoScalingInput, opts ...request.Option) (*UpdateTableReplicaAutoScalingOutput, error) { + req, out := c.UpdateTableReplicaAutoScalingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateTimeToLive = "UpdateTimeToLive" // UpdateTimeToLiveRequest generates a "aws/request.Request" representing the @@ -7413,6 +7616,94 @@ func (s *CreateReplicaAction) SetRegionName(v string) *CreateReplicaAction { return s } +// Represents a replica to be created. +type CreateReplicationGroupMemberAction struct { + _ struct{} `type:"structure"` + + // Replica-specific global secondary index settings. + GlobalSecondaryIndexes []*ReplicaGlobalSecondaryIndex `min:"1" type:"list"` + + // The AWS KMS customer master key (CMK) that should be used for AWS KMS encryption + // in the new replica. To specify a CMK, use its key ID, Amazon Resource Name + // (ARN), alias name, or alias ARN. Note that you should only provide this parameter + // if the key is different from the default DynamoDB KMS master key alias/aws/dynamodb. + KMSMasterKeyId *string `type:"string"` + + // Replica-specific provisioned throughput. If not specified, uses the source + // table's provisioned throughput settings. + ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` + + // The Region where the new replica will be created. + // + // RegionName is a required field + RegionName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateReplicationGroupMemberAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateReplicationGroupMemberAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateReplicationGroupMemberAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateReplicationGroupMemberAction"} + if s.GlobalSecondaryIndexes != nil && len(s.GlobalSecondaryIndexes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GlobalSecondaryIndexes", 1)) + } + if s.RegionName == nil { + invalidParams.Add(request.NewErrParamRequired("RegionName")) + } + if s.GlobalSecondaryIndexes != nil { + for i, v := range s.GlobalSecondaryIndexes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexes", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ProvisionedThroughputOverride != nil { + if err := s.ProvisionedThroughputOverride.Validate(); err != nil { + invalidParams.AddNested("ProvisionedThroughputOverride", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. +func (s *CreateReplicationGroupMemberAction) SetGlobalSecondaryIndexes(v []*ReplicaGlobalSecondaryIndex) *CreateReplicationGroupMemberAction { + s.GlobalSecondaryIndexes = v + return s +} + +// SetKMSMasterKeyId sets the KMSMasterKeyId field's value. +func (s *CreateReplicationGroupMemberAction) SetKMSMasterKeyId(v string) *CreateReplicationGroupMemberAction { + s.KMSMasterKeyId = &v + return s +} + +// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. +func (s *CreateReplicationGroupMemberAction) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *CreateReplicationGroupMemberAction { + s.ProvisionedThroughputOverride = v + return s +} + +// SetRegionName sets the RegionName field's value. +func (s *CreateReplicationGroupMemberAction) SetRegionName(v string) *CreateReplicationGroupMemberAction { + s.RegionName = &v + return s +} + // Represents the input of a CreateTable operation. type CreateTableInput struct { _ struct{} `type:"structure"` @@ -7632,6 +7923,11 @@ func (s *CreateTableInput) Validate() error { invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams)) } } + if s.StreamSpecification != nil { + if err := s.StreamSpecification.Validate(); err != nil { + invalidParams.AddNested("StreamSpecification", err.(request.ErrInvalidParams)) + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -8268,6 +8564,45 @@ func (s *DeleteReplicaAction) SetRegionName(v string) *DeleteReplicaAction { return s } +// Represents a replica to be deleted. +type DeleteReplicationGroupMemberAction struct { + _ struct{} `type:"structure"` + + // The Region where the replica exists. + // + // RegionName is a required field + RegionName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteReplicationGroupMemberAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReplicationGroupMemberAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReplicationGroupMemberAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupMemberAction"} + if s.RegionName == nil { + invalidParams.Add(request.NewErrParamRequired("RegionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRegionName sets the RegionName field's value. +func (s *DeleteReplicationGroupMemberAction) SetRegionName(v string) *DeleteReplicationGroupMemberAction { + s.RegionName = &v + return s +} + // Represents a request to perform a DeleteItem operation on an item. type DeleteRequest struct { _ struct{} `type:"structure"` @@ -8806,28 +9141,28 @@ func (s *DescribeTableOutput) SetTable(v *TableDescription) *DescribeTableOutput return s } -type DescribeTimeToLiveInput struct { +type DescribeTableReplicaAutoScalingInput struct { _ struct{} `type:"structure"` - // The name of the table to be described. + // The name of the table. // // TableName is a required field TableName *string `min:"3" type:"string" required:"true"` } // String returns the string representation -func (s DescribeTimeToLiveInput) String() string { +func (s DescribeTableReplicaAutoScalingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTimeToLiveInput) GoString() string { +func (s DescribeTableReplicaAutoScalingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeTimeToLiveInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeTimeToLiveInput"} +func (s *DescribeTableReplicaAutoScalingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTableReplicaAutoScalingInput"} if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } @@ -8842,7 +9177,71 @@ func (s *DescribeTimeToLiveInput) Validate() error { } // SetTableName sets the TableName field's value. -func (s *DescribeTimeToLiveInput) SetTableName(v string) *DescribeTimeToLiveInput { +func (s *DescribeTableReplicaAutoScalingInput) SetTableName(v string) *DescribeTableReplicaAutoScalingInput { + s.TableName = &v + return s +} + +type DescribeTableReplicaAutoScalingOutput struct { + _ struct{} `type:"structure"` + + // Represents the auto scaling properties of the table. + TableAutoScalingDescription *TableAutoScalingDescription `type:"structure"` +} + +// String returns the string representation +func (s DescribeTableReplicaAutoScalingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTableReplicaAutoScalingOutput) GoString() string { + return s.String() +} + +// SetTableAutoScalingDescription sets the TableAutoScalingDescription field's value. +func (s *DescribeTableReplicaAutoScalingOutput) SetTableAutoScalingDescription(v *TableAutoScalingDescription) *DescribeTableReplicaAutoScalingOutput { + s.TableAutoScalingDescription = v + return s +} + +type DescribeTimeToLiveInput struct { + _ struct{} `type:"structure"` + + // The name of the table to be described. + // + // TableName is a required field + TableName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeTimeToLiveInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTimeToLiveInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTimeToLiveInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTimeToLiveInput"} + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTableName sets the TableName field's value. +func (s *DescribeTimeToLiveInput) SetTableName(v string) *DescribeTimeToLiveInput { s.TableName = &v return s } @@ -9539,6 +9938,59 @@ func (s *GlobalSecondaryIndex) SetProvisionedThroughput(v *ProvisionedThroughput return s } +// Represents the auto scaling settings of a global secondary index for a global +// table that will be modified. +type GlobalSecondaryIndexAutoScalingUpdate struct { + _ struct{} `type:"structure"` + + // The name of the global secondary index. + IndexName *string `min:"3" type:"string"` + + // Represents the auto scaling settings to be modified for a global table or + // global secondary index. + ProvisionedWriteCapacityAutoScalingUpdate *AutoScalingSettingsUpdate `type:"structure"` +} + +// String returns the string representation +func (s GlobalSecondaryIndexAutoScalingUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GlobalSecondaryIndexAutoScalingUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GlobalSecondaryIndexAutoScalingUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GlobalSecondaryIndexAutoScalingUpdate"} + if s.IndexName != nil && len(*s.IndexName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) + } + if s.ProvisionedWriteCapacityAutoScalingUpdate != nil { + if err := s.ProvisionedWriteCapacityAutoScalingUpdate.Validate(); err != nil { + invalidParams.AddNested("ProvisionedWriteCapacityAutoScalingUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIndexName sets the IndexName field's value. +func (s *GlobalSecondaryIndexAutoScalingUpdate) SetIndexName(v string) *GlobalSecondaryIndexAutoScalingUpdate { + s.IndexName = &v + return s +} + +// SetProvisionedWriteCapacityAutoScalingUpdate sets the ProvisionedWriteCapacityAutoScalingUpdate field's value. +func (s *GlobalSecondaryIndexAutoScalingUpdate) SetProvisionedWriteCapacityAutoScalingUpdate(v *AutoScalingSettingsUpdate) *GlobalSecondaryIndexAutoScalingUpdate { + s.ProvisionedWriteCapacityAutoScalingUpdate = v + return s +} + // Represents the properties of a global secondary index. type GlobalSecondaryIndexDescription struct { _ struct{} `type:"structure"` @@ -11245,6 +11697,45 @@ func (s *ProvisionedThroughputDescription) SetWriteCapacityUnits(v int64) *Provi return s } +// Replica-specific provisioned throughput settings. If not specified, uses +// the source table's provisioned throughput settings. +type ProvisionedThroughputOverride struct { + _ struct{} `type:"structure"` + + // Replica-specific read capacity units. If not specified, uses the source table's + // read capacity settings. + ReadCapacityUnits *int64 `min:"1" type:"long"` +} + +// String returns the string representation +func (s ProvisionedThroughputOverride) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProvisionedThroughputOverride) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProvisionedThroughputOverride) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProvisionedThroughputOverride"} + if s.ReadCapacityUnits != nil && *s.ReadCapacityUnits < 1 { + invalidParams.Add(request.NewErrParamMinValue("ReadCapacityUnits", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReadCapacityUnits sets the ReadCapacityUnits field's value. +func (s *ProvisionedThroughputOverride) SetReadCapacityUnits(v int64) *ProvisionedThroughputOverride { + s.ReadCapacityUnits = &v + return s +} + // Represents a request to perform a PutItem operation. type Put struct { _ struct{} `type:"structure"` @@ -12240,12 +12731,185 @@ func (s *Replica) SetRegionName(v string) *Replica { return s } +// Represents the auto scaling settings of the replica. +type ReplicaAutoScalingDescription struct { + _ struct{} `type:"structure"` + + // Replica-specific global secondary index auto scaling settings. + GlobalSecondaryIndexes []*ReplicaGlobalSecondaryIndexAutoScalingDescription `type:"list"` + + // The Region where the replica exists. + RegionName *string `type:"string"` + + // Represents the auto scaling settings for a global table or global secondary + // index. + ReplicaProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` + + // Represents the auto scaling settings for a global table or global secondary + // index. + ReplicaProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` + + // The current state of the replica: + // + // * CREATING - The replica is being created. + // + // * UPDATING - The replica is being updated. + // + // * DELETING - The replica is being deleted. + // + // * ACTIVE - The replica is ready for use. + ReplicaStatus *string `type:"string" enum:"ReplicaStatus"` +} + +// String returns the string representation +func (s ReplicaAutoScalingDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicaAutoScalingDescription) GoString() string { + return s.String() +} + +// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. +func (s *ReplicaAutoScalingDescription) SetGlobalSecondaryIndexes(v []*ReplicaGlobalSecondaryIndexAutoScalingDescription) *ReplicaAutoScalingDescription { + s.GlobalSecondaryIndexes = v + return s +} + +// SetRegionName sets the RegionName field's value. +func (s *ReplicaAutoScalingDescription) SetRegionName(v string) *ReplicaAutoScalingDescription { + s.RegionName = &v + return s +} + +// SetReplicaProvisionedReadCapacityAutoScalingSettings sets the ReplicaProvisionedReadCapacityAutoScalingSettings field's value. +func (s *ReplicaAutoScalingDescription) SetReplicaProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaAutoScalingDescription { + s.ReplicaProvisionedReadCapacityAutoScalingSettings = v + return s +} + +// SetReplicaProvisionedWriteCapacityAutoScalingSettings sets the ReplicaProvisionedWriteCapacityAutoScalingSettings field's value. +func (s *ReplicaAutoScalingDescription) SetReplicaProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaAutoScalingDescription { + s.ReplicaProvisionedWriteCapacityAutoScalingSettings = v + return s +} + +// SetReplicaStatus sets the ReplicaStatus field's value. +func (s *ReplicaAutoScalingDescription) SetReplicaStatus(v string) *ReplicaAutoScalingDescription { + s.ReplicaStatus = &v + return s +} + +// Represents the auto scaling settings of a replica that will be modified. +type ReplicaAutoScalingUpdate struct { + _ struct{} `type:"structure"` + + // The Region where the replica exists. + // + // RegionName is a required field + RegionName *string `type:"string" required:"true"` + + // Represents the auto scaling settings of global secondary indexes that will + // be modified. + ReplicaGlobalSecondaryIndexUpdates []*ReplicaGlobalSecondaryIndexAutoScalingUpdate `type:"list"` + + // Represents the auto scaling settings to be modified for a global table or + // global secondary index. + ReplicaProvisionedReadCapacityAutoScalingUpdate *AutoScalingSettingsUpdate `type:"structure"` +} + +// String returns the string representation +func (s ReplicaAutoScalingUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicaAutoScalingUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplicaAutoScalingUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplicaAutoScalingUpdate"} + if s.RegionName == nil { + invalidParams.Add(request.NewErrParamRequired("RegionName")) + } + if s.ReplicaGlobalSecondaryIndexUpdates != nil { + for i, v := range s.ReplicaGlobalSecondaryIndexUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaGlobalSecondaryIndexUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ReplicaProvisionedReadCapacityAutoScalingUpdate != nil { + if err := s.ReplicaProvisionedReadCapacityAutoScalingUpdate.Validate(); err != nil { + invalidParams.AddNested("ReplicaProvisionedReadCapacityAutoScalingUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRegionName sets the RegionName field's value. +func (s *ReplicaAutoScalingUpdate) SetRegionName(v string) *ReplicaAutoScalingUpdate { + s.RegionName = &v + return s +} + +// SetReplicaGlobalSecondaryIndexUpdates sets the ReplicaGlobalSecondaryIndexUpdates field's value. +func (s *ReplicaAutoScalingUpdate) SetReplicaGlobalSecondaryIndexUpdates(v []*ReplicaGlobalSecondaryIndexAutoScalingUpdate) *ReplicaAutoScalingUpdate { + s.ReplicaGlobalSecondaryIndexUpdates = v + return s +} + +// SetReplicaProvisionedReadCapacityAutoScalingUpdate sets the ReplicaProvisionedReadCapacityAutoScalingUpdate field's value. +func (s *ReplicaAutoScalingUpdate) SetReplicaProvisionedReadCapacityAutoScalingUpdate(v *AutoScalingSettingsUpdate) *ReplicaAutoScalingUpdate { + s.ReplicaProvisionedReadCapacityAutoScalingUpdate = v + return s +} + // Contains the details of the replica. type ReplicaDescription struct { _ struct{} `type:"structure"` + // Replica-specific global secondary index settings. + GlobalSecondaryIndexes []*ReplicaGlobalSecondaryIndexDescription `type:"list"` + + // The AWS KMS customer master key (CMK) of the replica that will be used for + // AWS KMS encryption. + KMSMasterKeyId *string `type:"string"` + + // Replica-specific provisioned throughput. If not described, uses the source + // table's provisioned throughput settings. + ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` + // The name of the Region. RegionName *string `type:"string"` + + // The current state of the replica: + // + // * CREATING - The replica is being created. + // + // * UPDATING - The replica is being updated. + // + // * DELETING - The replica is being deleted. + // + // * ACTIVE - The replica is ready for use. + ReplicaStatus *string `type:"string" enum:"ReplicaStatus"` + + // Detailed information about the replica status. + ReplicaStatusDescription *string `type:"string"` + + // Specifies the progress of a Create, Update, or Delete action on the replica + // as a percentage. + ReplicaStatusPercentProgress *string `type:"string"` } // String returns the string representation @@ -12258,12 +12922,253 @@ func (s ReplicaDescription) GoString() string { return s.String() } +// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. +func (s *ReplicaDescription) SetGlobalSecondaryIndexes(v []*ReplicaGlobalSecondaryIndexDescription) *ReplicaDescription { + s.GlobalSecondaryIndexes = v + return s +} + +// SetKMSMasterKeyId sets the KMSMasterKeyId field's value. +func (s *ReplicaDescription) SetKMSMasterKeyId(v string) *ReplicaDescription { + s.KMSMasterKeyId = &v + return s +} + +// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. +func (s *ReplicaDescription) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *ReplicaDescription { + s.ProvisionedThroughputOverride = v + return s +} + // SetRegionName sets the RegionName field's value. func (s *ReplicaDescription) SetRegionName(v string) *ReplicaDescription { s.RegionName = &v return s } +// SetReplicaStatus sets the ReplicaStatus field's value. +func (s *ReplicaDescription) SetReplicaStatus(v string) *ReplicaDescription { + s.ReplicaStatus = &v + return s +} + +// SetReplicaStatusDescription sets the ReplicaStatusDescription field's value. +func (s *ReplicaDescription) SetReplicaStatusDescription(v string) *ReplicaDescription { + s.ReplicaStatusDescription = &v + return s +} + +// SetReplicaStatusPercentProgress sets the ReplicaStatusPercentProgress field's value. +func (s *ReplicaDescription) SetReplicaStatusPercentProgress(v string) *ReplicaDescription { + s.ReplicaStatusPercentProgress = &v + return s +} + +// Represents the properties of a replica global secondary index. +type ReplicaGlobalSecondaryIndex struct { + _ struct{} `type:"structure"` + + // The name of the global secondary index. + // + // IndexName is a required field + IndexName *string `min:"3" type:"string" required:"true"` + + // Replica table GSI-specific provisioned throughput. If not specified, uses + // the source table GSI's read capacity settings. + ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` +} + +// String returns the string representation +func (s ReplicaGlobalSecondaryIndex) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicaGlobalSecondaryIndex) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplicaGlobalSecondaryIndex) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplicaGlobalSecondaryIndex"} + if s.IndexName == nil { + invalidParams.Add(request.NewErrParamRequired("IndexName")) + } + if s.IndexName != nil && len(*s.IndexName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) + } + if s.ProvisionedThroughputOverride != nil { + if err := s.ProvisionedThroughputOverride.Validate(); err != nil { + invalidParams.AddNested("ProvisionedThroughputOverride", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIndexName sets the IndexName field's value. +func (s *ReplicaGlobalSecondaryIndex) SetIndexName(v string) *ReplicaGlobalSecondaryIndex { + s.IndexName = &v + return s +} + +// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. +func (s *ReplicaGlobalSecondaryIndex) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *ReplicaGlobalSecondaryIndex { + s.ProvisionedThroughputOverride = v + return s +} + +// Represents the auto scaling configuration for a replica global secondary +// index. +type ReplicaGlobalSecondaryIndexAutoScalingDescription struct { + _ struct{} `type:"structure"` + + // The name of the global secondary index. + IndexName *string `min:"3" type:"string"` + + // The current state of the replica global secondary index: + // + // * CREATING - The index is being created. + // + // * UPDATING - The index is being updated. + // + // * DELETING - The index is being deleted. + // + // * ACTIVE - The index is ready for use. + IndexStatus *string `type:"string" enum:"IndexStatus"` + + // Represents the auto scaling settings for a global table or global secondary + // index. + ProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` + + // Represents the auto scaling settings for a global table or global secondary + // index. + ProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"` +} + +// String returns the string representation +func (s ReplicaGlobalSecondaryIndexAutoScalingDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicaGlobalSecondaryIndexAutoScalingDescription) GoString() string { + return s.String() +} + +// SetIndexName sets the IndexName field's value. +func (s *ReplicaGlobalSecondaryIndexAutoScalingDescription) SetIndexName(v string) *ReplicaGlobalSecondaryIndexAutoScalingDescription { + s.IndexName = &v + return s +} + +// SetIndexStatus sets the IndexStatus field's value. +func (s *ReplicaGlobalSecondaryIndexAutoScalingDescription) SetIndexStatus(v string) *ReplicaGlobalSecondaryIndexAutoScalingDescription { + s.IndexStatus = &v + return s +} + +// SetProvisionedReadCapacityAutoScalingSettings sets the ProvisionedReadCapacityAutoScalingSettings field's value. +func (s *ReplicaGlobalSecondaryIndexAutoScalingDescription) SetProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexAutoScalingDescription { + s.ProvisionedReadCapacityAutoScalingSettings = v + return s +} + +// SetProvisionedWriteCapacityAutoScalingSettings sets the ProvisionedWriteCapacityAutoScalingSettings field's value. +func (s *ReplicaGlobalSecondaryIndexAutoScalingDescription) SetProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexAutoScalingDescription { + s.ProvisionedWriteCapacityAutoScalingSettings = v + return s +} + +// Represents the auto scaling settings of a global secondary index for a replica +// that will be modified. +type ReplicaGlobalSecondaryIndexAutoScalingUpdate struct { + _ struct{} `type:"structure"` + + // The name of the global secondary index. + IndexName *string `min:"3" type:"string"` + + // Represents the auto scaling settings to be modified for a global table or + // global secondary index. + ProvisionedReadCapacityAutoScalingUpdate *AutoScalingSettingsUpdate `type:"structure"` +} + +// String returns the string representation +func (s ReplicaGlobalSecondaryIndexAutoScalingUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicaGlobalSecondaryIndexAutoScalingUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplicaGlobalSecondaryIndexAutoScalingUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplicaGlobalSecondaryIndexAutoScalingUpdate"} + if s.IndexName != nil && len(*s.IndexName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("IndexName", 3)) + } + if s.ProvisionedReadCapacityAutoScalingUpdate != nil { + if err := s.ProvisionedReadCapacityAutoScalingUpdate.Validate(); err != nil { + invalidParams.AddNested("ProvisionedReadCapacityAutoScalingUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIndexName sets the IndexName field's value. +func (s *ReplicaGlobalSecondaryIndexAutoScalingUpdate) SetIndexName(v string) *ReplicaGlobalSecondaryIndexAutoScalingUpdate { + s.IndexName = &v + return s +} + +// SetProvisionedReadCapacityAutoScalingUpdate sets the ProvisionedReadCapacityAutoScalingUpdate field's value. +func (s *ReplicaGlobalSecondaryIndexAutoScalingUpdate) SetProvisionedReadCapacityAutoScalingUpdate(v *AutoScalingSettingsUpdate) *ReplicaGlobalSecondaryIndexAutoScalingUpdate { + s.ProvisionedReadCapacityAutoScalingUpdate = v + return s +} + +// Represents the properties of a replica global secondary index. +type ReplicaGlobalSecondaryIndexDescription struct { + _ struct{} `type:"structure"` + + // The name of the global secondary index. + IndexName *string `min:"3" type:"string"` + + // If not described, uses the source table GSI's read capacity settings. + ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` +} + +// String returns the string representation +func (s ReplicaGlobalSecondaryIndexDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicaGlobalSecondaryIndexDescription) GoString() string { + return s.String() +} + +// SetIndexName sets the IndexName field's value. +func (s *ReplicaGlobalSecondaryIndexDescription) SetIndexName(v string) *ReplicaGlobalSecondaryIndexDescription { + s.IndexName = &v + return s +} + +// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. +func (s *ReplicaGlobalSecondaryIndexDescription) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *ReplicaGlobalSecondaryIndexDescription { + s.ProvisionedThroughputOverride = v + return s +} + // Represents the properties of a global secondary index. type ReplicaGlobalSecondaryIndexSettingsDescription struct { _ struct{} `type:"structure"` @@ -12621,30 +13526,97 @@ func (s *ReplicaSettingsUpdate) SetReplicaProvisionedReadCapacityUnits(v int64) // // * New parameters for an existing replica. // -// * An existing replica to be removed from an existing global table. -type ReplicaUpdate struct { +// * An existing replica to be removed from an existing global table. +type ReplicaUpdate struct { + _ struct{} `type:"structure"` + + // The parameters required for creating a replica on an existing global table. + Create *CreateReplicaAction `type:"structure"` + + // The name of the existing replica to be removed. + Delete *DeleteReplicaAction `type:"structure"` +} + +// String returns the string representation +func (s ReplicaUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicaUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplicaUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplicaUpdate"} + if s.Create != nil { + if err := s.Create.Validate(); err != nil { + invalidParams.AddNested("Create", err.(request.ErrInvalidParams)) + } + } + if s.Delete != nil { + if err := s.Delete.Validate(); err != nil { + invalidParams.AddNested("Delete", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreate sets the Create field's value. +func (s *ReplicaUpdate) SetCreate(v *CreateReplicaAction) *ReplicaUpdate { + s.Create = v + return s +} + +// SetDelete sets the Delete field's value. +func (s *ReplicaUpdate) SetDelete(v *DeleteReplicaAction) *ReplicaUpdate { + s.Delete = v + return s +} + +// Represents one of the following: +// +// * A new replica to be added to an existing regional table or global table. +// This request invokes the CreateTableReplica action in the destination +// Region. +// +// * New parameters for an existing replica. This request invokes the UpdateTable +// action in the destination Region. +// +// * An existing replica to be deleted. The request invokes the DeleteTableReplica +// action in the destination Region, deleting the replica and all if its +// items in the destination Region. +type ReplicationGroupUpdate struct { _ struct{} `type:"structure"` - // The parameters required for creating a replica on an existing global table. - Create *CreateReplicaAction `type:"structure"` + // The parameters required for creating a replica for the table. + Create *CreateReplicationGroupMemberAction `type:"structure"` - // The name of the existing replica to be removed. - Delete *DeleteReplicaAction `type:"structure"` + // The parameters required for deleting a replica for the table. + Delete *DeleteReplicationGroupMemberAction `type:"structure"` + + // The parameters required for updating a replica for the table. + Update *UpdateReplicationGroupMemberAction `type:"structure"` } // String returns the string representation -func (s ReplicaUpdate) String() string { +func (s ReplicationGroupUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ReplicaUpdate) GoString() string { +func (s ReplicationGroupUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ReplicaUpdate) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ReplicaUpdate"} +func (s *ReplicationGroupUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplicationGroupUpdate"} if s.Create != nil { if err := s.Create.Validate(); err != nil { invalidParams.AddNested("Create", err.(request.ErrInvalidParams)) @@ -12655,6 +13627,11 @@ func (s *ReplicaUpdate) Validate() error { invalidParams.AddNested("Delete", err.(request.ErrInvalidParams)) } } + if s.Update != nil { + if err := s.Update.Validate(); err != nil { + invalidParams.AddNested("Update", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -12663,17 +13640,23 @@ func (s *ReplicaUpdate) Validate() error { } // SetCreate sets the Create field's value. -func (s *ReplicaUpdate) SetCreate(v *CreateReplicaAction) *ReplicaUpdate { +func (s *ReplicationGroupUpdate) SetCreate(v *CreateReplicationGroupMemberAction) *ReplicationGroupUpdate { s.Create = v return s } // SetDelete sets the Delete field's value. -func (s *ReplicaUpdate) SetDelete(v *DeleteReplicaAction) *ReplicaUpdate { +func (s *ReplicationGroupUpdate) SetDelete(v *DeleteReplicationGroupMemberAction) *ReplicationGroupUpdate { s.Delete = v return s } +// SetUpdate sets the Update field's value. +func (s *ReplicationGroupUpdate) SetUpdate(v *UpdateReplicationGroupMemberAction) *ReplicationGroupUpdate { + s.Update = v + return s +} + // Contains details for the restore. type RestoreSummary struct { _ struct{} `type:"structure"` @@ -13044,7 +14027,7 @@ func (s *RestoreTableToPointInTimeOutput) SetTableDescription(v *TableDescriptio type SSEDescription struct { _ struct{} `type:"structure"` - // The KMS customer master key (CMK) ARN used for the AWS KMS encryption. + // The AWS KMS customer master key (CMK) ARN used for the AWS KMS encryption. KMSMasterKeyArn *string `type:"string"` // Server-side encryption type. The only supported value is: @@ -13101,10 +14084,10 @@ type SSESpecification struct { // (false) or not specified, server-side encryption is set to AWS owned CMK. Enabled *bool `type:"boolean"` - // The KMS customer master key (CMK) that should be used for the AWS KMS encryption. - // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, - // or alias ARN. Note that you should only provide this parameter if the key - // is different from the default DynamoDB customer master key alias/aws/dynamodb. + // The AWS KMS customer master key (CMK) that should be used for the AWS KMS + // encryption. To specify a CMK, use its key ID, Amazon Resource Name (ARN), + // alias name, or alias ARN. Note that you should only provide this parameter + // if the key is different from the default DynamoDB customer master key alias/aws/dynamodb. KMSMasterKeyId *string `type:"string"` // Server-side encryption type. The only supported value is: @@ -13800,7 +14783,9 @@ type StreamSpecification struct { // Indicates whether DynamoDB Streams is enabled (true) or disabled (false) // on the table. - StreamEnabled *bool `type:"boolean"` + // + // StreamEnabled is a required field + StreamEnabled *bool `type:"boolean" required:"true"` // When an item in the table is modified, StreamViewType determines what information // is written to the stream for this table. Valid values for StreamViewType @@ -13830,6 +14815,19 @@ func (s StreamSpecification) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *StreamSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StreamSpecification"} + if s.StreamEnabled == nil { + invalidParams.Add(request.NewErrParamRequired("StreamEnabled")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetStreamEnabled sets the StreamEnabled field's value. func (s *StreamSpecification) SetStreamEnabled(v bool) *StreamSpecification { s.StreamEnabled = &v @@ -13842,6 +14840,56 @@ func (s *StreamSpecification) SetStreamViewType(v string) *StreamSpecification { return s } +// Represents the auto scaling configuration for a global table. +type TableAutoScalingDescription struct { + _ struct{} `type:"structure"` + + // Represents replicas of the global table. + Replicas []*ReplicaAutoScalingDescription `type:"list"` + + // The name of the table. + TableName *string `min:"3" type:"string"` + + // The current state of the table: + // + // * CREATING - The table is being created. + // + // * UPDATING - The table is being updated. + // + // * DELETING - The table is being deleted. + // + // * ACTIVE - The table is ready for use. + TableStatus *string `type:"string" enum:"TableStatus"` +} + +// String returns the string representation +func (s TableAutoScalingDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TableAutoScalingDescription) GoString() string { + return s.String() +} + +// SetReplicas sets the Replicas field's value. +func (s *TableAutoScalingDescription) SetReplicas(v []*ReplicaAutoScalingDescription) *TableAutoScalingDescription { + s.Replicas = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *TableAutoScalingDescription) SetTableName(v string) *TableAutoScalingDescription { + s.TableName = &v + return s +} + +// SetTableStatus sets the TableStatus field's value. +func (s *TableAutoScalingDescription) SetTableStatus(v string) *TableAutoScalingDescription { + s.TableStatus = &v + return s +} + // Represents the properties of a table. type TableDescription struct { _ struct{} `type:"structure"` @@ -13917,6 +14965,10 @@ type TableDescription struct { // be returned. GlobalSecondaryIndexes []*GlobalSecondaryIndexDescription `type:"list"` + // Represents the version of global tables (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GlobalTables.html) + // in use, if the table is replicated across AWS Regions. + GlobalTableVersion *string `type:"string"` + // The number of items in the specified table. DynamoDB updates this value approximately // every six hours. Recent changes might not be reflected in this value. ItemCount *int64 `type:"long"` @@ -13998,6 +15050,9 @@ type TableDescription struct { // write capacity units, along with data about increases and decreases. ProvisionedThroughput *ProvisionedThroughputDescription `type:"structure"` + // Represents replicas of the table. + Replicas []*ReplicaDescription `type:"list"` + // Contains details for the restore. RestoreSummary *RestoreSummary `type:"structure"` @@ -14067,6 +15122,12 @@ func (s *TableDescription) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndexDe return s } +// SetGlobalTableVersion sets the GlobalTableVersion field's value. +func (s *TableDescription) SetGlobalTableVersion(v string) *TableDescription { + s.GlobalTableVersion = &v + return s +} + // SetItemCount sets the ItemCount field's value. func (s *TableDescription) SetItemCount(v int64) *TableDescription { s.ItemCount = &v @@ -14103,6 +15164,12 @@ func (s *TableDescription) SetProvisionedThroughput(v *ProvisionedThroughputDesc return s } +// SetReplicas sets the Replicas field's value. +func (s *TableDescription) SetReplicas(v []*ReplicaDescription) *TableDescription { + s.Replicas = v + return s +} + // SetRestoreSummary sets the RestoreSummary field's value. func (s *TableDescription) SetRestoreSummary(v *RestoreSummary) *TableDescription { s.RestoreSummary = v @@ -15745,6 +16812,95 @@ func (s *UpdateItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *U return s } +// Represents a replica to be modified. +type UpdateReplicationGroupMemberAction struct { + _ struct{} `type:"structure"` + + // Replica-specific global secondary index settings. + GlobalSecondaryIndexes []*ReplicaGlobalSecondaryIndex `min:"1" type:"list"` + + // The AWS KMS customer master key (CMK) of the replica that should be used + // for AWS KMS encryption. To specify a CMK, use its key ID, Amazon Resource + // Name (ARN), alias name, or alias ARN. Note that you should only provide this + // parameter if the key is different from the default DynamoDB KMS master key + // alias/aws/dynamodb. + KMSMasterKeyId *string `type:"string"` + + // Replica-specific provisioned throughput. If not specified, uses the source + // table's provisioned throughput settings. + ProvisionedThroughputOverride *ProvisionedThroughputOverride `type:"structure"` + + // The Region where the replica exists. + // + // RegionName is a required field + RegionName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateReplicationGroupMemberAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateReplicationGroupMemberAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateReplicationGroupMemberAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationGroupMemberAction"} + if s.GlobalSecondaryIndexes != nil && len(s.GlobalSecondaryIndexes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GlobalSecondaryIndexes", 1)) + } + if s.RegionName == nil { + invalidParams.Add(request.NewErrParamRequired("RegionName")) + } + if s.GlobalSecondaryIndexes != nil { + for i, v := range s.GlobalSecondaryIndexes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexes", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ProvisionedThroughputOverride != nil { + if err := s.ProvisionedThroughputOverride.Validate(); err != nil { + invalidParams.AddNested("ProvisionedThroughputOverride", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. +func (s *UpdateReplicationGroupMemberAction) SetGlobalSecondaryIndexes(v []*ReplicaGlobalSecondaryIndex) *UpdateReplicationGroupMemberAction { + s.GlobalSecondaryIndexes = v + return s +} + +// SetKMSMasterKeyId sets the KMSMasterKeyId field's value. +func (s *UpdateReplicationGroupMemberAction) SetKMSMasterKeyId(v string) *UpdateReplicationGroupMemberAction { + s.KMSMasterKeyId = &v + return s +} + +// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. +func (s *UpdateReplicationGroupMemberAction) SetProvisionedThroughputOverride(v *ProvisionedThroughputOverride) *UpdateReplicationGroupMemberAction { + s.ProvisionedThroughputOverride = v + return s +} + +// SetRegionName sets the RegionName field's value. +func (s *UpdateReplicationGroupMemberAction) SetRegionName(v string) *UpdateReplicationGroupMemberAction { + s.RegionName = &v + return s +} + // Represents the input of an UpdateTable operation. type UpdateTableInput struct { _ struct{} `type:"structure"` @@ -15787,6 +16943,12 @@ type UpdateTableInput struct { // The new provisioned throughput settings for the specified table or index. ProvisionedThroughput *ProvisionedThroughput `type:"structure"` + // A list of replica update actions (create, delete, or update) for the table. + // + // This property only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) + // of global tables. + ReplicaUpdates []*ReplicationGroupUpdate `min:"1" type:"list"` + // The new server-side encryption settings for the specified table. SSESpecification *SSESpecification `type:"structure"` @@ -15816,6 +16978,9 @@ func (s UpdateTableInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateTableInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateTableInput"} + if s.ReplicaUpdates != nil && len(s.ReplicaUpdates) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReplicaUpdates", 1)) + } if s.TableName == nil { invalidParams.Add(request.NewErrParamRequired("TableName")) } @@ -15847,6 +17012,21 @@ func (s *UpdateTableInput) Validate() error { invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams)) } } + if s.ReplicaUpdates != nil { + for i, v := range s.ReplicaUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + if s.StreamSpecification != nil { + if err := s.StreamSpecification.Validate(); err != nil { + invalidParams.AddNested("StreamSpecification", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -15878,6 +17058,12 @@ func (s *UpdateTableInput) SetProvisionedThroughput(v *ProvisionedThroughput) *U return s } +// SetReplicaUpdates sets the ReplicaUpdates field's value. +func (s *UpdateTableInput) SetReplicaUpdates(v []*ReplicationGroupUpdate) *UpdateTableInput { + s.ReplicaUpdates = v + return s +} + // SetSSESpecification sets the SSESpecification field's value. func (s *UpdateTableInput) SetSSESpecification(v *SSESpecification) *UpdateTableInput { s.SSESpecification = v @@ -15920,6 +17106,131 @@ func (s *UpdateTableOutput) SetTableDescription(v *TableDescription) *UpdateTabl return s } +type UpdateTableReplicaAutoScalingInput struct { + _ struct{} `type:"structure"` + + // Represents the auto scaling settings of the global secondary indexes of the + // replica to be updated. + GlobalSecondaryIndexUpdates []*GlobalSecondaryIndexAutoScalingUpdate `min:"1" type:"list"` + + // Represents the auto scaling settings to be modified for a global table or + // global secondary index. + ProvisionedWriteCapacityAutoScalingUpdate *AutoScalingSettingsUpdate `type:"structure"` + + // Represents the auto scaling settings of replicas of the table that will be + // modified. + ReplicaUpdates []*ReplicaAutoScalingUpdate `min:"1" type:"list"` + + // The name of the global table to be updated. + // + // TableName is a required field + TableName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateTableReplicaAutoScalingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateTableReplicaAutoScalingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateTableReplicaAutoScalingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTableReplicaAutoScalingInput"} + if s.GlobalSecondaryIndexUpdates != nil && len(s.GlobalSecondaryIndexUpdates) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GlobalSecondaryIndexUpdates", 1)) + } + if s.ReplicaUpdates != nil && len(s.ReplicaUpdates) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReplicaUpdates", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 3)) + } + if s.GlobalSecondaryIndexUpdates != nil { + for i, v := range s.GlobalSecondaryIndexUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ProvisionedWriteCapacityAutoScalingUpdate != nil { + if err := s.ProvisionedWriteCapacityAutoScalingUpdate.Validate(); err != nil { + invalidParams.AddNested("ProvisionedWriteCapacityAutoScalingUpdate", err.(request.ErrInvalidParams)) + } + } + if s.ReplicaUpdates != nil { + for i, v := range s.ReplicaUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGlobalSecondaryIndexUpdates sets the GlobalSecondaryIndexUpdates field's value. +func (s *UpdateTableReplicaAutoScalingInput) SetGlobalSecondaryIndexUpdates(v []*GlobalSecondaryIndexAutoScalingUpdate) *UpdateTableReplicaAutoScalingInput { + s.GlobalSecondaryIndexUpdates = v + return s +} + +// SetProvisionedWriteCapacityAutoScalingUpdate sets the ProvisionedWriteCapacityAutoScalingUpdate field's value. +func (s *UpdateTableReplicaAutoScalingInput) SetProvisionedWriteCapacityAutoScalingUpdate(v *AutoScalingSettingsUpdate) *UpdateTableReplicaAutoScalingInput { + s.ProvisionedWriteCapacityAutoScalingUpdate = v + return s +} + +// SetReplicaUpdates sets the ReplicaUpdates field's value. +func (s *UpdateTableReplicaAutoScalingInput) SetReplicaUpdates(v []*ReplicaAutoScalingUpdate) *UpdateTableReplicaAutoScalingInput { + s.ReplicaUpdates = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *UpdateTableReplicaAutoScalingInput) SetTableName(v string) *UpdateTableReplicaAutoScalingInput { + s.TableName = &v + return s +} + +type UpdateTableReplicaAutoScalingOutput struct { + _ struct{} `type:"structure"` + + // Returns information about the auto scaling settings of a table with replicas. + TableAutoScalingDescription *TableAutoScalingDescription `type:"structure"` +} + +// String returns the string representation +func (s UpdateTableReplicaAutoScalingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateTableReplicaAutoScalingOutput) GoString() string { + return s.String() +} + +// SetTableAutoScalingDescription sets the TableAutoScalingDescription field's value. +func (s *UpdateTableReplicaAutoScalingOutput) SetTableAutoScalingDescription(v *TableAutoScalingDescription) *UpdateTableReplicaAutoScalingOutput { + s.TableAutoScalingDescription = v + return s +} + // Represents the input of an UpdateTimeToLive operation. type UpdateTimeToLiveInput struct { _ struct{} `type:"structure"` @@ -16212,6 +17523,9 @@ const ( // ReplicaStatusCreating is a ReplicaStatus enum value ReplicaStatusCreating = "CREATING" + // ReplicaStatusCreationFailed is a ReplicaStatus enum value + ReplicaStatusCreationFailed = "CREATION_FAILED" + // ReplicaStatusUpdating is a ReplicaStatus enum value ReplicaStatusUpdating = "UPDATING" 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 fb036c0801ce..e845d297a55c 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 @@ -551,8 +551,9 @@ func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Requ // AllocateHosts API operation for Amazon Elastic Compute Cloud. // -// Allocates a Dedicated Host to your account. At a minimum, specify the instance -// size type, Availability Zone, and quantity of hosts to allocate. +// Allocates a Dedicated Host to your account. At a minimum, specify the supported +// instance type or instance family, the Availability Zone in which to allocate +// the host, and the number of hosts to allocate. // // 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 @@ -12812,6 +12813,12 @@ func (c *EC2) DescribeExportImageTasksRequest(input *DescribeExportImageTasksInp Name: opDescribeExportImageTasks, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -12855,6 +12862,58 @@ func (c *EC2) DescribeExportImageTasksWithContext(ctx aws.Context, input *Descri return out, req.Send() } +// DescribeExportImageTasksPages iterates over the pages of a DescribeExportImageTasks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeExportImageTasks 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 DescribeExportImageTasks operation. +// pageNum := 0 +// err := client.DescribeExportImageTasksPages(params, +// func(page *ec2.DescribeExportImageTasksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeExportImageTasksPages(input *DescribeExportImageTasksInput, fn func(*DescribeExportImageTasksOutput, bool) bool) error { + return c.DescribeExportImageTasksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeExportImageTasksPagesWithContext same as DescribeExportImageTasksPages 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 *EC2) DescribeExportImageTasksPagesWithContext(ctx aws.Context, input *DescribeExportImageTasksInput, fn func(*DescribeExportImageTasksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeExportImageTasksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeExportImageTasksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeExportImageTasksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeExportTasks = "DescribeExportTasks" // DescribeExportTasksRequest generates a "aws/request.Request" representing the @@ -12930,6 +12989,138 @@ func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExp return out, req.Send() } +const opDescribeFastSnapshotRestores = "DescribeFastSnapshotRestores" + +// DescribeFastSnapshotRestoresRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFastSnapshotRestores 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 DescribeFastSnapshotRestores for more information on using the DescribeFastSnapshotRestores +// 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 DescribeFastSnapshotRestoresRequest method. +// req, resp := client.DescribeFastSnapshotRestoresRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores +func (c *EC2) DescribeFastSnapshotRestoresRequest(input *DescribeFastSnapshotRestoresInput) (req *request.Request, output *DescribeFastSnapshotRestoresOutput) { + op := &request.Operation{ + Name: opDescribeFastSnapshotRestores, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeFastSnapshotRestoresInput{} + } + + output = &DescribeFastSnapshotRestoresOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFastSnapshotRestores API operation for Amazon Elastic Compute Cloud. +// +// Describes the state of fast snapshot restores for your snapshots. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeFastSnapshotRestores for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores +func (c *EC2) DescribeFastSnapshotRestores(input *DescribeFastSnapshotRestoresInput) (*DescribeFastSnapshotRestoresOutput, error) { + req, out := c.DescribeFastSnapshotRestoresRequest(input) + return out, req.Send() +} + +// DescribeFastSnapshotRestoresWithContext is the same as DescribeFastSnapshotRestores with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFastSnapshotRestores for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeFastSnapshotRestoresWithContext(ctx aws.Context, input *DescribeFastSnapshotRestoresInput, opts ...request.Option) (*DescribeFastSnapshotRestoresOutput, error) { + req, out := c.DescribeFastSnapshotRestoresRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeFastSnapshotRestoresPages iterates over the pages of a DescribeFastSnapshotRestores operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeFastSnapshotRestores 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 DescribeFastSnapshotRestores operation. +// pageNum := 0 +// err := client.DescribeFastSnapshotRestoresPages(params, +// func(page *ec2.DescribeFastSnapshotRestoresOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeFastSnapshotRestoresPages(input *DescribeFastSnapshotRestoresInput, fn func(*DescribeFastSnapshotRestoresOutput, bool) bool) error { + return c.DescribeFastSnapshotRestoresPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeFastSnapshotRestoresPagesWithContext same as DescribeFastSnapshotRestoresPages 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 *EC2) DescribeFastSnapshotRestoresPagesWithContext(ctx aws.Context, input *DescribeFastSnapshotRestoresInput, fn func(*DescribeFastSnapshotRestoresOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeFastSnapshotRestoresInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeFastSnapshotRestoresRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeFastSnapshotRestoresOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeFleetHistory = "DescribeFleetHistory" // DescribeFleetHistoryRequest generates a "aws/request.Request" representing the @@ -12976,6 +13167,10 @@ func (c *EC2) DescribeFleetHistoryRequest(input *DescribeFleetHistoryInput) (req // // Describes the events for the specified EC2 Fleet during the specified time. // +// EC2 Fleet events are delayed by up to 30 seconds before they can be described. +// This ensures that you can query by the last evaluated time and not miss a +// recorded event. EC2 Fleet events are available for 48 hours. +// // 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. @@ -13604,8 +13799,8 @@ func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReserva // // Describes the Dedicated Host reservations that are available to purchase. // -// The results describe all the Dedicated Host reservation offerings, including -// offerings that may not match the instance family and Region of your Dedicated +// The results describe all of the Dedicated Host reservation offerings, including +// offerings that might not match the instance family and Region of your Dedicated // Hosts. When purchasing an offering, ensure that the instance family and Region // of the offering matches that of the Dedicated Hosts with which it is to be // associated. For more information about supported instance types, see Dedicated @@ -14826,19 +15021,19 @@ func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanc // DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud. // -// Describes the credit option for CPU usage of the specified T2 or T3 instances. -// The credit options are standard and unlimited. +// Describes the credit option for CPU usage of the specified burstable performance +// instances. The credit options are standard and unlimited. // -// If you do not specify an instance ID, Amazon EC2 returns T2 and T3 instances -// with the unlimited credit option, as well as instances that were previously -// configured as T2 or T3 with the unlimited credit option. For example, if -// you resize a T2 instance, while it is configured as unlimited, to an M4 instance, -// Amazon EC2 returns the M4 instance. +// If you do not specify an instance ID, Amazon EC2 returns burstable performance +// instances with the unlimited credit option, as well as instances that were +// previously configured as T2, T3, and T3a with the unlimited credit option. +// For example, if you resize a T2 instance, while it is configured as unlimited, +// to an M4 instance, Amazon EC2 returns the M4 instance. // // If you specify one or more instance IDs, Amazon EC2 returns the credit option // (standard or unlimited) of those instances. If you specify an instance ID -// that is not valid, such as an instance that is not a T2 or T3 instance, an -// error is returned. +// that is not valid, such as an instance that is not a burstable performance +// instance, an error is returned. // // Recently terminated instances might appear in the returned results. This // interval is usually less than one hour. @@ -15084,6 +15279,157 @@ func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *Des return p.Err() } +const opDescribeInstanceTypeOfferings = "DescribeInstanceTypeOfferings" + +// DescribeInstanceTypeOfferingsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstanceTypeOfferings 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 DescribeInstanceTypeOfferings for more information on using the DescribeInstanceTypeOfferings +// 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 DescribeInstanceTypeOfferingsRequest method. +// req, resp := client.DescribeInstanceTypeOfferingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings +func (c *EC2) DescribeInstanceTypeOfferingsRequest(input *DescribeInstanceTypeOfferingsInput) (req *request.Request, output *DescribeInstanceTypeOfferingsOutput) { + op := &request.Operation{ + Name: opDescribeInstanceTypeOfferings, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeInstanceTypeOfferingsInput{} + } + + output = &DescribeInstanceTypeOfferingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeInstanceTypeOfferings API operation for Amazon Elastic Compute Cloud. +// +// Returns a list of all instance types offered. The results can be filtered +// by location (Region or Availability Zone). If no location is specified, the +// instance types offered in the current Region are returned. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeInstanceTypeOfferings for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings +func (c *EC2) DescribeInstanceTypeOfferings(input *DescribeInstanceTypeOfferingsInput) (*DescribeInstanceTypeOfferingsOutput, error) { + req, out := c.DescribeInstanceTypeOfferingsRequest(input) + return out, req.Send() +} + +// DescribeInstanceTypeOfferingsWithContext is the same as DescribeInstanceTypeOfferings with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeInstanceTypeOfferings for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeInstanceTypeOfferingsWithContext(ctx aws.Context, input *DescribeInstanceTypeOfferingsInput, opts ...request.Option) (*DescribeInstanceTypeOfferingsOutput, error) { + req, out := c.DescribeInstanceTypeOfferingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeInstanceTypes = "DescribeInstanceTypes" + +// DescribeInstanceTypesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstanceTypes 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 DescribeInstanceTypes for more information on using the DescribeInstanceTypes +// 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 DescribeInstanceTypesRequest method. +// req, resp := client.DescribeInstanceTypesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes +func (c *EC2) DescribeInstanceTypesRequest(input *DescribeInstanceTypesInput) (req *request.Request, output *DescribeInstanceTypesOutput) { + op := &request.Operation{ + Name: opDescribeInstanceTypes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeInstanceTypesInput{} + } + + output = &DescribeInstanceTypesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeInstanceTypes API operation for Amazon Elastic Compute Cloud. +// +// Returns a list of all instance types offered in your current AWS Region. +// 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 +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeInstanceTypes for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes +func (c *EC2) DescribeInstanceTypes(input *DescribeInstanceTypesInput) (*DescribeInstanceTypesOutput, error) { + req, out := c.DescribeInstanceTypesRequest(input) + return out, req.Send() +} + +// DescribeInstanceTypesWithContext is the same as DescribeInstanceTypes with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeInstanceTypes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeInstanceTypesWithContext(ctx aws.Context, input *DescribeInstanceTypesInput, opts ...request.Option) (*DescribeInstanceTypesOutput, error) { + req, out := c.DescribeInstanceTypesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeInstances = "DescribeInstances" // DescribeInstancesRequest generates a "aws/request.Request" representing the @@ -22794,6 +23140,81 @@ func (c *EC2) DisableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *D return out, req.Send() } +const opDisableFastSnapshotRestores = "DisableFastSnapshotRestores" + +// DisableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the +// client's request for the DisableFastSnapshotRestores 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 DisableFastSnapshotRestores for more information on using the DisableFastSnapshotRestores +// 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 DisableFastSnapshotRestoresRequest method. +// req, resp := client.DisableFastSnapshotRestoresRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores +func (c *EC2) DisableFastSnapshotRestoresRequest(input *DisableFastSnapshotRestoresInput) (req *request.Request, output *DisableFastSnapshotRestoresOutput) { + op := &request.Operation{ + Name: opDisableFastSnapshotRestores, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisableFastSnapshotRestoresInput{} + } + + output = &DisableFastSnapshotRestoresOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisableFastSnapshotRestores API operation for Amazon Elastic Compute Cloud. +// +// Disables fast snapshot restores for the specified snapshots in the specified +// Availability Zones. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisableFastSnapshotRestores for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores +func (c *EC2) DisableFastSnapshotRestores(input *DisableFastSnapshotRestoresInput) (*DisableFastSnapshotRestoresOutput, error) { + req, out := c.DisableFastSnapshotRestoresRequest(input) + return out, req.Send() +} + +// DisableFastSnapshotRestoresWithContext is the same as DisableFastSnapshotRestores with the addition of +// the ability to pass a context and additional request options. +// +// See DisableFastSnapshotRestores for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DisableFastSnapshotRestoresWithContext(ctx aws.Context, input *DisableFastSnapshotRestoresInput, opts ...request.Option) (*DisableFastSnapshotRestoresOutput, error) { + req, out := c.DisableFastSnapshotRestoresRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisableTransitGatewayRouteTablePropagation = "DisableTransitGatewayRouteTablePropagation" // DisableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the @@ -23741,6 +24162,85 @@ func (c *EC2) EnableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *En return out, req.Send() } +const opEnableFastSnapshotRestores = "EnableFastSnapshotRestores" + +// EnableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the +// client's request for the EnableFastSnapshotRestores 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 EnableFastSnapshotRestores for more information on using the EnableFastSnapshotRestores +// 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 EnableFastSnapshotRestoresRequest method. +// req, resp := client.EnableFastSnapshotRestoresRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores +func (c *EC2) EnableFastSnapshotRestoresRequest(input *EnableFastSnapshotRestoresInput) (req *request.Request, output *EnableFastSnapshotRestoresOutput) { + op := &request.Operation{ + Name: opEnableFastSnapshotRestores, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &EnableFastSnapshotRestoresInput{} + } + + output = &EnableFastSnapshotRestoresOutput{} + req = c.newRequest(op, input, output) + return +} + +// EnableFastSnapshotRestores API operation for Amazon Elastic Compute Cloud. +// +// Enables fast snapshot restores for the specified snapshots in the specified +// Availability Zones. +// +// You get the full benefit of fast snapshot restores after they enter the enabled +// state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. +// To disable fast snapshot restores, use DisableFastSnapshotRestores. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation EnableFastSnapshotRestores for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores +func (c *EC2) EnableFastSnapshotRestores(input *EnableFastSnapshotRestoresInput) (*EnableFastSnapshotRestoresOutput, error) { + req, out := c.EnableFastSnapshotRestoresRequest(input) + return out, req.Send() +} + +// EnableFastSnapshotRestoresWithContext is the same as EnableFastSnapshotRestores with the addition of +// the ability to pass a context and additional request options. +// +// See EnableFastSnapshotRestores for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) EnableFastSnapshotRestoresWithContext(ctx aws.Context, input *EnableFastSnapshotRestoresInput, opts ...request.Option) (*EnableFastSnapshotRestoresOutput, error) { + req, out := c.EnableFastSnapshotRestoresRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opEnableTransitGatewayRouteTablePropagation = "EnableTransitGatewayRouteTablePropagation" // EnableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the @@ -24676,6 +25176,84 @@ func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsole return out, req.Send() } +const opGetDefaultCreditSpecification = "GetDefaultCreditSpecification" + +// GetDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the +// client's request for the GetDefaultCreditSpecification 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 GetDefaultCreditSpecification for more information on using the GetDefaultCreditSpecification +// 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 GetDefaultCreditSpecificationRequest method. +// req, resp := client.GetDefaultCreditSpecificationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification +func (c *EC2) GetDefaultCreditSpecificationRequest(input *GetDefaultCreditSpecificationInput) (req *request.Request, output *GetDefaultCreditSpecificationOutput) { + op := &request.Operation{ + Name: opGetDefaultCreditSpecification, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDefaultCreditSpecificationInput{} + } + + output = &GetDefaultCreditSpecificationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud. +// +// Describes the default credit option for CPU usage of a burstable performance +// instance family. +// +// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) +// in the Amazon Elastic Compute Cloud 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 Elastic Compute Cloud's +// API operation GetDefaultCreditSpecification for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification +func (c *EC2) GetDefaultCreditSpecification(input *GetDefaultCreditSpecificationInput) (*GetDefaultCreditSpecificationOutput, error) { + req, out := c.GetDefaultCreditSpecificationRequest(input) + return out, req.Send() +} + +// GetDefaultCreditSpecificationWithContext is the same as GetDefaultCreditSpecification with the addition of +// the ability to pass a context and additional request options. +// +// See GetDefaultCreditSpecification for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetDefaultCreditSpecificationWithContext(ctx aws.Context, input *GetDefaultCreditSpecificationInput, opts ...request.Option) (*GetDefaultCreditSpecificationOutput, error) { + req, out := c.GetDefaultCreditSpecificationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetEbsDefaultKmsKeyId = "GetEbsDefaultKmsKeyId" // GetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the @@ -26178,6 +26756,94 @@ func (c *EC2) ModifyClientVpnEndpointWithContext(ctx aws.Context, input *ModifyC return out, req.Send() } +const opModifyDefaultCreditSpecification = "ModifyDefaultCreditSpecification" + +// ModifyDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the +// client's request for the ModifyDefaultCreditSpecification 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 ModifyDefaultCreditSpecification for more information on using the ModifyDefaultCreditSpecification +// 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 ModifyDefaultCreditSpecificationRequest method. +// req, resp := client.ModifyDefaultCreditSpecificationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification +func (c *EC2) ModifyDefaultCreditSpecificationRequest(input *ModifyDefaultCreditSpecificationInput) (req *request.Request, output *ModifyDefaultCreditSpecificationOutput) { + op := &request.Operation{ + Name: opModifyDefaultCreditSpecification, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyDefaultCreditSpecificationInput{} + } + + output = &ModifyDefaultCreditSpecificationOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud. +// +// Modifies the default credit option for CPU usage of burstable performance +// instances. The default credit option is set at the account level per AWS +// Region, and is specified per instance family. All new burstable performance +// instances in the account launch using the default credit option. +// +// ModifyDefaultCreditSpecification is an asynchronous operation, which works +// at an AWS Region level and modifies the credit option for each Availability +// Zone. All zones in a Region are updated within five minutes. But if instances +// are launched during this operation, they might not get the new credit option +// until the zone is updated. To verify whether the update has occurred, you +// can call GetDefaultCreditSpecification and check DefaultCreditSpecification +// for updates. +// +// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) +// in the Amazon Elastic Compute Cloud 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 Elastic Compute Cloud's +// API operation ModifyDefaultCreditSpecification for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification +func (c *EC2) ModifyDefaultCreditSpecification(input *ModifyDefaultCreditSpecificationInput) (*ModifyDefaultCreditSpecificationOutput, error) { + req, out := c.ModifyDefaultCreditSpecificationRequest(input) + return out, req.Send() +} + +// ModifyDefaultCreditSpecificationWithContext is the same as ModifyDefaultCreditSpecification with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyDefaultCreditSpecification for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyDefaultCreditSpecificationWithContext(ctx aws.Context, input *ModifyDefaultCreditSpecificationInput, opts ...request.Option) (*ModifyDefaultCreditSpecificationOutput, error) { + req, out := c.ModifyDefaultCreditSpecificationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyEbsDefaultKmsKeyId = "ModifyEbsDefaultKmsKeyId" // ModifyEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the @@ -26493,6 +27159,10 @@ func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, // no host ID is provided, the instance is launched onto a suitable host with // auto-placement enabled. // +// You can also use this API action to modify a Dedicated Host to support either +// multiple instance types in an instance family, or to support a specific instance +// type only. +// // 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. @@ -27006,8 +27676,8 @@ func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCred // ModifyInstanceCreditSpecification API operation for Amazon Elastic Compute Cloud. // -// Modifies the credit option for CPU usage on a running or stopped T2 or T3 -// instance. The credit options are standard and unlimited. +// Modifies the credit option for CPU usage on a running or stopped burstable +// performance instance. The credit options are standard and unlimited. // // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. @@ -33717,12 +34387,23 @@ type AllocateHostsInput struct { // Default: off HostRecovery *string `type:"string" enum:"HostRecovery"` - // Specifies the instance type for which to configure your Dedicated Hosts. - // When you specify the instance type, that is the only instance type that you - // can launch onto that host. + // Specifies the instance family to be supported by the Dedicated Hosts. If + // you specify an instance family, the Dedicated Hosts support multiple instance + // types within that instance family. // - // InstanceType is a required field - InstanceType *string `locationName:"instanceType" type:"string" required:"true"` + // If you want the Dedicated Hosts to support a specific instance type only, + // omit this parameter and specify InstanceType instead. You cannot specify + // InstanceFamily and InstanceType in the same request. + InstanceFamily *string `type:"string"` + + // Specifies the instance type to be supported by the Dedicated Hosts. If you + // specify an instance type, the Dedicated Hosts support instances of the specified + // instance type only. + // + // If you want the Dedicated Hosts to support multiple instance types in a specific + // instance family, omit this parameter and specify InstanceFamily instead. + // You cannot specify InstanceType and InstanceFamily in the same request. + InstanceType *string `locationName:"instanceType" type:"string"` // The number of Dedicated Hosts to allocate to your account with these parameters. // @@ -33749,9 +34430,6 @@ func (s *AllocateHostsInput) Validate() error { if s.AvailabilityZone == nil { invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) } - if s.InstanceType == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceType")) - } if s.Quantity == nil { invalidParams.Add(request.NewErrParamRequired("Quantity")) } @@ -33786,6 +34464,12 @@ func (s *AllocateHostsInput) SetHostRecovery(v string) *AllocateHostsInput { return s } +// SetInstanceFamily sets the InstanceFamily field's value. +func (s *AllocateHostsInput) SetInstanceFamily(v string) *AllocateHostsInput { + s.InstanceFamily = &v + return s +} + // SetInstanceType sets the InstanceType field's value. func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput { s.InstanceType = &v @@ -35271,7 +35955,6 @@ func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkI return s } -// Contains the parameters for AttachVolume. type AttachVolumeInput struct { _ struct{} `type:"structure"` @@ -36058,14 +36741,19 @@ func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage return s } -// The capacity information for instances launched onto the Dedicated Host. +// The capacity information for instances that can be launched onto the Dedicated +// Host. type AvailableCapacity struct { _ struct{} `type:"structure"` - // The total number of instances supported by the Dedicated Host. + // The number of instances that can be launched onto the Dedicated Host depending + // on the host's available capacity. For Dedicated Hosts that support multiple + // instance types, this parameter represents the number of instances for each + // instance size that is supported on the host. AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"` - // The number of vCPUs available on the Dedicated Host. + // The number of vCPUs available for launching instances onto the Dedicated + // Host. AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"` } @@ -39171,7 +39859,6 @@ func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput { return s } -// Contains the parameters for CopySnapshot. type CopySnapshotInput struct { _ struct{} `type:"structure"` @@ -39247,6 +39934,7 @@ type CopySnapshotInput struct { // SourceSnapshotId is a required field SourceSnapshotId *string `type:"string" required:"true"` + // The tags to apply to the new snapshot. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } @@ -39330,13 +40018,13 @@ func (s *CopySnapshotInput) SetTagSpecifications(v []*TagSpecification) *CopySna return s } -// Contains the output of CopySnapshot. type CopySnapshotOutput struct { _ struct{} `type:"structure"` // The ID of the new snapshot. SnapshotId *string `locationName:"snapshotId" type:"string"` + // Any tags applied to the new snapshot. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` } @@ -42867,7 +43555,6 @@ func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOut return s } -// Contains the parameters for CreateSnapshot. type CreateSnapshotInput struct { _ struct{} `type:"structure"` @@ -42945,9 +43632,10 @@ type CreateSnapshotsInput struct { // A description propagated to every snapshot specified by the instance. Description *string `type:"string"` - // Checks whether you have the required permissions for the action without actually - // making the request. Provides an error response. If you have the required - // permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` // The instance to specify which volumes should be included in the snapshots. @@ -44321,7 +45009,6 @@ func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v strin return s } -// Contains the parameters for CreateVolume. type CreateVolumeInput struct { _ struct{} `type:"structure"` @@ -47479,7 +48166,6 @@ func (s DeleteSecurityGroupOutput) GoString() string { return s.String() } -// Contains the parameters for DeleteSnapshot. type DeleteSnapshotInput struct { _ struct{} `type:"structure"` @@ -48330,7 +49016,6 @@ func (s *DeleteTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment return s } -// Contains the parameters for DeleteVolume. type DeleteVolumeInput struct { _ struct{} `type:"structure"` @@ -51080,6 +51765,222 @@ func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExp return s } +// Describes fast snapshot restores for a snapshot. +type DescribeFastSnapshotRestoreSuccessItem struct { + _ struct{} `type:"structure"` + + // The Availability Zone. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + + // The time at which fast snapshot restores entered the disabled state. + DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"` + + // The time at which fast snapshot restores entered the disabling state. + DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"` + + // The time at which fast snapshot restores entered the enabled state. + EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"` + + // The time at which fast snapshot restores entered the enabling state. + EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"` + + // The time at which fast snapshot restores entered the optimizing state. + OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"` + + // The alias of the snapshot owner. + OwnerAlias *string `locationName:"ownerAlias" type:"string"` + + // The ID of the AWS account that owns the snapshot. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The ID of the snapshot. + SnapshotId *string `locationName:"snapshotId" type:"string"` + + // The state of fast snapshot restores. + State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"` + + // The reason for the state transition. The possible values are as follows: + // + // * Client.UserInitiated - The state successfully transitioned to enabling + // or disabling. + // + // * Client.UserInitiated - Lifecycle state transition - The state successfully + // transitioned to optimizing, enabled, or disabled. + StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"` +} + +// String returns the string representation +func (s DescribeFastSnapshotRestoreSuccessItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFastSnapshotRestoreSuccessItem) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *DescribeFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *DescribeFastSnapshotRestoreSuccessItem { + s.AvailabilityZone = &v + return s +} + +// SetDisabledTime sets the DisabledTime field's value. +func (s *DescribeFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem { + s.DisabledTime = &v + return s +} + +// SetDisablingTime sets the DisablingTime field's value. +func (s *DescribeFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem { + s.DisablingTime = &v + return s +} + +// SetEnabledTime sets the EnabledTime field's value. +func (s *DescribeFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem { + s.EnabledTime = &v + return s +} + +// SetEnablingTime sets the EnablingTime field's value. +func (s *DescribeFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem { + s.EnablingTime = &v + return s +} + +// SetOptimizingTime sets the OptimizingTime field's value. +func (s *DescribeFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem { + s.OptimizingTime = &v + return s +} + +// SetOwnerAlias sets the OwnerAlias field's value. +func (s *DescribeFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *DescribeFastSnapshotRestoreSuccessItem { + s.OwnerAlias = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *DescribeFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *DescribeFastSnapshotRestoreSuccessItem { + s.OwnerId = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *DescribeFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *DescribeFastSnapshotRestoreSuccessItem { + s.SnapshotId = &v + return s +} + +// SetState sets the State field's value. +func (s *DescribeFastSnapshotRestoreSuccessItem) SetState(v string) *DescribeFastSnapshotRestoreSuccessItem { + s.State = &v + return s +} + +// SetStateTransitionReason sets the StateTransitionReason field's value. +func (s *DescribeFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *DescribeFastSnapshotRestoreSuccessItem { + s.StateTransitionReason = &v + return s +} + +type DescribeFastSnapshotRestoresInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The filters. The possible values are: + // + // * availability-zone: The Availability Zone of the snapshot. + // + // * owner-id: The ID of the AWS account that owns the snapshot. + // + // * snapshot-id: The ID of the snapshot. + // + // * state: The state of fast snapshot restores for the snapshot (enabling + // | optimizing | enabled | disabling | disabled). + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" 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. + MaxResults *int64 `type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeFastSnapshotRestoresInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFastSnapshotRestoresInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeFastSnapshotRestoresInput) SetDryRun(v bool) *DescribeFastSnapshotRestoresInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeFastSnapshotRestoresInput) SetFilters(v []*Filter) *DescribeFastSnapshotRestoresInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeFastSnapshotRestoresInput) SetMaxResults(v int64) *DescribeFastSnapshotRestoresInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFastSnapshotRestoresInput) SetNextToken(v string) *DescribeFastSnapshotRestoresInput { + s.NextToken = &v + return s +} + +type DescribeFastSnapshotRestoresOutput struct { + _ struct{} `type:"structure"` + + // Information about the state of fast snapshot restores. + FastSnapshotRestores []*DescribeFastSnapshotRestoreSuccessItem `locationName:"fastSnapshotRestoreSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeFastSnapshotRestoresOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFastSnapshotRestoresOutput) GoString() string { + return s.String() +} + +// SetFastSnapshotRestores sets the FastSnapshotRestores field's value. +func (s *DescribeFastSnapshotRestoresOutput) SetFastSnapshotRestores(v []*DescribeFastSnapshotRestoreSuccessItem) *DescribeFastSnapshotRestoresOutput { + s.FastSnapshotRestores = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFastSnapshotRestoresOutput) SetNextToken(v string) *DescribeFastSnapshotRestoresOutput { + s.NextToken = &v + return s +} + // Describes the instances that could not be launched by the fleet. type DescribeFleetError struct { _ struct{} `type:"structure"` @@ -53520,6 +54421,305 @@ func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceS return s } +type DescribeInstanceTypeOfferingsInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // One or more filters. Filter names and values are case-sensitive. + // + // * location - This depends on the location type. For example, if the location + // type is region (default), the location is the Region code (for example, + // us-east-2.) + // + // * instance-type - The instance type. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The location type. + LocationType *string `type:"string" enum:"LocationType"` + + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the next + // token value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token to retrieve the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInstanceTypeOfferingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstanceTypeOfferingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInstanceTypeOfferingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceTypeOfferingsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeInstanceTypeOfferingsInput) SetDryRun(v bool) *DescribeInstanceTypeOfferingsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeInstanceTypeOfferingsInput) SetFilters(v []*Filter) *DescribeInstanceTypeOfferingsInput { + s.Filters = v + return s +} + +// SetLocationType sets the LocationType field's value. +func (s *DescribeInstanceTypeOfferingsInput) SetLocationType(v string) *DescribeInstanceTypeOfferingsInput { + s.LocationType = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeInstanceTypeOfferingsInput) SetMaxResults(v int64) *DescribeInstanceTypeOfferingsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInstanceTypeOfferingsInput) SetNextToken(v string) *DescribeInstanceTypeOfferingsInput { + s.NextToken = &v + return s +} + +type DescribeInstanceTypeOfferingsOutput struct { + _ struct{} `type:"structure"` + + // The instance types offered. + InstanceTypeOfferings []*InstanceTypeOffering `locationName:"instanceTypeOfferingSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeInstanceTypeOfferingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstanceTypeOfferingsOutput) GoString() string { + return s.String() +} + +// SetInstanceTypeOfferings sets the InstanceTypeOfferings field's value. +func (s *DescribeInstanceTypeOfferingsOutput) SetInstanceTypeOfferings(v []*InstanceTypeOffering) *DescribeInstanceTypeOfferingsOutput { + s.InstanceTypeOfferings = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInstanceTypeOfferingsOutput) SetNextToken(v string) *DescribeInstanceTypeOfferingsOutput { + s.NextToken = &v + return s +} + +type DescribeInstanceTypesInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // One or more filters. Filter names and values are case-sensitive. + // + // * auto-recovery-supported - Indicates whether auto recovery is supported. + // (true | false) + // + // * bare-metal - Indicates whether it is a bare metal instance type. (true + // | false) + // + // * burstable-performance-supported - Indicates whether it is a burstable + // performance instance type. (true | false) + // + // * current-generation - Indicates whether this instance type is the latest + // generation instance type of an instance family. (true | false) + // + // * ebs-info.ebs-optimized-support - Indicates whether the instance type + // is EBS-optimized. (true | false) + // + // * ebs-info.encryption-support - Indicates whether EBS encryption is supported. + // (true | false) + // + // * free-tier-eligible - Indicates whether the instance type is eligible + // to use in the free tier. (true | false) + // + // * hibernation-supported - Indicates whether On-Demand hibernation is supported. + // (true | false) + // + // * hypervisor - The hypervisor used. (nitro | xen) + // + // * instance-storage-info.disk.count - The number of local disks. + // + // * instance-storage-info.disk.size-in-gb - The storage size of each instance + // storage disk, in GB. + // + // * instance-storage-info.disk.type - The storage technology for the local + // instance storage disks. (hdd | ssd) + // + // * instance-storage-info.total-size-in-gb - The total amount of storage + // available from all local instance storage, in GB. + // + // * instance-storage-supported - Indicates whether the instance type has + // local instance storage. (true | false) + // + // * memory-info.size-in-mib - The memory size. + // + // * network-info.ena-support - Indicates whether Elastic Network Adapter + // (ENA) is supported or required. (required | supported | unsupported) + // + // * network-info.ipv4-addresses-per-interface - The maximum number of private + // IPv4 addresses per network interface. + // + // * network-info.ipv6-addresses-per-interface - The maximum number of private + // IPv6 addresses per network interface. + // + // * network-info.ipv6-supported - Indicates whether the instance type supports + // IPv6. (true | false) + // + // * network-info.maximum-network-interfaces - The maximum number of network + // interfaces per instance. + // + // * network-info.network-performance - Describes the network performance. + // + // * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in + // GHz. + // + // * vcpu-info.default-cores - The default number of cores for the instance + // type. + // + // * vcpu-info.default-threads-per-core - The default number of threads per + // cores for the instance type. + // + // * vcpu-info.default-vcpus - The default number of vCPUs for the instance + // type. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The instance types. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // in the Amazon Elastic Compute Cloud User Guide. + InstanceTypes []*string `locationName:"InstanceType" type:"list"` + + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the next + // token value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token to retrieve the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInstanceTypesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstanceTypesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInstanceTypesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceTypesInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeInstanceTypesInput) SetDryRun(v bool) *DescribeInstanceTypesInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeInstanceTypesInput) SetFilters(v []*Filter) *DescribeInstanceTypesInput { + s.Filters = v + return s +} + +// SetInstanceTypes sets the InstanceTypes field's value. +func (s *DescribeInstanceTypesInput) SetInstanceTypes(v []*string) *DescribeInstanceTypesInput { + s.InstanceTypes = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeInstanceTypesInput) SetMaxResults(v int64) *DescribeInstanceTypesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInstanceTypesInput) SetNextToken(v string) *DescribeInstanceTypesInput { + s.NextToken = &v + return s +} + +type DescribeInstanceTypesOutput struct { + _ struct{} `type:"structure"` + + // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // in the Amazon Elastic Compute Cloud User Guide. + InstanceTypes []*InstanceTypeInfo `locationName:"instanceTypeSet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeInstanceTypesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstanceTypesOutput) GoString() string { + return s.String() +} + +// SetInstanceTypes sets the InstanceTypes field's value. +func (s *DescribeInstanceTypesOutput) SetInstanceTypes(v []*InstanceTypeInfo) *DescribeInstanceTypesOutput { + s.InstanceTypes = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInstanceTypesOutput) SetNextToken(v string) *DescribeInstanceTypesOutput { + s.NextToken = &v + return s +} + type DescribeInstancesInput struct { _ struct{} `type:"structure"` @@ -56961,7 +58161,6 @@ func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *De return s } -// Contains the parameters for DescribeSnapshotAttribute. type DescribeSnapshotAttributeInput struct { _ struct{} `type:"structure"` @@ -57026,7 +58225,6 @@ func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapsh return s } -// Contains the output of DescribeSnapshotAttribute. type DescribeSnapshotAttributeOutput struct { _ struct{} `type:"structure"` @@ -59260,7 +60458,6 @@ func (s *DescribeTransitGatewaysOutput) SetTransitGateways(v []*TransitGateway) return s } -// Contains the parameters for DescribeVolumeAttribute. type DescribeVolumeAttributeInput struct { _ struct{} `type:"structure"` @@ -59325,7 +60522,6 @@ func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttr return s } -// Contains the output of DescribeVolumeAttribute. type DescribeVolumeAttributeOutput struct { _ struct{} `type:"structure"` @@ -61481,7 +62677,6 @@ func (s DetachNetworkInterfaceOutput) GoString() string { return s.String() } -// Contains the parameters for DetachVolume. type DetachVolumeInput struct { _ struct{} `type:"structure"` @@ -61825,6 +63020,325 @@ func (s *DisableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) return s } +// Contains information about the errors that occurred when disabling fast snapshot +// restores. +type DisableFastSnapshotRestoreErrorItem struct { + _ struct{} `type:"structure"` + + // The errors. + FastSnapshotRestoreStateErrors []*DisableFastSnapshotRestoreStateErrorItem `locationName:"fastSnapshotRestoreStateErrorSet" locationNameList:"item" type:"list"` + + // The ID of the snapshot. + SnapshotId *string `locationName:"snapshotId" type:"string"` +} + +// String returns the string representation +func (s DisableFastSnapshotRestoreErrorItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableFastSnapshotRestoreErrorItem) GoString() string { + return s.String() +} + +// SetFastSnapshotRestoreStateErrors sets the FastSnapshotRestoreStateErrors field's value. +func (s *DisableFastSnapshotRestoreErrorItem) SetFastSnapshotRestoreStateErrors(v []*DisableFastSnapshotRestoreStateErrorItem) *DisableFastSnapshotRestoreErrorItem { + s.FastSnapshotRestoreStateErrors = v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *DisableFastSnapshotRestoreErrorItem) SetSnapshotId(v string) *DisableFastSnapshotRestoreErrorItem { + s.SnapshotId = &v + return s +} + +// Describes an error that occurred when disabling fast snapshot restores. +type DisableFastSnapshotRestoreStateError struct { + _ struct{} `type:"structure"` + + // The error code. + Code *string `locationName:"code" type:"string"` + + // The error message. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s DisableFastSnapshotRestoreStateError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableFastSnapshotRestoreStateError) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *DisableFastSnapshotRestoreStateError) SetCode(v string) *DisableFastSnapshotRestoreStateError { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *DisableFastSnapshotRestoreStateError) SetMessage(v string) *DisableFastSnapshotRestoreStateError { + s.Message = &v + return s +} + +// Contains information about an error that occurred when disabling fast snapshot +// restores. +type DisableFastSnapshotRestoreStateErrorItem struct { + _ struct{} `type:"structure"` + + // The Availability Zone. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + + // The error. + Error *DisableFastSnapshotRestoreStateError `locationName:"error" type:"structure"` +} + +// String returns the string representation +func (s DisableFastSnapshotRestoreStateErrorItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableFastSnapshotRestoreStateErrorItem) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *DisableFastSnapshotRestoreStateErrorItem) SetAvailabilityZone(v string) *DisableFastSnapshotRestoreStateErrorItem { + s.AvailabilityZone = &v + return s +} + +// SetError sets the Error field's value. +func (s *DisableFastSnapshotRestoreStateErrorItem) SetError(v *DisableFastSnapshotRestoreStateError) *DisableFastSnapshotRestoreStateErrorItem { + s.Error = v + return s +} + +// Describes fast snapshot restores that were successfully disabled. +type DisableFastSnapshotRestoreSuccessItem struct { + _ struct{} `type:"structure"` + + // The Availability Zone. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + + // The time at which fast snapshot restores entered the disabled state. + DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"` + + // The time at which fast snapshot restores entered the disabling state. + DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"` + + // The time at which fast snapshot restores entered the enabled state. + EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"` + + // The time at which fast snapshot restores entered the enabling state. + EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"` + + // The time at which fast snapshot restores entered the optimizing state. + OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"` + + // The alias of the snapshot owner. + OwnerAlias *string `locationName:"ownerAlias" type:"string"` + + // The ID of the AWS account that owns the snapshot. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The ID of the snapshot. + SnapshotId *string `locationName:"snapshotId" type:"string"` + + // The state of fast snapshot restores for the snapshot. + State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"` + + // The reason for the state transition. The possible values are as follows: + // + // * Client.UserInitiated - The state successfully transitioned to enabling + // or disabling. + // + // * Client.UserInitiated - Lifecycle state transition - The state successfully + // transitioned to optimizing, enabled, or disabled. + StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"` +} + +// String returns the string representation +func (s DisableFastSnapshotRestoreSuccessItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableFastSnapshotRestoreSuccessItem) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *DisableFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *DisableFastSnapshotRestoreSuccessItem { + s.AvailabilityZone = &v + return s +} + +// SetDisabledTime sets the DisabledTime field's value. +func (s *DisableFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem { + s.DisabledTime = &v + return s +} + +// SetDisablingTime sets the DisablingTime field's value. +func (s *DisableFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem { + s.DisablingTime = &v + return s +} + +// SetEnabledTime sets the EnabledTime field's value. +func (s *DisableFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem { + s.EnabledTime = &v + return s +} + +// SetEnablingTime sets the EnablingTime field's value. +func (s *DisableFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem { + s.EnablingTime = &v + return s +} + +// SetOptimizingTime sets the OptimizingTime field's value. +func (s *DisableFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem { + s.OptimizingTime = &v + return s +} + +// SetOwnerAlias sets the OwnerAlias field's value. +func (s *DisableFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *DisableFastSnapshotRestoreSuccessItem { + s.OwnerAlias = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *DisableFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *DisableFastSnapshotRestoreSuccessItem { + s.OwnerId = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *DisableFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *DisableFastSnapshotRestoreSuccessItem { + s.SnapshotId = &v + return s +} + +// SetState sets the State field's value. +func (s *DisableFastSnapshotRestoreSuccessItem) SetState(v string) *DisableFastSnapshotRestoreSuccessItem { + s.State = &v + return s +} + +// SetStateTransitionReason sets the StateTransitionReason field's value. +func (s *DisableFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *DisableFastSnapshotRestoreSuccessItem { + s.StateTransitionReason = &v + return s +} + +type DisableFastSnapshotRestoresInput struct { + _ struct{} `type:"structure"` + + // One or more Availability Zones. For example, us-east-2a. + // + // AvailabilityZones is a required field + AvailabilityZones []*string `locationName:"AvailabilityZone" locationNameList:"AvailabilityZone" type:"list" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The IDs of one or more snapshots. For example, snap-1234567890abcdef0. + // + // SourceSnapshotIds is a required field + SourceSnapshotIds []*string `locationName:"SourceSnapshotId" locationNameList:"SnapshotId" type:"list" required:"true"` +} + +// String returns the string representation +func (s DisableFastSnapshotRestoresInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableFastSnapshotRestoresInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisableFastSnapshotRestoresInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableFastSnapshotRestoresInput"} + if s.AvailabilityZones == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZones")) + } + if s.SourceSnapshotIds == nil { + invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *DisableFastSnapshotRestoresInput) SetAvailabilityZones(v []*string) *DisableFastSnapshotRestoresInput { + s.AvailabilityZones = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DisableFastSnapshotRestoresInput) SetDryRun(v bool) *DisableFastSnapshotRestoresInput { + s.DryRun = &v + return s +} + +// SetSourceSnapshotIds sets the SourceSnapshotIds field's value. +func (s *DisableFastSnapshotRestoresInput) SetSourceSnapshotIds(v []*string) *DisableFastSnapshotRestoresInput { + s.SourceSnapshotIds = v + return s +} + +type DisableFastSnapshotRestoresOutput struct { + _ struct{} `type:"structure"` + + // Information about the snapshots for which fast snapshot restores were successfully + // disabled. + Successful []*DisableFastSnapshotRestoreSuccessItem `locationName:"successful" locationNameList:"item" type:"list"` + + // Information about the snapshots for which fast snapshot restores could not + // be disabled. + Unsuccessful []*DisableFastSnapshotRestoreErrorItem `locationName:"unsuccessful" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DisableFastSnapshotRestoresOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableFastSnapshotRestoresOutput) GoString() string { + return s.String() +} + +// SetSuccessful sets the Successful field's value. +func (s *DisableFastSnapshotRestoresOutput) SetSuccessful(v []*DisableFastSnapshotRestoreSuccessItem) *DisableFastSnapshotRestoresOutput { + s.Successful = v + return s +} + +// SetUnsuccessful sets the Unsuccessful field's value. +func (s *DisableFastSnapshotRestoresOutput) SetUnsuccessful(v []*DisableFastSnapshotRestoreErrorItem) *DisableFastSnapshotRestoresOutput { + s.Unsuccessful = v + return s +} + type DisableTransitGatewayRouteTablePropagationInput struct { _ struct{} `type:"structure"` @@ -62841,6 +64355,48 @@ func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescriptio return s } +// Describes the disk. +type DiskInfo struct { + _ struct{} `type:"structure"` + + // The number of disks with this configuration. + Count *int64 `locationName:"count" type:"integer"` + + // The size of the disk in GiB. + SizeInGB *int64 `locationName:"sizeInGB" type:"long"` + + // The type of disk. + Type *string `locationName:"type" type:"string" enum:"DiskType"` +} + +// String returns the string representation +func (s DiskInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DiskInfo) GoString() string { + return s.String() +} + +// SetCount sets the Count field's value. +func (s *DiskInfo) SetCount(v int64) *DiskInfo { + s.Count = &v + return s +} + +// SetSizeInGB sets the SizeInGB field's value. +func (s *DiskInfo) SetSizeInGB(v int64) *DiskInfo { + s.SizeInGB = &v + return s +} + +// SetType sets the Type field's value. +func (s *DiskInfo) SetType(v string) *DiskInfo { + s.Type = &v + return s +} + // Describes a DNS entry. type DnsEntry struct { _ struct{} `type:"structure"` @@ -63034,6 +64590,41 @@ func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice { return s } +// Describes the Amazon EBS features supported by the instance type. +type EbsInfo struct { + _ struct{} `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. + EbsOptimizedSupport *string `locationName:"ebsOptimizedSupport" type:"string" enum:"EbsOptimizedSupport"` + + // Indicates whether Amazon EBS encryption is supported. + EncryptionSupport *string `locationName:"encryptionSupport" type:"string" enum:"EbsEncryptionSupport"` +} + +// String returns the string representation +func (s EbsInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EbsInfo) GoString() string { + return s.String() +} + +// SetEbsOptimizedSupport sets the EbsOptimizedSupport field's value. +func (s *EbsInfo) SetEbsOptimizedSupport(v string) *EbsInfo { + s.EbsOptimizedSupport = &v + return s +} + +// SetEncryptionSupport sets the EncryptionSupport field's value. +func (s *EbsInfo) SetEncryptionSupport(v string) *EbsInfo { + s.EncryptionSupport = &v + return s +} + // Describes a parameter used to set up an EBS volume in a block device mapping. type EbsInstanceBlockDevice struct { _ struct{} `type:"structure"` @@ -63501,6 +65092,326 @@ func (s *EnableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) * return s } +// Contains information about the errors that occurred when enabling fast snapshot +// restores. +type EnableFastSnapshotRestoreErrorItem struct { + _ struct{} `type:"structure"` + + // The errors. + FastSnapshotRestoreStateErrors []*EnableFastSnapshotRestoreStateErrorItem `locationName:"fastSnapshotRestoreStateErrorSet" locationNameList:"item" type:"list"` + + // The ID of the snapshot. + SnapshotId *string `locationName:"snapshotId" type:"string"` +} + +// String returns the string representation +func (s EnableFastSnapshotRestoreErrorItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableFastSnapshotRestoreErrorItem) GoString() string { + return s.String() +} + +// SetFastSnapshotRestoreStateErrors sets the FastSnapshotRestoreStateErrors field's value. +func (s *EnableFastSnapshotRestoreErrorItem) SetFastSnapshotRestoreStateErrors(v []*EnableFastSnapshotRestoreStateErrorItem) *EnableFastSnapshotRestoreErrorItem { + s.FastSnapshotRestoreStateErrors = v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *EnableFastSnapshotRestoreErrorItem) SetSnapshotId(v string) *EnableFastSnapshotRestoreErrorItem { + s.SnapshotId = &v + return s +} + +// Describes an error that occurred when enabling fast snapshot restores. +type EnableFastSnapshotRestoreStateError struct { + _ struct{} `type:"structure"` + + // The error code. + Code *string `locationName:"code" type:"string"` + + // The error message. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s EnableFastSnapshotRestoreStateError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableFastSnapshotRestoreStateError) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *EnableFastSnapshotRestoreStateError) SetCode(v string) *EnableFastSnapshotRestoreStateError { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *EnableFastSnapshotRestoreStateError) SetMessage(v string) *EnableFastSnapshotRestoreStateError { + s.Message = &v + return s +} + +// Contains information about an error that occurred when enabling fast snapshot +// restores. +type EnableFastSnapshotRestoreStateErrorItem struct { + _ struct{} `type:"structure"` + + // The Availability Zone. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + + // The error. + Error *EnableFastSnapshotRestoreStateError `locationName:"error" type:"structure"` +} + +// String returns the string representation +func (s EnableFastSnapshotRestoreStateErrorItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableFastSnapshotRestoreStateErrorItem) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *EnableFastSnapshotRestoreStateErrorItem) SetAvailabilityZone(v string) *EnableFastSnapshotRestoreStateErrorItem { + s.AvailabilityZone = &v + return s +} + +// SetError sets the Error field's value. +func (s *EnableFastSnapshotRestoreStateErrorItem) SetError(v *EnableFastSnapshotRestoreStateError) *EnableFastSnapshotRestoreStateErrorItem { + s.Error = v + return s +} + +// Describes fast snapshot restores that were successfully enabled. +type EnableFastSnapshotRestoreSuccessItem struct { + _ struct{} `type:"structure"` + + // The Availability Zone. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + + // The time at which fast snapshot restores entered the disabled state. + DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"` + + // The time at which fast snapshot restores entered the disabling state. + DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"` + + // The time at which fast snapshot restores entered the enabled state. + EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"` + + // The time at which fast snapshot restores entered the enabling state. + EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"` + + // The time at which fast snapshot restores entered the optimizing state. + OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"` + + // The alias of the snapshot owner. + OwnerAlias *string `locationName:"ownerAlias" type:"string"` + + // The ID of the AWS account that owns the snapshot. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The ID of the snapshot. + SnapshotId *string `locationName:"snapshotId" type:"string"` + + // The state of fast snapshot restores. + State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"` + + // The reason for the state transition. The possible values are as follows: + // + // * Client.UserInitiated - The state successfully transitioned to enabling + // or disabling. + // + // * Client.UserInitiated - Lifecycle state transition - The state successfully + // transitioned to optimizing, enabled, or disabled. + StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"` +} + +// String returns the string representation +func (s EnableFastSnapshotRestoreSuccessItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableFastSnapshotRestoreSuccessItem) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *EnableFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *EnableFastSnapshotRestoreSuccessItem { + s.AvailabilityZone = &v + return s +} + +// SetDisabledTime sets the DisabledTime field's value. +func (s *EnableFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem { + s.DisabledTime = &v + return s +} + +// SetDisablingTime sets the DisablingTime field's value. +func (s *EnableFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem { + s.DisablingTime = &v + return s +} + +// SetEnabledTime sets the EnabledTime field's value. +func (s *EnableFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem { + s.EnabledTime = &v + return s +} + +// SetEnablingTime sets the EnablingTime field's value. +func (s *EnableFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem { + s.EnablingTime = &v + return s +} + +// SetOptimizingTime sets the OptimizingTime field's value. +func (s *EnableFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem { + s.OptimizingTime = &v + return s +} + +// SetOwnerAlias sets the OwnerAlias field's value. +func (s *EnableFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *EnableFastSnapshotRestoreSuccessItem { + s.OwnerAlias = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *EnableFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *EnableFastSnapshotRestoreSuccessItem { + s.OwnerId = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *EnableFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *EnableFastSnapshotRestoreSuccessItem { + s.SnapshotId = &v + return s +} + +// SetState sets the State field's value. +func (s *EnableFastSnapshotRestoreSuccessItem) SetState(v string) *EnableFastSnapshotRestoreSuccessItem { + s.State = &v + return s +} + +// SetStateTransitionReason sets the StateTransitionReason field's value. +func (s *EnableFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *EnableFastSnapshotRestoreSuccessItem { + s.StateTransitionReason = &v + return s +} + +type EnableFastSnapshotRestoresInput struct { + _ struct{} `type:"structure"` + + // One or more Availability Zones. For example, us-east-2a. + // + // AvailabilityZones is a required field + AvailabilityZones []*string `locationName:"AvailabilityZone" locationNameList:"AvailabilityZone" type:"list" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You + // can specify a snapshot that was shared with you from another AWS account. + // + // SourceSnapshotIds is a required field + SourceSnapshotIds []*string `locationName:"SourceSnapshotId" locationNameList:"SnapshotId" type:"list" required:"true"` +} + +// String returns the string representation +func (s EnableFastSnapshotRestoresInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableFastSnapshotRestoresInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableFastSnapshotRestoresInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableFastSnapshotRestoresInput"} + if s.AvailabilityZones == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZones")) + } + if s.SourceSnapshotIds == nil { + invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *EnableFastSnapshotRestoresInput) SetAvailabilityZones(v []*string) *EnableFastSnapshotRestoresInput { + s.AvailabilityZones = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *EnableFastSnapshotRestoresInput) SetDryRun(v bool) *EnableFastSnapshotRestoresInput { + s.DryRun = &v + return s +} + +// SetSourceSnapshotIds sets the SourceSnapshotIds field's value. +func (s *EnableFastSnapshotRestoresInput) SetSourceSnapshotIds(v []*string) *EnableFastSnapshotRestoresInput { + s.SourceSnapshotIds = v + return s +} + +type EnableFastSnapshotRestoresOutput struct { + _ struct{} `type:"structure"` + + // Information about the snapshots for which fast snapshot restores were successfully + // enabled. + Successful []*EnableFastSnapshotRestoreSuccessItem `locationName:"successful" locationNameList:"item" type:"list"` + + // Information about the snapshots for which fast snapshot restores could not + // be enabled. + Unsuccessful []*EnableFastSnapshotRestoreErrorItem `locationName:"unsuccessful" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s EnableFastSnapshotRestoresOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableFastSnapshotRestoresOutput) GoString() string { + return s.String() +} + +// SetSuccessful sets the Successful field's value. +func (s *EnableFastSnapshotRestoresOutput) SetSuccessful(v []*EnableFastSnapshotRestoreSuccessItem) *EnableFastSnapshotRestoresOutput { + s.Successful = v + return s +} + +// SetUnsuccessful sets the Unsuccessful field's value. +func (s *EnableFastSnapshotRestoresOutput) SetUnsuccessful(v []*EnableFastSnapshotRestoreErrorItem) *EnableFastSnapshotRestoresOutput { + s.Unsuccessful = v + return s +} + type EnableTransitGatewayRouteTablePropagationInput struct { _ struct{} `type:"structure"` @@ -63658,7 +65569,6 @@ func (s EnableVgwRoutePropagationOutput) GoString() string { return s.String() } -// Contains the parameters for EnableVolumeIO. type EnableVolumeIOInput struct { _ struct{} `type:"structure"` @@ -65580,6 +67490,81 @@ func (s *FlowLog) SetTrafficType(v string) *FlowLog { return s } +// Describes the FPGA accelerator for the instance type. +type FpgaDeviceInfo struct { + _ struct{} `type:"structure"` + + // The count of FPGA accelerators for the instance type. + Count *int64 `locationName:"count" type:"integer"` + + // The manufacturer of the FPGA accelerator. + Manufacturer *string `locationName:"manufacturer" type:"string"` + + // Describes the memory for the FPGA accelerator for the instance type. + MemoryInfo *FpgaDeviceMemoryInfo `locationName:"memoryInfo" type:"structure"` + + // The name of the FPGA accelerator. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s FpgaDeviceInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FpgaDeviceInfo) GoString() string { + return s.String() +} + +// SetCount sets the Count field's value. +func (s *FpgaDeviceInfo) SetCount(v int64) *FpgaDeviceInfo { + s.Count = &v + return s +} + +// SetManufacturer sets the Manufacturer field's value. +func (s *FpgaDeviceInfo) SetManufacturer(v string) *FpgaDeviceInfo { + s.Manufacturer = &v + return s +} + +// SetMemoryInfo sets the MemoryInfo field's value. +func (s *FpgaDeviceInfo) SetMemoryInfo(v *FpgaDeviceMemoryInfo) *FpgaDeviceInfo { + s.MemoryInfo = v + return s +} + +// SetName sets the Name field's value. +func (s *FpgaDeviceInfo) SetName(v string) *FpgaDeviceInfo { + s.Name = &v + return s +} + +// Describes the memory for the FPGA accelerator for the instance type. +type FpgaDeviceMemoryInfo struct { + _ struct{} `type:"structure"` + + // The size (in MiB) for the memory available to the FPGA accelerator. + SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"` +} + +// String returns the string representation +func (s FpgaDeviceMemoryInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FpgaDeviceMemoryInfo) GoString() string { + return s.String() +} + +// SetSizeInMiB sets the SizeInMiB field's value. +func (s *FpgaDeviceMemoryInfo) SetSizeInMiB(v int64) *FpgaDeviceMemoryInfo { + s.SizeInMiB = &v + return s +} + // Describes an Amazon FPGA image (AFI). type FpgaImage struct { _ struct{} `type:"structure"` @@ -65832,6 +67817,39 @@ func (s *FpgaImageState) SetMessage(v string) *FpgaImageState { return s } +// Describes the FPGAs for the instance type. +type FpgaInfo struct { + _ struct{} `type:"structure"` + + // Describes the FPGAs for the instance type. + Fpgas []*FpgaDeviceInfo `locationName:"fpgas" locationNameList:"item" type:"list"` + + // The total memory of all FPGA accelerators for the instance type. + TotalFpgaMemoryInMiB *int64 `locationName:"totalFpgaMemoryInMiB" type:"integer"` +} + +// String returns the string representation +func (s FpgaInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FpgaInfo) GoString() string { + return s.String() +} + +// SetFpgas sets the Fpgas field's value. +func (s *FpgaInfo) SetFpgas(v []*FpgaDeviceInfo) *FpgaInfo { + s.Fpgas = v + return s +} + +// SetTotalFpgaMemoryInMiB sets the TotalFpgaMemoryInMiB field's value. +func (s *FpgaInfo) SetTotalFpgaMemoryInMiB(v int64) *FpgaInfo { + s.TotalFpgaMemoryInMiB = &v + return s +} + type GetCapacityReservationUsageInput struct { _ struct{} `type:"structure"` @@ -66199,6 +68217,79 @@ func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreensh return s } +type GetDefaultCreditSpecificationInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The instance family. + // + // InstanceFamily is a required field + InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"` +} + +// String returns the string representation +func (s GetDefaultCreditSpecificationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDefaultCreditSpecificationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDefaultCreditSpecificationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDefaultCreditSpecificationInput"} + if s.InstanceFamily == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceFamily")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *GetDefaultCreditSpecificationInput) SetDryRun(v bool) *GetDefaultCreditSpecificationInput { + s.DryRun = &v + return s +} + +// SetInstanceFamily sets the InstanceFamily field's value. +func (s *GetDefaultCreditSpecificationInput) SetInstanceFamily(v string) *GetDefaultCreditSpecificationInput { + s.InstanceFamily = &v + return s +} + +type GetDefaultCreditSpecificationOutput struct { + _ struct{} `type:"structure"` + + // The default credit option for CPU usage of the instance family. + InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"` +} + +// String returns the string representation +func (s GetDefaultCreditSpecificationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDefaultCreditSpecificationOutput) GoString() string { + return s.String() +} + +// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value. +func (s *GetDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *GetDefaultCreditSpecificationOutput { + s.InstanceFamilyCreditSpecification = v + return s +} + type GetEbsDefaultKmsKeyIdInput struct { _ struct{} `type:"structure"` @@ -67090,6 +69181,114 @@ func (s *GetTransitGatewayRouteTablePropagationsOutput) SetTransitGatewayRouteTa return s } +// Describes the GPU accelerators for the instance type. +type GpuDeviceInfo struct { + _ struct{} `type:"structure"` + + // The number of GPUs for the instance type. + Count *int64 `locationName:"count" type:"integer"` + + // The manufacturer of the GPU accelerator. + Manufacturer *string `locationName:"manufacturer" type:"string"` + + // Describes the memory available to the GPU accelerator. + MemoryInfo *GpuDeviceMemoryInfo `locationName:"memoryInfo" type:"structure"` + + // The name of the GPU accelerator. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s GpuDeviceInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GpuDeviceInfo) GoString() string { + return s.String() +} + +// SetCount sets the Count field's value. +func (s *GpuDeviceInfo) SetCount(v int64) *GpuDeviceInfo { + s.Count = &v + return s +} + +// SetManufacturer sets the Manufacturer field's value. +func (s *GpuDeviceInfo) SetManufacturer(v string) *GpuDeviceInfo { + s.Manufacturer = &v + return s +} + +// SetMemoryInfo sets the MemoryInfo field's value. +func (s *GpuDeviceInfo) SetMemoryInfo(v *GpuDeviceMemoryInfo) *GpuDeviceInfo { + s.MemoryInfo = v + return s +} + +// SetName sets the Name field's value. +func (s *GpuDeviceInfo) SetName(v string) *GpuDeviceInfo { + s.Name = &v + return s +} + +// Describes the memory available to the GPU accelerator. +type GpuDeviceMemoryInfo struct { + _ struct{} `type:"structure"` + + // The size (in MiB) for the memory available to the GPU accelerator. + SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"` +} + +// String returns the string representation +func (s GpuDeviceMemoryInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GpuDeviceMemoryInfo) GoString() string { + return s.String() +} + +// SetSizeInMiB sets the SizeInMiB field's value. +func (s *GpuDeviceMemoryInfo) SetSizeInMiB(v int64) *GpuDeviceMemoryInfo { + s.SizeInMiB = &v + return s +} + +// Describes the GPU accelerators for the instance type. +type GpuInfo struct { + _ struct{} `type:"structure"` + + // Describes the GPU accelerators for the instance type. + Gpus []*GpuDeviceInfo `locationName:"gpus" locationNameList:"item" type:"list"` + + // The total size of the memory for the GPU accelerators for the instance type. + TotalGpuMemoryInMiB *int64 `locationName:"totalGpuMemoryInMiB" type:"integer"` +} + +// String returns the string representation +func (s GpuInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GpuInfo) GoString() string { + return s.String() +} + +// SetGpus sets the Gpus field's value. +func (s *GpuInfo) SetGpus(v []*GpuDeviceInfo) *GpuInfo { + s.Gpus = v + return s +} + +// SetTotalGpuMemoryInMiB sets the TotalGpuMemoryInMiB field's value. +func (s *GpuInfo) SetTotalGpuMemoryInMiB(v int64) *GpuInfo { + s.TotalGpuMemoryInMiB = &v + return s +} + // Describes a security group. type GroupIdentifier struct { _ struct{} `type:"structure"` @@ -67280,13 +69479,23 @@ type Host struct { // The time that the Dedicated Host was allocated. AllocationTime *time.Time `locationName:"allocationTime" type:"timestamp"` + // Indicates whether the Dedicated Host supports multiple instance types of + // the same instance family, or a specific instance type only. one indicates + // that the Dedicated Host supports multiple instance types in the instance + // family. off indicates that the Dedicated Host supports a single instance + // type only. + AllowsMultipleInstanceTypes *string `locationName:"allowsMultipleInstanceTypes" type:"string" enum:"AllowsMultipleInstanceTypes"` + // Whether auto-placement is on or off. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"` // The Availability Zone of the Dedicated Host. AvailabilityZone *string `locationName:"availabilityZone" type:"string"` - // The number of new instances that can be launched onto the Dedicated Host. + // The ID of the Availability Zone in which the Dedicated Host is allocated. + AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"` + + // Information about the instances running on the Dedicated Host. AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency @@ -67310,6 +69519,9 @@ type Host struct { // The IDs and instance type that are currently running on the Dedicated Host. Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"` + // The ID of the AWS account that owns the Dedicated Host. + OwnerId *string `locationName:"ownerId" type:"string"` + // The time that the Dedicated Host was released. ReleaseTime *time.Time `locationName:"releaseTime" type:"timestamp"` @@ -67336,6 +69548,12 @@ func (s *Host) SetAllocationTime(v time.Time) *Host { return s } +// SetAllowsMultipleInstanceTypes sets the AllowsMultipleInstanceTypes field's value. +func (s *Host) SetAllowsMultipleInstanceTypes(v string) *Host { + s.AllowsMultipleInstanceTypes = &v + return s +} + // SetAutoPlacement sets the AutoPlacement field's value. func (s *Host) SetAutoPlacement(v string) *Host { s.AutoPlacement = &v @@ -67348,6 +69566,12 @@ func (s *Host) SetAvailabilityZone(v string) *Host { return s } +// SetAvailabilityZoneId sets the AvailabilityZoneId field's value. +func (s *Host) SetAvailabilityZoneId(v string) *Host { + s.AvailabilityZoneId = &v + return s +} + // SetAvailableCapacity sets the AvailableCapacity field's value. func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host { s.AvailableCapacity = v @@ -67390,6 +69614,12 @@ func (s *Host) SetInstances(v []*HostInstance) *Host { return s } +// SetOwnerId sets the OwnerId field's value. +func (s *Host) SetOwnerId(v string) *Host { + s.OwnerId = &v + return s +} + // SetReleaseTime sets the ReleaseTime field's value. func (s *Host) SetReleaseTime(v time.Time) *Host { s.ReleaseTime = &v @@ -67412,11 +69642,14 @@ func (s *Host) SetTags(v []*Tag) *Host { type HostInstance struct { _ struct{} `type:"structure"` - // the IDs of instances that are running on the Dedicated Host. + // The ID of instance that is running on the Dedicated Host. InstanceId *string `locationName:"instanceId" type:"string"` - // The instance type size (for example, m3.medium) of the running instance. + // The instance type (for example, m3.medium) of the running instance. InstanceType *string `locationName:"instanceType" type:"string"` + + // The ID of the AWS account that owns the instance. + OwnerId *string `locationName:"ownerId" type:"string"` } // String returns the string representation @@ -67441,6 +69674,12 @@ func (s *HostInstance) SetInstanceType(v string) *HostInstance { return s } +// SetOwnerId sets the OwnerId field's value. +func (s *HostInstance) SetOwnerId(v string) *HostInstance { + s.OwnerId = &v + return s +} + // Details about the Dedicated Host Reservation offering. type HostOffering struct { _ struct{} `type:"structure"` @@ -67519,20 +69758,24 @@ func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering { return s } -// Describes properties of a Dedicated Host. +// Describes the properties of a Dedicated Host. type HostProperties struct { _ struct{} `type:"structure"` // The number of cores on the Dedicated Host. Cores *int64 `locationName:"cores" type:"integer"` - // The instance type size that the Dedicated Host supports (for example, m3.medium). + // The instance family supported by the Dedicated Host. For example, m5. + InstanceFamily *string `locationName:"instanceFamily" type:"string"` + + // The instance type supported by the Dedicated Host. For example, m5.large. + // If the host supports multiple instance types, no instanceType is returned. InstanceType *string `locationName:"instanceType" type:"string"` // The number of sockets on the Dedicated Host. Sockets *int64 `locationName:"sockets" type:"integer"` - // The number of vCPUs on the Dedicated Host. + // The total number of vCPUs on the Dedicated Host. TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"` } @@ -67552,6 +69795,12 @@ func (s *HostProperties) SetCores(v int64) *HostProperties { return s } +// SetInstanceFamily sets the InstanceFamily field's value. +func (s *HostProperties) SetInstanceFamily(v string) *HostProperties { + s.InstanceFamily = &v + return s +} + // SetInstanceType sets the InstanceType field's value. func (s *HostProperties) SetInstanceType(v string) *HostProperties { s.InstanceType = &v @@ -68435,6 +70684,9 @@ type ImportImageInput struct { // The specified CMK must exist in the Region that the AMI is being copied to. KmsKeyId *string `type:"string"` + // The ARNs of the license configurations. + LicenseSpecifications []*ImportImageLicenseConfigurationRequest `locationNameList:"item" type:"list"` + // The license type to be used for the Amazon Machine Image (AMI) after importing. // // By default, we detect the source-system operating system (OS) and apply the @@ -68521,6 +70773,12 @@ func (s *ImportImageInput) SetKmsKeyId(v string) *ImportImageInput { return s } +// SetLicenseSpecifications sets the LicenseSpecifications field's value. +func (s *ImportImageInput) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationRequest) *ImportImageInput { + s.LicenseSpecifications = v + return s +} + // SetLicenseType sets the LicenseType field's value. func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput { s.LicenseType = &v @@ -68539,6 +70797,54 @@ func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput { return s } +// The request information of license configurations. +type ImportImageLicenseConfigurationRequest struct { + _ struct{} `type:"structure"` + + // The ARN of a license configuration. + LicenseConfigurationArn *string `type:"string"` +} + +// String returns the string representation +func (s ImportImageLicenseConfigurationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportImageLicenseConfigurationRequest) GoString() string { + return s.String() +} + +// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value. +func (s *ImportImageLicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *ImportImageLicenseConfigurationRequest { + s.LicenseConfigurationArn = &v + return s +} + +// The response information of license configurations. +type ImportImageLicenseConfigurationResponse struct { + _ struct{} `type:"structure"` + + // The ARN of a license configuration. + LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"` +} + +// String returns the string representation +func (s ImportImageLicenseConfigurationResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportImageLicenseConfigurationResponse) GoString() string { + return s.String() +} + +// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value. +func (s *ImportImageLicenseConfigurationResponse) SetLicenseConfigurationArn(v string) *ImportImageLicenseConfigurationResponse { + s.LicenseConfigurationArn = &v + return s +} + type ImportImageOutput struct { _ struct{} `type:"structure"` @@ -68564,6 +70870,9 @@ type ImportImageOutput struct { // key (CMK) that was used to create the encrypted AMI. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` + // The ARNs of the license configurations. + LicenseSpecifications []*ImportImageLicenseConfigurationResponse `locationName:"licenseSpecifications" locationNameList:"item" type:"list"` + // The license type of the virtual machine. LicenseType *string `locationName:"licenseType" type:"string"` @@ -68635,6 +70944,12 @@ func (s *ImportImageOutput) SetKmsKeyId(v string) *ImportImageOutput { return s } +// SetLicenseSpecifications sets the LicenseSpecifications field's value. +func (s *ImportImageOutput) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationResponse) *ImportImageOutput { + s.LicenseSpecifications = v + return s +} + // SetLicenseType sets the LicenseType field's value. func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput { s.LicenseType = &v @@ -68701,6 +71016,9 @@ type ImportImageTask struct { // key (CMK) that was used to create the encrypted image. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` + // The ARNs of the license configurations associated to the import image task. + LicenseSpecifications []*ImportImageLicenseConfigurationResponse `locationName:"licenseSpecifications" locationNameList:"item" type:"list"` + // The license type of the virtual machine. LicenseType *string `locationName:"licenseType" type:"string"` @@ -68772,6 +71090,12 @@ func (s *ImportImageTask) SetKmsKeyId(v string) *ImportImageTask { return s } +// SetLicenseSpecifications sets the LicenseSpecifications field's value. +func (s *ImportImageTask) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationResponse) *ImportImageTask { + s.LicenseSpecifications = v + return s +} + // SetLicenseType sets the LicenseType field's value. func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask { s.LicenseType = &v @@ -70183,17 +72507,20 @@ func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *Inst return s } -// Information about the instance type that the Dedicated Host supports. +// Information about the number of instances that can be launched onto the Dedicated +// Host. type InstanceCapacity struct { _ struct{} `type:"structure"` - // The number of instances that can still be launched onto the Dedicated Host. + // The number of instances that can be launched onto the Dedicated Host based + // on the host's available capacity. AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"` - // The instance type size supported by the Dedicated Host. + // The instance type supported by the Dedicated Host. InstanceType *string `locationName:"instanceType" type:"string"` - // The total number of instances that can be launched onto the Dedicated Host. + // The total number of instances that can be launched onto the Dedicated Host + // if there are no instances running on it. TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"` } @@ -70258,7 +72585,7 @@ func (s *InstanceCount) SetState(v string) *InstanceCount { return s } -// Describes the credit option for CPU usage of a T2 or T3 instance. +// Describes the credit option for CPU usage of a burstable performance instance. type InstanceCreditSpecification struct { _ struct{} `type:"structure"` @@ -70292,7 +72619,7 @@ func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpe return s } -// Describes the credit option for CPU usage of a T2 or T3 instance. +// Describes the credit option for CPU usage of a burstable performance instance. type InstanceCreditSpecificationRequest struct { _ struct{} `type:"structure"` @@ -70359,6 +72686,41 @@ func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDe return s } +// Describes the default credit option for CPU usage of a burstable performance +// instance family. +type InstanceFamilyCreditSpecification struct { + _ struct{} `type:"structure"` + + // The default credit option for CPU usage of the instance family. Valid values + // are standard and unlimited. + CpuCredits *string `locationName:"cpuCredits" type:"string"` + + // The instance family. + InstanceFamily *string `locationName:"instanceFamily" type:"string" enum:"UnlimitedSupportedInstanceFamily"` +} + +// String returns the string representation +func (s InstanceFamilyCreditSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceFamilyCreditSpecification) GoString() string { + return s.String() +} + +// SetCpuCredits sets the CpuCredits field's value. +func (s *InstanceFamilyCreditSpecification) SetCpuCredits(v string) *InstanceFamilyCreditSpecification { + s.CpuCredits = &v + return s +} + +// SetInstanceFamily sets the InstanceFamily field's value. +func (s *InstanceFamilyCreditSpecification) SetInstanceFamily(v string) *InstanceFamilyCreditSpecification { + s.InstanceFamily = &v + return s +} + // Describes an IPv6 address. type InstanceIpv6Address struct { _ struct{} `type:"structure"` @@ -71453,6 +73815,289 @@ func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary { return s } +// Describes the disks that are available for the instance type. +type InstanceStorageInfo struct { + _ struct{} `type:"structure"` + + // Array describing the disks that are available for the instance type. + Disks []*DiskInfo `locationName:"disks" locationNameList:"item" type:"list"` + + // The total size of the disks, in GiB. + TotalSizeInGB *int64 `locationName:"totalSizeInGB" type:"long"` +} + +// String returns the string representation +func (s InstanceStorageInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceStorageInfo) GoString() string { + return s.String() +} + +// SetDisks sets the Disks field's value. +func (s *InstanceStorageInfo) SetDisks(v []*DiskInfo) *InstanceStorageInfo { + s.Disks = v + return s +} + +// SetTotalSizeInGB sets the TotalSizeInGB field's value. +func (s *InstanceStorageInfo) SetTotalSizeInGB(v int64) *InstanceStorageInfo { + s.TotalSizeInGB = &v + return s +} + +// Describes the instance type. +type InstanceTypeInfo struct { + _ struct{} `type:"structure"` + + // Indicates whether auto recovery is supported. + AutoRecoverySupported *bool `locationName:"autoRecoverySupported" type:"boolean"` + + // Indicates whether the instance is bare metal. + BareMetal *bool `locationName:"bareMetal" type:"boolean"` + + // Indicates whether the instance type is a burstable performance instance type. + BurstablePerformanceSupported *bool `locationName:"burstablePerformanceSupported" type:"boolean"` + + // Indicates whether the instance type is a current generation. + CurrentGeneration *bool `locationName:"currentGeneration" type:"boolean"` + + // Indicates whether Dedicated Hosts are supported on the instance type. + DedicatedHostsSupported *bool `locationName:"dedicatedHostsSupported" type:"boolean"` + + // Describes the Amazon EBS settings for the instance type. + EbsInfo *EbsInfo `locationName:"ebsInfo" type:"structure"` + + // Describes the FPGA accelerator settings for the instance type. + FpgaInfo *FpgaInfo `locationName:"fpgaInfo" type:"structure"` + + // Indicates whether the instance type is eligible for the free tier. + FreeTierEligible *bool `locationName:"freeTierEligible" type:"boolean"` + + // Describes the GPU accelerator settings for the instance type. + GpuInfo *GpuInfo `locationName:"gpuInfo" type:"structure"` + + // Indicates whether On-Demand hibernation is supported. + HibernationSupported *bool `locationName:"hibernationSupported" type:"boolean"` + + // Indicates the hypervisor used for the instance type. + Hypervisor *string `locationName:"hypervisor" type:"string" enum:"InstanceTypeHypervisor"` + + // Describes the disks for the instance type. + InstanceStorageInfo *InstanceStorageInfo `locationName:"instanceStorageInfo" type:"structure"` + + // Indicates whether instance storage is supported. + InstanceStorageSupported *bool `locationName:"instanceStorageSupported" type:"boolean"` + + // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // in the Amazon Elastic Compute Cloud User Guide. + InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` + + // Describes the memory for the instance type. + MemoryInfo *MemoryInfo `locationName:"memoryInfo" type:"structure"` + + // Describes the network settings for the instance type. + NetworkInfo *NetworkInfo `locationName:"networkInfo" type:"structure"` + + // Describes the placement group settings for the instance type. + PlacementGroupInfo *PlacementGroupInfo `locationName:"placementGroupInfo" type:"structure"` + + // Describes the processor. + ProcessorInfo *ProcessorInfo `locationName:"processorInfo" type:"structure"` + + // Indicates the supported root devices. + SupportedRootDevices []*string `locationName:"supportedRootDevices" locationNameList:"item" type:"list"` + + // Indicates whether the instance type is offered for spot or On-Demand. + SupportedUsageClasses []*string `locationName:"supportedUsageClasses" locationNameList:"item" type:"list"` + + // Describes the vCPU configurations for the instance type. + VCpuInfo *VCpuInfo `locationName:"vCpuInfo" type:"structure"` +} + +// String returns the string representation +func (s InstanceTypeInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceTypeInfo) GoString() string { + return s.String() +} + +// SetAutoRecoverySupported sets the AutoRecoverySupported field's value. +func (s *InstanceTypeInfo) SetAutoRecoverySupported(v bool) *InstanceTypeInfo { + s.AutoRecoverySupported = &v + return s +} + +// SetBareMetal sets the BareMetal field's value. +func (s *InstanceTypeInfo) SetBareMetal(v bool) *InstanceTypeInfo { + s.BareMetal = &v + return s +} + +// SetBurstablePerformanceSupported sets the BurstablePerformanceSupported field's value. +func (s *InstanceTypeInfo) SetBurstablePerformanceSupported(v bool) *InstanceTypeInfo { + s.BurstablePerformanceSupported = &v + return s +} + +// SetCurrentGeneration sets the CurrentGeneration field's value. +func (s *InstanceTypeInfo) SetCurrentGeneration(v bool) *InstanceTypeInfo { + s.CurrentGeneration = &v + return s +} + +// SetDedicatedHostsSupported sets the DedicatedHostsSupported field's value. +func (s *InstanceTypeInfo) SetDedicatedHostsSupported(v bool) *InstanceTypeInfo { + s.DedicatedHostsSupported = &v + return s +} + +// SetEbsInfo sets the EbsInfo field's value. +func (s *InstanceTypeInfo) SetEbsInfo(v *EbsInfo) *InstanceTypeInfo { + s.EbsInfo = v + return s +} + +// SetFpgaInfo sets the FpgaInfo field's value. +func (s *InstanceTypeInfo) SetFpgaInfo(v *FpgaInfo) *InstanceTypeInfo { + s.FpgaInfo = v + return s +} + +// SetFreeTierEligible sets the FreeTierEligible field's value. +func (s *InstanceTypeInfo) SetFreeTierEligible(v bool) *InstanceTypeInfo { + s.FreeTierEligible = &v + return s +} + +// SetGpuInfo sets the GpuInfo field's value. +func (s *InstanceTypeInfo) SetGpuInfo(v *GpuInfo) *InstanceTypeInfo { + s.GpuInfo = v + return s +} + +// SetHibernationSupported sets the HibernationSupported field's value. +func (s *InstanceTypeInfo) SetHibernationSupported(v bool) *InstanceTypeInfo { + s.HibernationSupported = &v + return s +} + +// SetHypervisor sets the Hypervisor field's value. +func (s *InstanceTypeInfo) SetHypervisor(v string) *InstanceTypeInfo { + s.Hypervisor = &v + return s +} + +// SetInstanceStorageInfo sets the InstanceStorageInfo field's value. +func (s *InstanceTypeInfo) SetInstanceStorageInfo(v *InstanceStorageInfo) *InstanceTypeInfo { + s.InstanceStorageInfo = v + return s +} + +// SetInstanceStorageSupported sets the InstanceStorageSupported field's value. +func (s *InstanceTypeInfo) SetInstanceStorageSupported(v bool) *InstanceTypeInfo { + s.InstanceStorageSupported = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *InstanceTypeInfo) SetInstanceType(v string) *InstanceTypeInfo { + s.InstanceType = &v + return s +} + +// SetMemoryInfo sets the MemoryInfo field's value. +func (s *InstanceTypeInfo) SetMemoryInfo(v *MemoryInfo) *InstanceTypeInfo { + s.MemoryInfo = v + return s +} + +// SetNetworkInfo sets the NetworkInfo field's value. +func (s *InstanceTypeInfo) SetNetworkInfo(v *NetworkInfo) *InstanceTypeInfo { + s.NetworkInfo = v + return s +} + +// SetPlacementGroupInfo sets the PlacementGroupInfo field's value. +func (s *InstanceTypeInfo) SetPlacementGroupInfo(v *PlacementGroupInfo) *InstanceTypeInfo { + s.PlacementGroupInfo = v + return s +} + +// SetProcessorInfo sets the ProcessorInfo field's value. +func (s *InstanceTypeInfo) SetProcessorInfo(v *ProcessorInfo) *InstanceTypeInfo { + s.ProcessorInfo = v + return s +} + +// SetSupportedRootDevices sets the SupportedRootDevices field's value. +func (s *InstanceTypeInfo) SetSupportedRootDevices(v []*string) *InstanceTypeInfo { + s.SupportedRootDevices = v + return s +} + +// SetSupportedUsageClasses sets the SupportedUsageClasses field's value. +func (s *InstanceTypeInfo) SetSupportedUsageClasses(v []*string) *InstanceTypeInfo { + s.SupportedUsageClasses = v + return s +} + +// SetVCpuInfo sets the VCpuInfo field's value. +func (s *InstanceTypeInfo) SetVCpuInfo(v *VCpuInfo) *InstanceTypeInfo { + s.VCpuInfo = v + return s +} + +// The instance types offered. +type InstanceTypeOffering struct { + _ struct{} `type:"structure"` + + // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // in the Amazon Elastic Compute Cloud User Guide. + InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` + + // The identifier for the location. This depends on the location type. For example, + // if the location type is region, the location is the Region code (for example, + // us-east-2.) + Location *string `locationName:"location" type:"string"` + + // The location type. + LocationType *string `locationName:"locationType" type:"string" enum:"LocationType"` +} + +// String returns the string representation +func (s InstanceTypeOffering) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceTypeOffering) GoString() string { + return s.String() +} + +// SetInstanceType sets the InstanceType field's value. +func (s *InstanceTypeOffering) SetInstanceType(v string) *InstanceTypeOffering { + s.InstanceType = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *InstanceTypeOffering) SetLocation(v string) *InstanceTypeOffering { + s.Location = &v + return s +} + +// SetLocationType sets the LocationType field's value. +func (s *InstanceTypeOffering) SetLocationType(v string) *InstanceTypeOffering { + s.LocationType = &v + return s +} + // Information about the Capacity Reservation usage. type InstanceUsage struct { _ struct{} `type:"structure"` @@ -73986,6 +76631,30 @@ func (s *LoadPermissionRequest) SetUserId(v string) *LoadPermissionRequest { return s } +// Describes the memory for the instance type. +type MemoryInfo struct { + _ struct{} `type:"structure"` + + // Size of the memory, in MiB. + SizeInMiB *int64 `locationName:"sizeInMiB" type:"long"` +} + +// String returns the string representation +func (s MemoryInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MemoryInfo) GoString() string { + return s.String() +} + +// SetSizeInMiB sets the SizeInMiB field's value. +func (s *MemoryInfo) SetSizeInMiB(v int64) *MemoryInfo { + s.SizeInMiB = &v + return s +} + type ModifyCapacityReservationInput struct { _ struct{} `type:"structure"` @@ -74238,6 +76907,95 @@ func (s *ModifyClientVpnEndpointOutput) SetReturn(v bool) *ModifyClientVpnEndpoi return s } +type ModifyDefaultCreditSpecificationInput struct { + _ struct{} `type:"structure"` + + // The credit option for CPU usage of the instance family. + // + // Valid Values: standard | unlimited + // + // CpuCredits is a required field + CpuCredits *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The instance family. + // + // InstanceFamily is a required field + InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"` +} + +// String returns the string representation +func (s ModifyDefaultCreditSpecificationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDefaultCreditSpecificationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyDefaultCreditSpecificationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyDefaultCreditSpecificationInput"} + if s.CpuCredits == nil { + invalidParams.Add(request.NewErrParamRequired("CpuCredits")) + } + if s.InstanceFamily == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceFamily")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCpuCredits sets the CpuCredits field's value. +func (s *ModifyDefaultCreditSpecificationInput) SetCpuCredits(v string) *ModifyDefaultCreditSpecificationInput { + s.CpuCredits = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyDefaultCreditSpecificationInput) SetDryRun(v bool) *ModifyDefaultCreditSpecificationInput { + s.DryRun = &v + return s +} + +// SetInstanceFamily sets the InstanceFamily field's value. +func (s *ModifyDefaultCreditSpecificationInput) SetInstanceFamily(v string) *ModifyDefaultCreditSpecificationInput { + s.InstanceFamily = &v + return s +} + +type ModifyDefaultCreditSpecificationOutput struct { + _ struct{} `type:"structure"` + + // The default credit option for CPU usage of the instance family. + InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"` +} + +// String returns the string representation +func (s ModifyDefaultCreditSpecificationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyDefaultCreditSpecificationOutput) GoString() string { + return s.String() +} + +// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value. +func (s *ModifyDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *ModifyDefaultCreditSpecificationOutput { + s.InstanceFamilyCreditSpecification = v + return s +} + type ModifyEbsDefaultKmsKeyIdInput struct { _ struct{} `type:"structure"` @@ -74594,6 +77352,24 @@ type ModifyHostsInput struct { // For more information, see Host Recovery (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html) // in the Amazon Elastic Compute Cloud User Guide. HostRecovery *string `type:"string" enum:"HostRecovery"` + + // Specifies the instance family to be supported by the Dedicated Host. Specify + // this parameter to modify a Dedicated Host to support multiple instance types + // within its current instance family. + // + // If you want to modify a Dedicated Host to support a specific instance type + // only, omit this parameter and specify InstanceType instead. You cannot specify + // InstanceFamily and InstanceType in the same request. + InstanceFamily *string `type:"string"` + + // Specifies the instance type to be supported by the Dedicated Host. Specify + // this parameter to modify a Dedicated Host to support only a specific instance + // type. + // + // If you want to modify a Dedicated Host to support multiple instance types + // in its current instance family, omit this parameter and specify InstanceFamily + // instead. You cannot specify InstanceType and InstanceFamily in the same request. + InstanceType *string `type:"string"` } // String returns the string representation @@ -74637,6 +77413,18 @@ func (s *ModifyHostsInput) SetHostRecovery(v string) *ModifyHostsInput { return s } +// SetInstanceFamily sets the InstanceFamily field's value. +func (s *ModifyHostsInput) SetInstanceFamily(v string) *ModifyHostsInput { + s.InstanceFamily = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *ModifyHostsInput) SetInstanceType(v string) *ModifyHostsInput { + s.InstanceType = &v + return s +} + type ModifyHostsOutput struct { _ struct{} `type:"structure"` @@ -76030,7 +78818,6 @@ func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v str return s } -// Contains the parameters for ModifySnapshotAttribute. type ModifySnapshotAttributeInput struct { _ struct{} `type:"structure"` @@ -76852,7 +79639,6 @@ func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v strin return s } -// Contains the parameters for ModifyVolumeAttribute. type ModifyVolumeAttributeInput struct { _ struct{} `type:"structure"` @@ -78893,6 +81679,75 @@ func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry { return s } +// Describes the networking features of the instance type. +type NetworkInfo struct { + _ struct{} `type:"structure"` + + // Indicates whether Elastic Network Adapter (ENA) is supported. + EnaSupport *string `locationName:"enaSupport" type:"string" enum:"EnaSupport"` + + // The maximum number of IPv4 addresses per network interface. + Ipv4AddressesPerInterface *int64 `locationName:"ipv4AddressesPerInterface" type:"integer"` + + // The maximum number of IPv6 addresses per network interface. + Ipv6AddressesPerInterface *int64 `locationName:"ipv6AddressesPerInterface" type:"integer"` + + // Indicates whether IPv6 is supported. + Ipv6Supported *bool `locationName:"ipv6Supported" type:"boolean"` + + // The maximum number of network interfaces for the instance type. + MaximumNetworkInterfaces *int64 `locationName:"maximumNetworkInterfaces" type:"integer"` + + // Describes the network performance. + NetworkPerformance *string `locationName:"networkPerformance" type:"string"` +} + +// String returns the string representation +func (s NetworkInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NetworkInfo) GoString() string { + return s.String() +} + +// SetEnaSupport sets the EnaSupport field's value. +func (s *NetworkInfo) SetEnaSupport(v string) *NetworkInfo { + s.EnaSupport = &v + return s +} + +// SetIpv4AddressesPerInterface sets the Ipv4AddressesPerInterface field's value. +func (s *NetworkInfo) SetIpv4AddressesPerInterface(v int64) *NetworkInfo { + s.Ipv4AddressesPerInterface = &v + return s +} + +// SetIpv6AddressesPerInterface sets the Ipv6AddressesPerInterface field's value. +func (s *NetworkInfo) SetIpv6AddressesPerInterface(v int64) *NetworkInfo { + s.Ipv6AddressesPerInterface = &v + return s +} + +// SetIpv6Supported sets the Ipv6Supported field's value. +func (s *NetworkInfo) SetIpv6Supported(v bool) *NetworkInfo { + s.Ipv6Supported = &v + return s +} + +// SetMaximumNetworkInterfaces sets the MaximumNetworkInterfaces field's value. +func (s *NetworkInfo) SetMaximumNetworkInterfaces(v int64) *NetworkInfo { + s.MaximumNetworkInterfaces = &v + return s +} + +// SetNetworkPerformance sets the NetworkPerformance field's value. +func (s *NetworkInfo) SetNetworkPerformance(v string) *NetworkInfo { + s.NetworkPerformance = &v + return s +} + // Describes a network interface. type NetworkInterface struct { _ struct{} `type:"structure"` @@ -80177,6 +83032,30 @@ func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup { return s } +// Describes the placement group support of the instance type. +type PlacementGroupInfo struct { + _ struct{} `type:"structure"` + + // A list of supported placement groups types. + SupportedStrategies []*string `locationName:"supportedStrategies" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s PlacementGroupInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PlacementGroupInfo) GoString() string { + return s.String() +} + +// SetSupportedStrategies sets the SupportedStrategies field's value. +func (s *PlacementGroupInfo) SetSupportedStrategies(v []*string) *PlacementGroupInfo { + s.SupportedStrategies = v + return s +} + // Describes the placement of an instance. type PlacementResponse struct { _ struct{} `type:"structure"` @@ -80519,6 +83398,39 @@ func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIp return s } +// Describes the processor used by the instance type. +type ProcessorInfo struct { + _ struct{} `type:"structure"` + + // A list of architectures supported by the instance type. + SupportedArchitectures []*string `locationName:"supportedArchitectures" locationNameList:"item" type:"list"` + + // The speed of the processor, in GHz. + SustainedClockSpeedInGhz *float64 `locationName:"sustainedClockSpeedInGhz" type:"double"` +} + +// String returns the string representation +func (s ProcessorInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProcessorInfo) GoString() string { + return s.String() +} + +// SetSupportedArchitectures sets the SupportedArchitectures field's value. +func (s *ProcessorInfo) SetSupportedArchitectures(v []*string) *ProcessorInfo { + s.SupportedArchitectures = v + return s +} + +// SetSustainedClockSpeedInGhz sets the SustainedClockSpeedInGhz field's value. +func (s *ProcessorInfo) SetSustainedClockSpeedInGhz(v float64) *ProcessorInfo { + s.SustainedClockSpeedInGhz = &v + return s +} + // Describes a product code. type ProductCode struct { _ struct{} `type:"structure"` @@ -84879,7 +87791,6 @@ func (s ResetNetworkInterfaceAttributeOutput) GoString() string { return s.String() } -// Contains the parameters for ResetSnapshotAttribute. type ResetSnapshotAttributeInput struct { _ struct{} `type:"structure"` @@ -85993,13 +88904,13 @@ type RunInstancesInput struct { // in the Amazon Elastic Compute Cloud User Guide. CpuOptions *CpuOptionsRequest `type:"structure"` - // The credit option for CPU usage of the T2 or T3 instance. Valid values are - // standard and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification - // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html). + // The credit option for CPU usage of the burstable performance instance. Valid + // values are standard and unlimited. To change this attribute after launch, + // use ModifyInstanceCreditSpecification (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html). // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // - // Default: standard (T2 instances) or unlimited (T3 instances) + // Default: standard (T2 instances) or unlimited (T3/T3a instances) CreditSpecification *CreditSpecificationRequest `type:"structure"` // If you set this parameter to true, you can't terminate the instance using @@ -90983,8 +93894,8 @@ func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBloc return s } -// Describes the T2 or T3 instance whose credit option for CPU usage was successfully -// modified. +// Describes the burstable performance instance whose credit option for CPU +// usage was successfully modified. type SuccessfulInstanceCreditSpecificationItem struct { _ struct{} `type:"structure"` @@ -93568,13 +96479,13 @@ func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitorin return s } -// Describes the T2 or T3 instance whose credit option for CPU usage was not -// modified. +// Describes the burstable performance instance whose credit option for CPU +// usage was not modified. type UnsuccessfulInstanceCreditSpecificationItem struct { _ struct{} `type:"structure"` - // The applicable error for the T2 or T3 instance whose credit option for CPU - // usage was not modified. + // The applicable error for the burstable performance instance whose credit + // option for CPU usage was not modified. Error *UnsuccessfulInstanceCreditSpecificationItemError `locationName:"error" type:"structure"` // The ID of the instance. @@ -93603,8 +96514,8 @@ func (s *UnsuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *U return s } -// Information about the error for the T2 or T3 instance whose credit option -// for CPU usage was not modified. +// Information about the error for the burstable performance instance whose +// credit option for CPU usage was not modified. type UnsuccessfulInstanceCreditSpecificationItemError struct { _ struct{} `type:"structure"` @@ -94078,6 +96989,68 @@ func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair { return s } +// Describes the vCPU configurations for the instance type. +type VCpuInfo struct { + _ struct{} `type:"structure"` + + // The default number of cores for the instance type. + DefaultCores *int64 `locationName:"defaultCores" type:"integer"` + + // The default number of threads per core for the instance type. + DefaultThreadsPerCore *int64 `locationName:"defaultThreadsPerCore" type:"integer"` + + // The default number of vCPUs for the instance type. + DefaultVCpus *int64 `locationName:"defaultVCpus" type:"integer"` + + // List of the valid number of cores that can be configured for the instance + // type. + ValidCores []*int64 `locationName:"validCores" locationNameList:"item" type:"list"` + + // List of the valid number of threads per core that can be configured for the + // instance type. + ValidThreadsPerCore []*int64 `locationName:"validThreadsPerCore" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s VCpuInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VCpuInfo) GoString() string { + return s.String() +} + +// SetDefaultCores sets the DefaultCores field's value. +func (s *VCpuInfo) SetDefaultCores(v int64) *VCpuInfo { + s.DefaultCores = &v + return s +} + +// SetDefaultThreadsPerCore sets the DefaultThreadsPerCore field's value. +func (s *VCpuInfo) SetDefaultThreadsPerCore(v int64) *VCpuInfo { + s.DefaultThreadsPerCore = &v + return s +} + +// SetDefaultVCpus sets the DefaultVCpus field's value. +func (s *VCpuInfo) SetDefaultVCpus(v int64) *VCpuInfo { + s.DefaultVCpus = &v + return s +} + +// SetValidCores sets the ValidCores field's value. +func (s *VCpuInfo) SetValidCores(v []*int64) *VCpuInfo { + s.ValidCores = v + return s +} + +// SetValidThreadsPerCore sets the ValidThreadsPerCore field's value. +func (s *VCpuInfo) SetValidThreadsPerCore(v []*int64) *VCpuInfo { + s.ValidThreadsPerCore = v + return s +} + // Describes telemetry for a VPN tunnel. type VgwTelemetry struct { _ struct{} `type:"structure"` @@ -94164,6 +97137,9 @@ type Volume struct { // Indicates whether the volume is encrypted. Encrypted *bool `locationName:"encrypted" type:"boolean"` + // Indicates whether the volume was created using fast snapshot restore. + FastRestored *bool `locationName:"fastRestored" type:"boolean"` + // The number of I/O operations per second (IOPS) that the volume supports. // For Provisioned IOPS SSD volumes, this represents the number of IOPS that // are provisioned for the volume. For General Purpose SSD volumes, this represents @@ -94241,6 +97217,12 @@ func (s *Volume) SetEncrypted(v bool) *Volume { return s } +// SetFastRestored sets the FastRestored field's value. +func (s *Volume) SetFastRestored(v bool) *Volume { + s.FastRestored = &v + return s +} + // SetIops sets the Iops field's value. func (s *Volume) SetIops(v int64) *Volume { s.Iops = &v @@ -96200,6 +99182,25 @@ const ( AllocationStrategyCapacityOptimized = "capacityOptimized" ) +const ( + // AllowsMultipleInstanceTypesOn is a AllowsMultipleInstanceTypes enum value + AllowsMultipleInstanceTypesOn = "on" + + // AllowsMultipleInstanceTypesOff is a AllowsMultipleInstanceTypes enum value + AllowsMultipleInstanceTypesOff = "off" +) + +const ( + // ArchitectureTypeI386 is a ArchitectureType enum value + ArchitectureTypeI386 = "i386" + + // ArchitectureTypeX8664 is a ArchitectureType enum value + ArchitectureTypeX8664 = "x86_64" + + // ArchitectureTypeArm64 is a ArchitectureType enum value + ArchitectureTypeArm64 = "arm64" +) + const ( // ArchitectureValuesI386 is a ArchitectureValues enum value ArchitectureValuesI386 = "i386" @@ -96635,6 +99636,14 @@ const ( DiskImageFormatVhd = "VHD" ) +const ( + // DiskTypeHdd is a DiskType enum value + DiskTypeHdd = "hdd" + + // DiskTypeSsd is a DiskType enum value + DiskTypeSsd = "ssd" +) + const ( // DnsSupportValueEnable is a DnsSupportValue enum value DnsSupportValueEnable = "enable" @@ -96651,6 +99660,25 @@ const ( DomainTypeStandard = "standard" ) +const ( + // EbsEncryptionSupportUnsupported is a EbsEncryptionSupport enum value + EbsEncryptionSupportUnsupported = "unsupported" + + // EbsEncryptionSupportSupported is a EbsEncryptionSupport enum value + EbsEncryptionSupportSupported = "supported" +) + +const ( + // EbsOptimizedSupportUnsupported is a EbsOptimizedSupport enum value + EbsOptimizedSupportUnsupported = "unsupported" + + // EbsOptimizedSupportSupported is a EbsOptimizedSupport enum value + EbsOptimizedSupportSupported = "supported" + + // EbsOptimizedSupportDefault is a EbsOptimizedSupport enum value + EbsOptimizedSupportDefault = "default" +) + const ( // ElasticGpuStateAttached is a ElasticGpuState enum value ElasticGpuStateAttached = "ATTACHED" @@ -96664,6 +99692,17 @@ const ( ElasticGpuStatusImpaired = "IMPAIRED" ) +const ( + // EnaSupportUnsupported is a EnaSupport enum value + EnaSupportUnsupported = "unsupported" + + // EnaSupportSupported is a EnaSupport enum value + EnaSupportSupported = "supported" + + // EnaSupportRequired is a EnaSupport enum value + EnaSupportRequired = "required" +) + const ( // EndDateTypeUnlimited is a EndDateType enum value EndDateTypeUnlimited = "unlimited" @@ -96736,6 +99775,23 @@ const ( ExportTaskStateCompleted = "completed" ) +const ( + // FastSnapshotRestoreStateCodeEnabling is a FastSnapshotRestoreStateCode enum value + FastSnapshotRestoreStateCodeEnabling = "enabling" + + // FastSnapshotRestoreStateCodeOptimizing is a FastSnapshotRestoreStateCode enum value + FastSnapshotRestoreStateCodeOptimizing = "optimizing" + + // FastSnapshotRestoreStateCodeEnabled is a FastSnapshotRestoreStateCode enum value + FastSnapshotRestoreStateCodeEnabled = "enabled" + + // FastSnapshotRestoreStateCodeDisabling is a FastSnapshotRestoreStateCode enum value + FastSnapshotRestoreStateCodeDisabling = "disabling" + + // FastSnapshotRestoreStateCodeDisabled is a FastSnapshotRestoreStateCode enum value + FastSnapshotRestoreStateCodeDisabled = "disabled" +) + const ( // FleetActivityStatusError is a FleetActivityStatus enum value FleetActivityStatusError = "error" @@ -97502,9 +100558,18 @@ const ( // InstanceTypeC5d9xlarge is a InstanceType enum value InstanceTypeC5d9xlarge = "c5d.9xlarge" + // InstanceTypeC5d12xlarge is a InstanceType enum value + InstanceTypeC5d12xlarge = "c5d.12xlarge" + // InstanceTypeC5d18xlarge is a InstanceType enum value InstanceTypeC5d18xlarge = "c5d.18xlarge" + // InstanceTypeC5d24xlarge is a InstanceType enum value + InstanceTypeC5d24xlarge = "c5d.24xlarge" + + // InstanceTypeC5dMetal is a InstanceType enum value + InstanceTypeC5dMetal = "c5d.metal" + // InstanceTypeC5nLarge is a InstanceType enum value InstanceTypeC5nLarge = "c5n.large" @@ -97875,6 +100940,14 @@ const ( InstanceTypeR5n24xlarge = "r5n.24xlarge" ) +const ( + // InstanceTypeHypervisorNitro is a InstanceTypeHypervisor enum value + InstanceTypeHypervisorNitro = "nitro" + + // InstanceTypeHypervisorXen is a InstanceTypeHypervisor enum value + InstanceTypeHypervisorXen = "xen" +) + const ( // InterfacePermissionTypeInstanceAttach is a InterfacePermissionType enum value InterfacePermissionTypeInstanceAttach = "INSTANCE-ATTACH" @@ -97939,6 +101012,17 @@ const ( ListingStatusClosed = "closed" ) +const ( + // LocationTypeRegion is a LocationType enum value + LocationTypeRegion = "region" + + // LocationTypeAvailabilityZone is a LocationType enum value + LocationTypeAvailabilityZone = "availability-zone" + + // LocationTypeAvailabilityZoneId is a LocationType enum value + LocationTypeAvailabilityZoneId = "availability-zone-id" +) + const ( // LogDestinationTypeCloudWatchLogs is a LogDestinationType enum value LogDestinationTypeCloudWatchLogs = "cloud-watch-logs" @@ -98126,6 +101210,17 @@ const ( PlacementGroupStateDeleted = "deleted" ) +const ( + // PlacementGroupStrategyCluster is a PlacementGroupStrategy enum value + PlacementGroupStrategyCluster = "cluster" + + // PlacementGroupStrategyPartition is a PlacementGroupStrategy enum value + PlacementGroupStrategyPartition = "partition" + + // PlacementGroupStrategySpread is a PlacementGroupStrategy enum value + PlacementGroupStrategySpread = "spread" +) + const ( // PlacementStrategyCluster is a PlacementStrategy enum value PlacementStrategyCluster = "cluster" @@ -98368,6 +101463,14 @@ const ( ResourceTypeVpnGateway = "vpn-gateway" ) +const ( + // RootDeviceTypeEbs is a RootDeviceType enum value + RootDeviceTypeEbs = "ebs" + + // RootDeviceTypeInstanceStore is a RootDeviceType enum value + RootDeviceTypeInstanceStore = "instance-store" +) + const ( // RouteOriginCreateRouteTable is a RouteOrigin enum value RouteOriginCreateRouteTable = "CreateRouteTable" @@ -98817,6 +101920,17 @@ const ( TransportProtocolUdp = "udp" ) +const ( + // UnlimitedSupportedInstanceFamilyT2 is a UnlimitedSupportedInstanceFamily enum value + UnlimitedSupportedInstanceFamilyT2 = "t2" + + // UnlimitedSupportedInstanceFamilyT3 is a UnlimitedSupportedInstanceFamily enum value + UnlimitedSupportedInstanceFamilyT3 = "t3" + + // UnlimitedSupportedInstanceFamilyT3a is a UnlimitedSupportedInstanceFamily enum value + UnlimitedSupportedInstanceFamilyT3a = "t3a" +) + const ( // UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed" @@ -98831,6 +101945,14 @@ const ( UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported = "InstanceCreditSpecification.NotSupported" ) +const ( + // UsageClassTypeSpot is a UsageClassType enum value + UsageClassTypeSpot = "spot" + + // UsageClassTypeOnDemand is a UsageClassType enum value + UsageClassTypeOnDemand = "on-demand" +) + const ( // VirtualizationTypeHvm is a VirtualizationType enum value VirtualizationTypeHvm = "hvm" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go index 0469f0f01a16..b9bdbde157f4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go @@ -952,6 +952,57 @@ func (c *EC2) WaitUntilPasswordDataAvailableWithContext(ctx aws.Context, input * return w.WaitWithContext(ctx) } +// WaitUntilSecurityGroupExists uses the Amazon EC2 API operation +// DescribeSecurityGroups to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *EC2) WaitUntilSecurityGroupExists(input *DescribeSecurityGroupsInput) error { + return c.WaitUntilSecurityGroupExistsWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilSecurityGroupExistsWithContext is an extended version of WaitUntilSecurityGroupExists. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) WaitUntilSecurityGroupExistsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilSecurityGroupExists", + MaxAttempts: 6, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "length(SecurityGroups[].GroupId) > `0`", + Expected: true, + }, + { + State: request.RetryWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "InvalidGroupNotFound", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeSecurityGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSecurityGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + // WaitUntilSnapshotCompleted uses the Amazon EC2 API operation // DescribeSnapshots to wait for a condition to be met before returning. // If the condition is not met within the max attempt window, an error will diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go b/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go index 384737bcf2ae..c0bb650b5f3d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go @@ -5782,9 +5782,8 @@ type ContainerDefinition struct { // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) // in the Amazon Elastic Container Service Developer Guide. // - // This parameter is available for tasks using the Fargate launch type in the - // Ohio (us-east-2) region only and the task or service requires platform version - // 1.3.0 or later. + // For tasks using the Fargate launch type, the task or service requires platform + // version 1.3.0 or later. DependsOn []*ContainerDependency `locationName:"dependsOn" type:"list"` // When this parameter is true, networking is disabled within the container. @@ -6150,15 +6149,14 @@ type ContainerDefinition struct { // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) // in the Amazon Elastic Container Service Developer Guide. // - // This parameter is available for tasks using the Fargate launch type in the - // Ohio (us-east-2) region only and the task or service requires platform version - // 1.3.0 or later. + // For tasks using the Fargate launch type, the task or service requires platform + // version 1.3.0 or later. StartTimeout *int64 `locationName:"startTimeout" type:"integer"` // Time duration (in seconds) to wait before the container is forcefully killed - // if it doesn't exit normally on its own. For tasks using the Fargate launch - // type, the max stopTimeout value is 2 minutes. This parameter is available - // for tasks using the Fargate launch type in the Ohio (us-east-2) region only + // if it doesn't exit normally on its own. + // + // For tasks using the Fargate launch type, the max stopTimeout value is 2 minutes // and the task or service requires platform version 1.3.0 or later. // // For tasks using the EC2 launch type, the stop timeout value for the container @@ -9412,6 +9410,9 @@ type Failure struct { // The Amazon Resource Name (ARN) of the failed resource. Arn *string `locationName:"arn" type:"string"` + // The details of the failure. + Detail *string `locationName:"detail" type:"string"` + // The reason for the failure. Reason *string `locationName:"reason" type:"string"` } @@ -9432,6 +9433,12 @@ func (s *Failure) SetArn(v string) *Failure { return s } +// SetDetail sets the Detail field's value. +func (s *Failure) SetDetail(v string) *Failure { + s.Detail = &v + return s +} + // SetReason sets the Reason field's value. func (s *Failure) SetReason(v string) *Failure { s.Reason = &v @@ -10062,10 +10069,10 @@ type ListAccountSettingsInput struct { // The resource name you want to list the account settings for. Name *string `locationName:"name" type:"string" enum:"SettingName"` - // The nextToken value returned from a previous paginated ListAccountSettings - // request where maxResults was used and the results exceeded the value of that - // parameter. Pagination continues from the end of the previous results that - // returned the nextToken value. + // The nextToken value returned from a ListAccountSettings request indicating + // that more results are available to fulfill the request and further calls + // will be needed. If maxResults was provided, it is possible the number of + // results to be fewer than maxResults. // // This token should be treated as an opaque identifier that is only used to // retrieve the next items in a list and not for other programmatic purposes. @@ -10185,10 +10192,10 @@ type ListAttributesInput struct { // results and a nextToken value if applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The nextToken value returned from a previous paginated ListAttributes request - // where maxResults was used and the results exceeded the value of that parameter. - // Pagination continues from the end of the previous results that returned the - // nextToken value. + // The nextToken value returned from a ListAttributes request indicating that + // more results are available to fulfill the request and further calls will + // be needed. If maxResults was provided, it is possible the number of results + // to be fewer than maxResults. // // This token should be treated as an opaque identifier that is only used to // retrieve the next items in a list and not for other programmatic purposes. @@ -10306,10 +10313,10 @@ type ListClustersInput struct { // and a nextToken value if applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The nextToken value returned from a previous paginated ListClusters request - // where maxResults was used and the results exceeded the value of that parameter. - // Pagination continues from the end of the previous results that returned the - // nextToken value. + // The nextToken value returned from a ListClusters request indicating that + // more results are available to fulfill the request and further calls will + // be needed. If maxResults was provided, it is possible the number of results + // to be fewer than maxResults. // // This token should be treated as an opaque identifier that is only used to // retrieve the next items in a list and not for other programmatic purposes. @@ -10398,10 +10405,10 @@ type ListContainerInstancesInput struct { // applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The nextToken value returned from a previous paginated ListContainerInstances - // request where maxResults was used and the results exceeded the value of that - // parameter. Pagination continues from the end of the previous results that - // returned the nextToken value. + // The nextToken value returned from a ListContainerInstances request indicating + // that more results are available to fulfill the request and further calls + // will be needed. If maxResults was provided, it is possible the number of + // results to be fewer than maxResults. // // This token should be treated as an opaque identifier that is only used to // retrieve the next items in a list and not for other programmatic purposes. @@ -10511,10 +10518,10 @@ type ListServicesInput struct { // and a nextToken value if applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The nextToken value returned from a previous paginated ListServices request - // where maxResults was used and the results exceeded the value of that parameter. - // Pagination continues from the end of the previous results that returned the - // nextToken value. + // The nextToken value returned from a ListServices request indicating that + // more results are available to fulfill the request and further calls will + // be needed. If maxResults was provided, it is possible the number of results + // to be fewer than maxResults. // // This token should be treated as an opaque identifier that is only used to // retrieve the next items in a list and not for other programmatic purposes. @@ -10681,10 +10688,10 @@ type ListTaskDefinitionFamiliesInput struct { // if applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The nextToken value returned from a previous paginated ListTaskDefinitionFamilies - // request where maxResults was used and the results exceeded the value of that - // parameter. Pagination continues from the end of the previous results that - // returned the nextToken value. + // The nextToken value returned from a ListTaskDefinitionFamilies request indicating + // that more results are available to fulfill the request and further calls + // will be needed. If maxResults was provided, it is possible the number of + // results to be fewer than maxResults. // // This token should be treated as an opaque identifier that is only used to // retrieve the next items in a list and not for other programmatic purposes. @@ -10787,10 +10794,10 @@ type ListTaskDefinitionsInput struct { // returns up to 100 results and a nextToken value if applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The nextToken value returned from a previous paginated ListTaskDefinitions - // request where maxResults was used and the results exceeded the value of that - // parameter. Pagination continues from the end of the previous results that - // returned the nextToken value. + // The nextToken value returned from a ListTaskDefinitions request indicating + // that more results are available to fulfill the request and further calls + // will be needed. If maxResults was provided, it is possible the number of + // results to be fewer than maxResults. // // This token should be treated as an opaque identifier that is only used to // retrieve the next items in a list and not for other programmatic purposes. @@ -10929,10 +10936,10 @@ type ListTasksInput struct { // value if applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The nextToken value returned from a previous paginated ListTasks request - // where maxResults was used and the results exceeded the value of that parameter. - // Pagination continues from the end of the previous results that returned the - // nextToken value. + // The nextToken value returned from a ListTasks request indicating that more + // results are available to fulfill the request and further calls will be needed. + // If maxResults was provided, it is possible the number of results to be fewer + // than maxResults. // // This token should be treated as an opaque identifier that is only used to // retrieve the next items in a list and not for other programmatic purposes. @@ -11137,20 +11144,16 @@ type LogConfiguration struct { // parameter are log drivers that the Amazon ECS container agent can communicate // with by default. // - // For tasks using the Fargate launch type, the supported log drivers are awslogs, - // splunk, and awsfirelens. + // For tasks using the Fargate launch type, the supported log drivers are awslogs + // and splunk. // // For tasks using the EC2 launch type, the supported log drivers are awslogs, - // fluentd, gelf, json-file, journald, logentries, syslog, splunk, and awsfirelens. + // fluentd, gelf, json-file, journald, logentries, syslog, and splunk. // // For more information about using the awslogs log driver, see Using the awslogs // Log Driver (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) // in the Amazon Elastic Container Service Developer Guide. // - // For more information about using the awsfirelens log driver, see Custom Log - // Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) - // in the Amazon Elastic Container Service Developer Guide. - // // If you have a custom driver that is not listed above that you would like // to work with the Amazon ECS container agent, you can fork the Amazon ECS // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent) @@ -12873,6 +12876,9 @@ type RunTaskInput struct { // a task. PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` + // The reference ID to use for the task. + ReferenceId *string `locationName:"referenceId" type:"string"` + // An optional tag specified when a task is started. For example, if you automatically // trigger a task to run a batch process job, you could apply a unique identifier // for that job to your task with the startedBy parameter. You can then identify @@ -13028,6 +13034,12 @@ func (s *RunTaskInput) SetPropagateTags(v string) *RunTaskInput { return s } +// SetReferenceId sets the ReferenceId field's value. +func (s *RunTaskInput) SetReferenceId(v string) *RunTaskInput { + s.ReferenceId = &v + return s +} + // SetStartedBy sets the StartedBy field's value. func (s *RunTaskInput) SetStartedBy(v string) *RunTaskInput { s.StartedBy = &v @@ -13719,6 +13731,9 @@ type StartTaskInput struct { // to the task. If no value is specified, the tags are not propagated. PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` + // The reference ID to use for the task. + ReferenceId *string `locationName:"referenceId" type:"string"` + // An optional tag specified when a task is started. For example, if you automatically // trigger a task to run a batch process job, you could apply a unique identifier // for that job to your task with the startedBy parameter. You can then identify @@ -13853,6 +13868,12 @@ func (s *StartTaskInput) SetPropagateTags(v string) *StartTaskInput { return s } +// SetReferenceId sets the ReferenceId field's value. +func (s *StartTaskInput) SetReferenceId(v string) *StartTaskInput { + s.ReferenceId = &v + return s +} + // SetStartedBy sets the StartedBy field's value. func (s *StartTaskInput) SetStartedBy(v string) *StartTaskInput { s.StartedBy = &v @@ -14549,6 +14570,12 @@ type Task struct { // awsvpc network mode. Attachments []*Attachment `locationName:"attachments" type:"list"` + // The attributes of the task + Attributes []*Attribute `locationName:"attributes" type:"list"` + + // The availability zone of the task. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + // The ARN of the cluster that hosts the task. ClusterArn *string `locationName:"clusterArn" type:"string"` @@ -14759,6 +14786,18 @@ func (s *Task) SetAttachments(v []*Attachment) *Task { return s } +// SetAttributes sets the Attributes field's value. +func (s *Task) SetAttributes(v []*Attribute) *Task { + s.Attributes = v + return s +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *Task) SetAvailabilityZone(v string) *Task { + s.AvailabilityZone = &v + return s +} + // SetClusterArn sets the ClusterArn field's value. func (s *Task) SetClusterArn(v string) *Task { s.ClusterArn = &v @@ -14985,6 +15024,9 @@ type TaskDefinition struct { // ECS gives sequential revision numbers to each task definition that you add. Family *string `locationName:"family" type:"string"` + // The Elastic Inference accelerator associated with the task. + InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` + // The IPC resource namespace to use for the containers in the task. The valid // values are host, task, or none. If host is specified, then all containers // within the tasks that specified the host IPC mode on the same container instance @@ -15197,6 +15239,12 @@ func (s *TaskDefinition) SetFamily(v string) *TaskDefinition { return s } +// SetInferenceAccelerators sets the InferenceAccelerators field's value. +func (s *TaskDefinition) SetInferenceAccelerators(v []*InferenceAccelerator) *TaskDefinition { + s.InferenceAccelerators = v + return s +} + // SetIpcMode sets the IpcMode field's value. func (s *TaskDefinition) SetIpcMode(v string) *TaskDefinition { s.IpcMode = &v @@ -15323,6 +15371,9 @@ type TaskOverride struct { // One or more container overrides sent to a task. ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` + // The cpu override for the task. + Cpu *string `locationName:"cpu" type:"string"` + // The Amazon Resource Name (ARN) of the task execution role that the Amazon // ECS container agent and the Docker daemon can assume. ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` @@ -15330,6 +15381,9 @@ type TaskOverride struct { // The Elastic Inference accelerator override for the task. InferenceAcceleratorOverrides []*InferenceAcceleratorOverride `locationName:"inferenceAcceleratorOverrides" type:"list"` + // The memory override for the task. + Memory *string `locationName:"memory" type:"string"` + // The Amazon Resource Name (ARN) of the IAM role that containers in this task // can assume. All containers in this task are granted the permissions that // are specified in this role. @@ -15372,6 +15426,12 @@ func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverri return s } +// SetCpu sets the Cpu field's value. +func (s *TaskOverride) SetCpu(v string) *TaskOverride { + s.Cpu = &v + return s +} + // SetExecutionRoleArn sets the ExecutionRoleArn field's value. func (s *TaskOverride) SetExecutionRoleArn(v string) *TaskOverride { s.ExecutionRoleArn = &v @@ -15384,6 +15444,12 @@ func (s *TaskOverride) SetInferenceAcceleratorOverrides(v []*InferenceAccelerato return s } +// SetMemory sets the Memory field's value. +func (s *TaskOverride) SetMemory(v string) *TaskOverride { + s.Memory = &v + return s +} + // SetTaskRoleArn sets the TaskRoleArn field's value. func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride { s.TaskRoleArn = &v 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 10febdf4a228..2e2c18c04bd5 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 @@ -3370,11 +3370,12 @@ func (c *ELBV2) SetSubnetsRequest(input *SetSubnetsInput) (req *request.Request, // SetSubnets API operation for Elastic Load Balancing. // -// Enables the Availability Zone for the specified public subnets for the specified -// Application Load Balancer. The specified subnets replace the previously enabled -// subnets. +// Enables the Availability Zones for the specified public subnets for the specified +// load balancer. The specified subnets replace the previously enabled subnets. // -// You can't change the subnets for a Network Load Balancer. +// When you specify subnets for a Network Load Balancer, you must include all +// subnets that were enabled previously, with their existing configurations, +// plus any additional subnets. // // 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 @@ -4031,7 +4032,8 @@ type AvailabilityZone struct { // [Network Load Balancers] If you need static IP addresses for your load balancer, // you can specify one Elastic IP address per Availability Zone when you create - // the load balancer. + // an internal-facing load balancer. For internal load balancers, you can specify + // a private IP address from the IPv4 range of the subnet. LoadBalancerAddresses []*LoadBalancerAddress `type:"list"` // The ID of the subnet. You can specify one subnet per Availability Zone. @@ -4341,7 +4343,9 @@ type CreateLoadBalancerInput struct { // // [Network Load Balancers] You can specify subnets from one or more Availability // Zones. You can specify one Elastic IP address per subnet if you need static - // IP addresses for your load balancer. + // IP addresses for your internet-facing load balancer. For internal load balancers, + // you can specify one private IP address per subnet from the IPv4 range of + // the subnet. SubnetMappings []*SubnetMapping `type:"list"` // The IDs of the public subnets. You can specify only one subnet per Availability @@ -6546,11 +6550,15 @@ func (s *LoadBalancer) SetVpcId(v string) *LoadBalancer { type LoadBalancerAddress struct { _ struct{} `type:"structure"` - // [Network Load Balancers] The allocation ID of the Elastic IP address. + // [Network Load Balancers] The allocation ID of the Elastic IP address for + // an internal-facing load balancer. AllocationId *string `type:"string"` // The static IP address. IpAddress *string `type:"string"` + + // [Network Load Balancers] The private IPv4 address for an internal load balancer. + PrivateIPv4Address *string `type:"string"` } // String returns the string representation @@ -6575,6 +6583,12 @@ func (s *LoadBalancerAddress) SetIpAddress(v string) *LoadBalancerAddress { return s } +// SetPrivateIPv4Address sets the PrivateIPv4Address field's value. +func (s *LoadBalancerAddress) SetPrivateIPv4Address(v string) *LoadBalancerAddress { + s.PrivateIPv4Address = &v + return s +} + // Information about a load balancer attribute. type LoadBalancerAttribute struct { _ struct{} `type:"structure"` @@ -8208,11 +8222,17 @@ type SetSubnetsInput struct { // LoadBalancerArn is a required field LoadBalancerArn *string `type:"string" required:"true"` - // The IDs of the public subnets. You must specify subnets from at least two - // Availability Zones. You can specify only one subnet per Availability Zone. - // You must specify either subnets or subnet mappings. + // The IDs of the public subnets. You can specify only one subnet per Availability + // Zone. You must specify either subnets or subnet mappings. // - // You cannot specify Elastic IP addresses for your subnets. + // [Application Load Balancers] You must specify subnets from at least two Availability + // Zones. You cannot specify Elastic IP addresses for your subnets. + // + // [Network Load Balancers] You can specify subnets from one or more Availability + // Zones. If you need static IP addresses for your internet-facing load balancer, + // you can specify one Elastic IP address per subnet. For internal load balancers, + // you can specify one private IP address per subnet from the IPv4 range of + // the subnet. SubnetMappings []*SubnetMapping `type:"list"` // The IDs of the public subnets. You must specify subnets from at least two @@ -8365,9 +8385,13 @@ func (s *SslPolicy) SetSslProtocols(v []*string) *SslPolicy { type SubnetMapping struct { _ struct{} `type:"structure"` - // [Network Load Balancers] The allocation ID of the Elastic IP address. + // [Network Load Balancers] The allocation ID of the Elastic IP address for + // an internet-facing load balancer. AllocationId *string `type:"string"` + // [Network Load Balancers] The private IPv4 address for an internal load balancer. + PrivateIPv4Address *string `type:"string"` + // The ID of the subnet. SubnetId *string `type:"string"` } @@ -8388,6 +8412,12 @@ func (s *SubnetMapping) SetAllocationId(v string) *SubnetMapping { return s } +// SetPrivateIPv4Address sets the PrivateIPv4Address field's value. +func (s *SubnetMapping) SetPrivateIPv4Address(v string) *SubnetMapping { + s.PrivateIPv4Address = &v + return s +} + // SetSubnetId sets the SubnetId field's value. func (s *SubnetMapping) SetSubnetId(v string) *SubnetMapping { s.SubnetId = &v @@ -8742,6 +8772,10 @@ type TargetGroupAttribute struct { // The following attributes are supported by Application Load Balancers if the // target is not a Lambda function: // + // * 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 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 0cdbb18587a0..a63628523b21 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 @@ -2054,6 +2054,90 @@ func (c *EMR) ListStepsPagesWithContext(ctx aws.Context, input *ListStepsInput, return p.Err() } +const opModifyCluster = "ModifyCluster" + +// ModifyClusterRequest generates a "aws/request.Request" representing the +// client's request for the ModifyCluster 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 ModifyCluster for more information on using the ModifyCluster +// 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 ModifyClusterRequest method. +// req, resp := client.ModifyClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyCluster +func (c *EMR) ModifyClusterRequest(input *ModifyClusterInput) (req *request.Request, output *ModifyClusterOutput) { + op := &request.Operation{ + Name: opModifyCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyClusterInput{} + } + + output = &ModifyClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyCluster API operation for Amazon Elastic MapReduce. +// +// Modifies the number of steps that can be executed concurrently for the cluster +// specified using ClusterID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic MapReduce's +// API operation ModifyCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServerError "InternalServerError" +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyCluster +func (c *EMR) ModifyCluster(input *ModifyClusterInput) (*ModifyClusterOutput, error) { + req, out := c.ModifyClusterRequest(input) + return out, req.Send() +} + +// ModifyClusterWithContext is the same as ModifyCluster with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyCluster for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EMR) ModifyClusterWithContext(ctx aws.Context, input *ModifyClusterInput, opts ...request.Option) (*ModifyClusterOutput, error) { + req, out := c.ModifyClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyInstanceFleet = "ModifyInstanceFleet" // ModifyInstanceFleetRequest generates a "aws/request.Request" representing the @@ -3790,11 +3874,19 @@ type CancelStepsInput struct { // The ClusterID for which specified steps will be canceled. Use RunJobFlow // and ListClusters to get ClusterIDs. - ClusterId *string `type:"string"` + // + // ClusterId is a required field + ClusterId *string `type:"string" required:"true"` + + // The option to choose for cancelling RUNNING steps. By default, the value + // is SEND_INTERRUPT. + StepCancellationOption *string `type:"string" enum:"StepCancellationOption"` // The list of StepIDs to cancel. Use ListSteps to get steps and their states // for the specified cluster. - StepIds []*string `type:"list"` + // + // StepIds is a required field + StepIds []*string `type:"list" required:"true"` } // String returns the string representation @@ -3807,12 +3899,34 @@ func (s CancelStepsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelStepsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelStepsInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + if s.StepIds == nil { + invalidParams.Add(request.NewErrParamRequired("StepIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetClusterId sets the ClusterId field's value. func (s *CancelStepsInput) SetClusterId(v string) *CancelStepsInput { s.ClusterId = &v return s } +// SetStepCancellationOption sets the StepCancellationOption field's value. +func (s *CancelStepsInput) SetStepCancellationOption(v string) *CancelStepsInput { + s.StepCancellationOption = &v + return s +} + // SetStepIds sets the StepIds field's value. func (s *CancelStepsInput) SetStepIds(v []*string) *CancelStepsInput { s.StepIds = v @@ -4050,6 +4164,9 @@ type Cluster struct { // the actual billing rate. NormalizedInstanceHours *int64 `type:"integer"` + // The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. + OutpostArn *string `type:"string"` + // The Amazon EMR release label, which determines the version of open-source // application packages installed on the cluster. Release labels are in the // form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. @@ -4095,6 +4212,9 @@ type Cluster struct { // The current status details about the cluster. Status *ClusterStatus `type:"structure"` + // Specifies the number of steps that can be executed concurrently. + StepConcurrencyLevel *int64 `type:"integer"` + // A list of tags associated with a cluster. Tags []*Tag `type:"list"` @@ -4214,6 +4334,12 @@ func (s *Cluster) SetNormalizedInstanceHours(v int64) *Cluster { return s } +// SetOutpostArn sets the OutpostArn field's value. +func (s *Cluster) SetOutpostArn(v string) *Cluster { + s.OutpostArn = &v + return s +} + // SetReleaseLabel sets the ReleaseLabel field's value. func (s *Cluster) SetReleaseLabel(v string) *Cluster { s.ReleaseLabel = &v @@ -4262,6 +4388,12 @@ func (s *Cluster) SetStatus(v *ClusterStatus) *Cluster { return s } +// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. +func (s *Cluster) SetStepConcurrencyLevel(v int64) *Cluster { + s.StepConcurrencyLevel = &v + return s +} + // SetTags sets the Tags field's value. func (s *Cluster) SetTags(v []*Tag) *Cluster { s.Tags = v @@ -4377,6 +4509,9 @@ type ClusterSummary struct { // the actual billing rate. NormalizedInstanceHours *int64 `type:"integer"` + // The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. + OutpostArn *string `type:"string"` + // The details about the current status of the cluster. Status *ClusterStatus `type:"structure"` } @@ -4415,6 +4550,12 @@ func (s *ClusterSummary) SetNormalizedInstanceHours(v int64) *ClusterSummary { return s } +// SetOutpostArn sets the OutpostArn field's value. +func (s *ClusterSummary) SetOutpostArn(v string) *ClusterSummary { + s.OutpostArn = &v + return s +} + // SetStatus sets the Status field's value. func (s *ClusterSummary) SetStatus(v *ClusterStatus) *ClusterSummary { s.Status = v @@ -8655,6 +8796,77 @@ func (s *MetricDimension) SetValue(v string) *MetricDimension { return s } +type ModifyClusterInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the cluster. + // + // ClusterId is a required field + ClusterId *string `type:"string" required:"true"` + + // The number of steps that can be executed concurrently. You can specify a + // maximum of 256 steps. + StepConcurrencyLevel *int64 `type:"integer"` +} + +// String returns the string representation +func (s ModifyClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyClusterInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterId sets the ClusterId field's value. +func (s *ModifyClusterInput) SetClusterId(v string) *ModifyClusterInput { + s.ClusterId = &v + return s +} + +// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. +func (s *ModifyClusterInput) SetStepConcurrencyLevel(v int64) *ModifyClusterInput { + s.StepConcurrencyLevel = &v + return s +} + +type ModifyClusterOutput struct { + _ struct{} `type:"structure"` + + // The number of steps that can be executed concurrently. + StepConcurrencyLevel *int64 `type:"integer"` +} + +// String returns the string representation +func (s ModifyClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyClusterOutput) GoString() string { + return s.String() +} + +// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. +func (s *ModifyClusterOutput) SetStepConcurrencyLevel(v int64) *ModifyClusterOutput { + s.StepConcurrencyLevel = &v + return s +} + type ModifyInstanceFleetInput struct { _ struct{} `type:"structure"` @@ -9349,6 +9561,10 @@ type RunJobFlowInput struct { // resources on your behalf. ServiceRole *string `type:"string"` + // Specifies the number of steps that can be executed concurrently. The default + // value is 1. The maximum value is 256. + StepConcurrencyLevel *int64 `type:"integer"` + // A list of steps to run. Steps []*StepConfig `type:"list"` @@ -9545,6 +9761,12 @@ func (s *RunJobFlowInput) SetServiceRole(v string) *RunJobFlowInput { return s } +// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. +func (s *RunJobFlowInput) SetStepConcurrencyLevel(v int64) *RunJobFlowInput { + s.StepConcurrencyLevel = &v + return s +} + // SetSteps sets the Steps field's value. func (s *RunJobFlowInput) SetSteps(v []*StepConfig) *RunJobFlowInput { s.Steps = v @@ -11245,6 +11467,14 @@ const ( StatisticMaximum = "MAXIMUM" ) +const ( + // StepCancellationOptionSendInterrupt is a StepCancellationOption enum value + StepCancellationOptionSendInterrupt = "SEND_INTERRUPT" + + // StepCancellationOptionTerminateProcess is a StepCancellationOption enum value + StepCancellationOptionTerminateProcess = "TERMINATE_PROCESS" +) + const ( // StepExecutionStatePending is a StepExecutionState enum value StepExecutionStatePending = "PENDING" diff --git a/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go b/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go index e5afc32e61a8..93c9f7507207 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go @@ -63,9 +63,14 @@ func (c *Firehose) CreateDeliveryStreamRequest(input *CreateDeliveryStreamInput) // // This is an asynchronous operation that immediately returns. The initial status // of the delivery stream is CREATING. After the delivery stream is created, -// its status is ACTIVE and it now accepts data. Attempts to send data to a -// delivery stream that is not in the ACTIVE state cause an exception. To check -// the state of a delivery stream, use DescribeDeliveryStream. +// its status is ACTIVE and it now accepts data. If the delivery stream creation +// fails, the status transitions to CREATING_FAILED. Attempts to send data to +// a delivery stream that is not in the ACTIVE state cause an exception. To +// check the state of a delivery stream, use DescribeDeliveryStream. +// +// If the status of a delivery stream is CREATING_FAILED, this status doesn't +// change, and you can't invoke CreateDeliveryStream again on it. However, you +// can invoke the DeleteDeliveryStream operation to delete it. // // A Kinesis Data Firehose delivery stream can be configured to receive records // directly from providers using PutRecord or PutRecordBatch, or it can be configured @@ -74,6 +79,11 @@ func (c *Firehose) CreateDeliveryStreamRequest(input *CreateDeliveryStreamInput) // and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in // the KinesisStreamSourceConfiguration parameter. // +// To create a delivery stream with server-side encryption (SSE) enabled, include +// DeliveryStreamEncryptionConfigurationInput in your request. This is optional. +// You can also invoke StartDeliveryStreamEncryption to turn on SSE for an existing +// delivery stream that doesn't have SSE enabled. +// // A delivery stream is configured with a single destination: Amazon S3, Amazon // ES, Amazon Redshift, or Splunk. You must specify only one of the following // destination configuration parameters: ExtendedS3DestinationConfiguration, @@ -129,6 +139,12 @@ func (c *Firehose) CreateDeliveryStreamRequest(input *CreateDeliveryStreamInput) // * ErrCodeResourceInUseException "ResourceInUseException" // The resource is already in use and not available for this operation. // +// * ErrCodeInvalidKMSResourceException "InvalidKMSResourceException" +// Kinesis Data Firehose throws this exception when an attempt to put records +// or to start or stop delivery stream encryption fails. This happens when the +// KMS service throws one of the following exception types: AccessDeniedException, +// InvalidStateException, DisabledException, or NotFoundException. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/CreateDeliveryStream func (c *Firehose) CreateDeliveryStream(input *CreateDeliveryStreamInput) (*CreateDeliveryStreamOutput, error) { req, out := c.CreateDeliveryStreamRequest(input) @@ -198,16 +214,16 @@ func (c *Firehose) DeleteDeliveryStreamRequest(input *DeleteDeliveryStreamInput) // // Deletes a delivery stream and its data. // -// You can delete a delivery stream only if it is in ACTIVE or DELETING state, -// and not in the CREATING state. While the deletion request is in process, -// the delivery stream is in the DELETING state. -// -// To check the state of a delivery stream, use DescribeDeliveryStream. +// To check the state of a delivery stream, use DescribeDeliveryStream. You +// can delete a delivery stream only if it is in one of the following states: +// ACTIVE, DELETING, CREATING_FAILED, or DELETING_FAILED. You can't delete a +// delivery stream that is in the CREATING state. While the deletion request +// is in process, the delivery stream is in the DELETING state. // -// While the delivery stream is DELETING state, the service might continue to -// accept the records, but it doesn't make any guarantees with respect to delivering -// the data. Therefore, as a best practice, you should first stop any applications -// that are sending records before deleting a delivery stream. +// While the delivery stream is in the DELETING state, the service might continue +// to accept records, but it doesn't make any guarantees with respect to delivering +// the data. Therefore, as a best practice, first stop any applications that +// are sending records before you delete a delivery stream. // // 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 @@ -289,10 +305,16 @@ func (c *Firehose) DescribeDeliveryStreamRequest(input *DescribeDeliveryStreamIn // DescribeDeliveryStream API operation for Amazon Kinesis Firehose. // -// Describes the specified delivery stream and gets the status. For example, -// after your delivery stream is created, call DescribeDeliveryStream to see -// whether the delivery stream is ACTIVE and therefore ready for data to be -// sent to it. +// Describes the specified delivery stream and its status. For example, after +// your delivery stream is created, call DescribeDeliveryStream to see whether +// the delivery stream is ACTIVE and therefore ready for data to be sent to +// it. +// +// If the status of a delivery stream is CREATING_FAILED, this status doesn't +// change, and you can't invoke CreateDeliveryStream again on it. However, you +// can invoke the DeleteDeliveryStream operation to delete it. If the status +// is DELETING_FAILED, you can force deletion by invoking DeleteDeliveryStream +// again but with DeleteDeliveryStreamInput$AllowForceDelete set to true. // // 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 @@ -591,6 +613,12 @@ func (c *Firehose) PutRecordRequest(input *PutRecordInput) (req *request.Request // * ErrCodeInvalidArgumentException "InvalidArgumentException" // The specified input parameter has a value that is not valid. // +// * ErrCodeInvalidKMSResourceException "InvalidKMSResourceException" +// Kinesis Data Firehose throws this exception when an attempt to put records +// or to start or stop delivery stream encryption fails. This happens when the +// KMS service throws one of the following exception types: AccessDeniedException, +// InvalidStateException, DisabledException, or NotFoundException. +// // * ErrCodeServiceUnavailableException "ServiceUnavailableException" // The service is unavailable. Back off and retry the operation. If you continue // to see the exception, throughput limits for the delivery stream may have @@ -741,6 +769,12 @@ func (c *Firehose) PutRecordBatchRequest(input *PutRecordBatchInput) (req *reque // * ErrCodeInvalidArgumentException "InvalidArgumentException" // The specified input parameter has a value that is not valid. // +// * ErrCodeInvalidKMSResourceException "InvalidKMSResourceException" +// Kinesis Data Firehose throws this exception when an attempt to put records +// or to start or stop delivery stream encryption fails. This happens when the +// KMS service throws one of the following exception types: AccessDeniedException, +// InvalidStateException, DisabledException, or NotFoundException. +// // * ErrCodeServiceUnavailableException "ServiceUnavailableException" // The service is unavailable. Back off and retry the operation. If you continue // to see the exception, throughput limits for the delivery stream may have @@ -817,15 +851,32 @@ func (c *Firehose) StartDeliveryStreamEncryptionRequest(input *StartDeliveryStre // Enables server-side encryption (SSE) for the delivery stream. // // This operation is asynchronous. It returns immediately. When you invoke it, -// Kinesis Data Firehose first sets the status of the stream to ENABLING, and -// then to ENABLED. You can continue to read and write data to your stream while -// its status is ENABLING, but the data is not encrypted. It can take up to -// 5 seconds after the encryption status changes to ENABLED before all records -// written to the delivery stream are encrypted. To find out whether a record -// or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted -// and PutRecordBatchOutput$Encrypted, respectively. -// -// To check the encryption state of a delivery stream, use DescribeDeliveryStream. +// Kinesis Data Firehose first sets the encryption status of the stream to ENABLING, +// and then to ENABLED. The encryption status of a delivery stream is the Status +// property in DeliveryStreamEncryptionConfiguration. If the operation fails, +// the encryption status changes to ENABLING_FAILED. You can continue to read +// and write data to your delivery stream while the encryption status is ENABLING, +// but the data is not encrypted. It can take up to 5 seconds after the encryption +// status changes to ENABLED before all records written to the delivery stream +// are encrypted. To find out whether a record or a batch of records was encrypted, +// check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, +// respectively. +// +// To check the encryption status of a delivery stream, use DescribeDeliveryStream. +// +// Even if encryption is currently enabled for a delivery stream, you can still +// invoke this operation on it to change the ARN of the CMK or both its type +// and ARN. In this case, Kinesis Data Firehose schedules the grant it had on +// the old CMK for retirement and creates a grant that enables it to use the +// new CMK to encrypt and decrypt data and to manage the grant. +// +// If a delivery stream already has encryption enabled and then you invoke this +// operation to change the ARN of the CMK or both its type and ARN and you get +// ENABLING_FAILED, this only means that the attempt to change the CMK failed. +// In this case, encryption remains enabled with the old CMK. +// +// If the encryption status of your delivery stream is ENABLING_FAILED, you +// can invoke this operation again. // // You can only enable SSE for a delivery stream that uses DirectPut as its // source. @@ -856,6 +907,12 @@ func (c *Firehose) StartDeliveryStreamEncryptionRequest(input *StartDeliveryStre // * ErrCodeLimitExceededException "LimitExceededException" // You have already reached the limit for a requested resource. // +// * ErrCodeInvalidKMSResourceException "InvalidKMSResourceException" +// Kinesis Data Firehose throws this exception when an attempt to put records +// or to start or stop delivery stream encryption fails. This happens when the +// KMS service throws one of the following exception types: AccessDeniedException, +// InvalidStateException, DisabledException, or NotFoundException. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/StartDeliveryStreamEncryption func (c *Firehose) StartDeliveryStreamEncryption(input *StartDeliveryStreamEncryptionInput) (*StartDeliveryStreamEncryptionOutput, error) { req, out := c.StartDeliveryStreamEncryptionRequest(input) @@ -926,8 +983,8 @@ func (c *Firehose) StopDeliveryStreamEncryptionRequest(input *StopDeliveryStream // Disables server-side encryption (SSE) for the delivery stream. // // This operation is asynchronous. It returns immediately. When you invoke it, -// Kinesis Data Firehose first sets the status of the stream to DISABLING, and -// then to DISABLED. You can continue to read and write data to your stream +// Kinesis Data Firehose first sets the encryption status of the stream to DISABLING, +// and then to DISABLED. You can continue to read and write data to your stream // while its status is DISABLING. It can take up to 5 seconds after the encryption // status changes to DISABLED before all records written to the delivery stream // are no longer subject to encryption. To find out whether a record or a batch @@ -936,6 +993,11 @@ func (c *Firehose) StopDeliveryStreamEncryptionRequest(input *StopDeliveryStream // // To check the encryption state of a delivery stream, use DescribeDeliveryStream. // +// If SSE is enabled using a customer managed CMK and then you invoke StopDeliveryStreamEncryption, +// Kinesis Data Firehose schedules the related KMS grant for retirement and +// then retires it after it ensures that it is finished delivering records to +// the destination. +// // The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations // have a combined limit of 25 calls per delivery stream per 24 hours. For example, // you reach the limit if you call StartDeliveryStreamEncryption 13 times and @@ -1487,6 +1549,10 @@ func (s *CopyCommand) SetDataTableName(v string) *CopyCommand { type CreateDeliveryStreamInput struct { _ struct{} `type:"structure"` + // Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed + // for Server-Side Encryption (SSE). + DeliveryStreamEncryptionConfigurationInput *DeliveryStreamEncryptionConfigurationInput `type:"structure"` + // The name of the delivery stream. This name must be unique per AWS account // in the same AWS Region. If the delivery streams are in different accounts // or different Regions, you can have multiple delivery streams with the same @@ -1558,6 +1624,11 @@ func (s *CreateDeliveryStreamInput) Validate() error { if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.DeliveryStreamEncryptionConfigurationInput != nil { + if err := s.DeliveryStreamEncryptionConfigurationInput.Validate(); err != nil { + invalidParams.AddNested("DeliveryStreamEncryptionConfigurationInput", err.(request.ErrInvalidParams)) + } + } if s.ElasticsearchDestinationConfiguration != nil { if err := s.ElasticsearchDestinationConfiguration.Validate(); err != nil { invalidParams.AddNested("ElasticsearchDestinationConfiguration", err.(request.ErrInvalidParams)) @@ -1605,6 +1676,12 @@ func (s *CreateDeliveryStreamInput) Validate() error { return nil } +// SetDeliveryStreamEncryptionConfigurationInput sets the DeliveryStreamEncryptionConfigurationInput field's value. +func (s *CreateDeliveryStreamInput) SetDeliveryStreamEncryptionConfigurationInput(v *DeliveryStreamEncryptionConfigurationInput) *CreateDeliveryStreamInput { + s.DeliveryStreamEncryptionConfigurationInput = v + return s +} + // SetDeliveryStreamName sets the DeliveryStreamName field's value. func (s *CreateDeliveryStreamInput) SetDeliveryStreamName(v string) *CreateDeliveryStreamInput { s.DeliveryStreamName = &v @@ -1759,6 +1836,18 @@ func (s *DataFormatConversionConfiguration) SetSchemaConfiguration(v *SchemaConf type DeleteDeliveryStreamInput struct { _ struct{} `type:"structure"` + // Set this to true if you want to delete the delivery stream even if Kinesis + // Data Firehose is unable to retire the grant for the CMK. Kinesis Data Firehose + // might be unable to retire the grant due to a customer error, such as when + // the CMK or the grant are in an invalid state. If you force deletion, you + // can then use the RevokeGrant (https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html) + // operation to revoke the grant you gave to Kinesis Data Firehose. If a failure + // to retire the grant happens due to an AWS KMS issue, Kinesis Data Firehose + // keeps retrying the delete operation. + // + // The default value is false. + AllowForceDelete *bool `type:"boolean"` + // The name of the delivery stream. // // DeliveryStreamName is a required field @@ -1791,6 +1880,12 @@ func (s *DeleteDeliveryStreamInput) Validate() error { return nil } +// SetAllowForceDelete sets the AllowForceDelete field's value. +func (s *DeleteDeliveryStreamInput) SetAllowForceDelete(v bool) *DeleteDeliveryStreamInput { + s.AllowForceDelete = &v + return s +} + // SetDeliveryStreamName sets the DeliveryStreamName field's value. func (s *DeleteDeliveryStreamInput) SetDeliveryStreamName(v string) *DeleteDeliveryStreamInput { s.DeliveryStreamName = &v @@ -1832,7 +1927,10 @@ type DeliveryStreamDescription struct { // DeliveryStreamName is a required field DeliveryStreamName *string `min:"1" type:"string" required:"true"` - // The status of the delivery stream. + // The status of the delivery stream. If the status of a delivery stream is + // CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream + // again on it. However, you can invoke the DeleteDeliveryStream operation to + // delete it. // // DeliveryStreamStatus is a required field DeliveryStreamStatus *string `type:"string" required:"true" enum:"DeliveryStreamStatus"` @@ -1852,6 +1950,11 @@ type DeliveryStreamDescription struct { // Destinations is a required field Destinations []*DestinationDescription `type:"list" required:"true"` + // Provides details in case one of the following operations fails due to an + // error related to KMS: CreateDeliveryStream, DeleteDeliveryStream, StartDeliveryStreamEncryption, + // StopDeliveryStreamEncryption. + FailureDescription *FailureDescription `type:"structure"` + // Indicates whether there are more destinations available to list. // // HasMoreDestinations is a required field @@ -1925,6 +2028,12 @@ func (s *DeliveryStreamDescription) SetDestinations(v []*DestinationDescription) return s } +// SetFailureDescription sets the FailureDescription field's value. +func (s *DeliveryStreamDescription) SetFailureDescription(v *FailureDescription) *DeliveryStreamDescription { + s.FailureDescription = v + return s +} + // SetHasMoreDestinations sets the HasMoreDestinations field's value. func (s *DeliveryStreamDescription) SetHasMoreDestinations(v bool) *DeliveryStreamDescription { s.HasMoreDestinations = &v @@ -1949,12 +2058,32 @@ func (s *DeliveryStreamDescription) SetVersionId(v string) *DeliveryStreamDescri return s } -// Indicates the server-side encryption (SSE) status for the delivery stream. +// Contains information about the server-side encryption (SSE) status for the +// delivery stream, the type customer master key (CMK) in use, if any, and the +// ARN of the CMK. You can get DeliveryStreamEncryptionConfiguration by invoking +// the DescribeDeliveryStream operation. type DeliveryStreamEncryptionConfiguration struct { _ struct{} `type:"structure"` + // Provides details in case one of the following operations fails due to an + // error related to KMS: CreateDeliveryStream, DeleteDeliveryStream, StartDeliveryStreamEncryption, + // StopDeliveryStreamEncryption. + FailureDescription *FailureDescription `type:"structure"` + + // If KeyType is CUSTOMER_MANAGED_CMK, this field contains the ARN of the customer + // managed CMK. If KeyType is AWS_OWNED_CMK, DeliveryStreamEncryptionConfiguration + // doesn't contain a value for KeyARN. + KeyARN *string `min:"1" type:"string"` + + // Indicates the type of customer master key (CMK) that is used for encryption. + // The default setting is AWS_OWNED_CMK. For more information about CMKs, see + // Customer Master Keys (CMKs) (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). + KeyType *string `type:"string" enum:"KeyType"` + + // This is the server-side encryption (SSE) status for the delivery stream. // For a full description of the different values of this status, see StartDeliveryStreamEncryption - // and StopDeliveryStreamEncryption. + // and StopDeliveryStreamEncryption. If this status is ENABLING_FAILED or DISABLING_FAILED, + // it is the status of the most recent attempt to enable or disable SSE, respectively. Status *string `type:"string" enum:"DeliveryStreamEncryptionStatus"` } @@ -1968,12 +2097,96 @@ func (s DeliveryStreamEncryptionConfiguration) GoString() string { return s.String() } +// SetFailureDescription sets the FailureDescription field's value. +func (s *DeliveryStreamEncryptionConfiguration) SetFailureDescription(v *FailureDescription) *DeliveryStreamEncryptionConfiguration { + s.FailureDescription = v + return s +} + +// SetKeyARN sets the KeyARN field's value. +func (s *DeliveryStreamEncryptionConfiguration) SetKeyARN(v string) *DeliveryStreamEncryptionConfiguration { + s.KeyARN = &v + return s +} + +// SetKeyType sets the KeyType field's value. +func (s *DeliveryStreamEncryptionConfiguration) SetKeyType(v string) *DeliveryStreamEncryptionConfiguration { + s.KeyType = &v + return s +} + // SetStatus sets the Status field's value. func (s *DeliveryStreamEncryptionConfiguration) SetStatus(v string) *DeliveryStreamEncryptionConfiguration { s.Status = &v return s } +// Used to specify the type and Amazon Resource Name (ARN) of the CMK needed +// for Server-Side Encryption (SSE). +type DeliveryStreamEncryptionConfigurationInput struct { + _ struct{} `type:"structure"` + + // If you set KeyType to CUSTOMER_MANAGED_CMK, you must specify the Amazon Resource + // Name (ARN) of the CMK. If you set KeyType to AWS_OWNED_CMK, Kinesis Data + // Firehose uses a service-account CMK. + KeyARN *string `min:"1" type:"string"` + + // Indicates the type of customer master key (CMK) to use for encryption. The + // default setting is AWS_OWNED_CMK. For more information about CMKs, see Customer + // Master Keys (CMKs) (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). + // When you invoke CreateDeliveryStream or StartDeliveryStreamEncryption with + // KeyType set to CUSTOMER_MANAGED_CMK, Kinesis Data Firehose invokes the Amazon + // KMS operation CreateGrant (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) + // to create a grant that allows the Kinesis Data Firehose service to use the + // customer managed CMK to perform encryption and decryption. Kinesis Data Firehose + // manages that grant. + // + // When you invoke StartDeliveryStreamEncryption to change the CMK for a delivery + // stream that is already encrypted with a customer managed CMK, Kinesis Data + // Firehose schedules the grant it had on the old CMK for retirement. + // + // KeyType is a required field + KeyType *string `type:"string" required:"true" enum:"KeyType"` +} + +// String returns the string representation +func (s DeliveryStreamEncryptionConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeliveryStreamEncryptionConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeliveryStreamEncryptionConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeliveryStreamEncryptionConfigurationInput"} + if s.KeyARN != nil && len(*s.KeyARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyARN", 1)) + } + if s.KeyType == nil { + invalidParams.Add(request.NewErrParamRequired("KeyType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyARN sets the KeyARN field's value. +func (s *DeliveryStreamEncryptionConfigurationInput) SetKeyARN(v string) *DeliveryStreamEncryptionConfigurationInput { + s.KeyARN = &v + return s +} + +// SetKeyType sets the KeyType field's value. +func (s *DeliveryStreamEncryptionConfigurationInput) SetKeyType(v string) *DeliveryStreamEncryptionConfigurationInput { + s.KeyType = &v + return s +} + type DescribeDeliveryStreamInput struct { _ struct{} `type:"structure"` @@ -3320,6 +3533,45 @@ func (s *ExtendedS3DestinationUpdate) SetS3BackupUpdate(v *S3DestinationUpdate) return s } +// Provides details in case one of the following operations fails due to an +// error related to KMS: CreateDeliveryStream, DeleteDeliveryStream, StartDeliveryStreamEncryption, +// StopDeliveryStreamEncryption. +type FailureDescription struct { + _ struct{} `type:"structure"` + + // A message providing details about the error that caused the failure. + // + // Details is a required field + Details *string `type:"string" required:"true"` + + // The type of error that caused the failure. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"DeliveryStreamFailureType"` +} + +// String returns the string representation +func (s FailureDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FailureDescription) GoString() string { + return s.String() +} + +// SetDetails sets the Details field's value. +func (s *FailureDescription) SetDetails(v string) *FailureDescription { + s.Details = &v + return s +} + +// SetType sets the Type field's value. +func (s *FailureDescription) SetType(v string) *FailureDescription { + s.Type = &v + return s +} + // The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing // data, which means converting it from the JSON format in preparation for serializing // it to the Parquet or ORC format. This is one of two deserializers you can @@ -4006,7 +4258,7 @@ type ParquetSerDe struct { // The compression code to use over data blocks. The possible values are UNCOMPRESSED, // SNAPPY, and GZIP, with the default being SNAPPY. Use SNAPPY for higher decompression - // speed. Use GZIP if the compression ration is more important than speed. + // speed. Use GZIP if the compression ratio is more important than speed. Compression *string `type:"string" enum:"ParquetCompression"` // Indicates whether to enable dictionary compression. @@ -5996,6 +6248,10 @@ func (s *SplunkRetryOptions) SetDurationInSeconds(v int64) *SplunkRetryOptions { type StartDeliveryStreamEncryptionInput struct { _ struct{} `type:"structure"` + // Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed + // for Server-Side Encryption (SSE). + DeliveryStreamEncryptionConfigurationInput *DeliveryStreamEncryptionConfigurationInput `type:"structure"` + // The name of the delivery stream for which you want to enable server-side // encryption (SSE). // @@ -6022,6 +6278,11 @@ func (s *StartDeliveryStreamEncryptionInput) Validate() error { if s.DeliveryStreamName != nil && len(*s.DeliveryStreamName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DeliveryStreamName", 1)) } + if s.DeliveryStreamEncryptionConfigurationInput != nil { + if err := s.DeliveryStreamEncryptionConfigurationInput.Validate(); err != nil { + invalidParams.AddNested("DeliveryStreamEncryptionConfigurationInput", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -6029,6 +6290,12 @@ func (s *StartDeliveryStreamEncryptionInput) Validate() error { return nil } +// SetDeliveryStreamEncryptionConfigurationInput sets the DeliveryStreamEncryptionConfigurationInput field's value. +func (s *StartDeliveryStreamEncryptionInput) SetDeliveryStreamEncryptionConfigurationInput(v *DeliveryStreamEncryptionConfigurationInput) *StartDeliveryStreamEncryptionInput { + s.DeliveryStreamEncryptionConfigurationInput = v + return s +} + // SetDeliveryStreamName sets the DeliveryStreamName field's value. func (s *StartDeliveryStreamEncryptionInput) SetDeliveryStreamName(v string) *StartDeliveryStreamEncryptionInput { s.DeliveryStreamName = &v @@ -6501,20 +6768,58 @@ const ( // DeliveryStreamEncryptionStatusEnabling is a DeliveryStreamEncryptionStatus enum value DeliveryStreamEncryptionStatusEnabling = "ENABLING" + // DeliveryStreamEncryptionStatusEnablingFailed is a DeliveryStreamEncryptionStatus enum value + DeliveryStreamEncryptionStatusEnablingFailed = "ENABLING_FAILED" + // DeliveryStreamEncryptionStatusDisabled is a DeliveryStreamEncryptionStatus enum value DeliveryStreamEncryptionStatusDisabled = "DISABLED" // DeliveryStreamEncryptionStatusDisabling is a DeliveryStreamEncryptionStatus enum value DeliveryStreamEncryptionStatusDisabling = "DISABLING" + + // DeliveryStreamEncryptionStatusDisablingFailed is a DeliveryStreamEncryptionStatus enum value + DeliveryStreamEncryptionStatusDisablingFailed = "DISABLING_FAILED" +) + +const ( + // DeliveryStreamFailureTypeRetireKmsGrantFailed is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeRetireKmsGrantFailed = "RETIRE_KMS_GRANT_FAILED" + + // DeliveryStreamFailureTypeCreateKmsGrantFailed is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeCreateKmsGrantFailed = "CREATE_KMS_GRANT_FAILED" + + // DeliveryStreamFailureTypeKmsAccessDenied is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeKmsAccessDenied = "KMS_ACCESS_DENIED" + + // DeliveryStreamFailureTypeDisabledKmsKey is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeDisabledKmsKey = "DISABLED_KMS_KEY" + + // DeliveryStreamFailureTypeInvalidKmsKey is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeInvalidKmsKey = "INVALID_KMS_KEY" + + // DeliveryStreamFailureTypeKmsKeyNotFound is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeKmsKeyNotFound = "KMS_KEY_NOT_FOUND" + + // DeliveryStreamFailureTypeKmsOptInRequired is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeKmsOptInRequired = "KMS_OPT_IN_REQUIRED" + + // DeliveryStreamFailureTypeUnknownError is a DeliveryStreamFailureType enum value + DeliveryStreamFailureTypeUnknownError = "UNKNOWN_ERROR" ) const ( // DeliveryStreamStatusCreating is a DeliveryStreamStatus enum value DeliveryStreamStatusCreating = "CREATING" + // DeliveryStreamStatusCreatingFailed is a DeliveryStreamStatus enum value + DeliveryStreamStatusCreatingFailed = "CREATING_FAILED" + // DeliveryStreamStatusDeleting is a DeliveryStreamStatus enum value DeliveryStreamStatusDeleting = "DELETING" + // DeliveryStreamStatusDeletingFailed is a DeliveryStreamStatus enum value + DeliveryStreamStatusDeletingFailed = "DELETING_FAILED" + // DeliveryStreamStatusActive is a DeliveryStreamStatus enum value DeliveryStreamStatusActive = "ACTIVE" ) @@ -6560,6 +6865,14 @@ const ( HECEndpointTypeEvent = "Event" ) +const ( + // KeyTypeAwsOwnedCmk is a KeyType enum value + KeyTypeAwsOwnedCmk = "AWS_OWNED_CMK" + + // KeyTypeCustomerManagedCmk is a KeyType enum value + KeyTypeCustomerManagedCmk = "CUSTOMER_MANAGED_CMK" +) + const ( // NoEncryptionConfigNoEncryption is a NoEncryptionConfig enum value NoEncryptionConfigNoEncryption = "NoEncryption" diff --git a/vendor/github.com/aws/aws-sdk-go/service/firehose/errors.go b/vendor/github.com/aws/aws-sdk-go/service/firehose/errors.go index 762ed0eb3909..e7d134f64e9b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/firehose/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/firehose/errors.go @@ -17,6 +17,15 @@ const ( // The specified input parameter has a value that is not valid. ErrCodeInvalidArgumentException = "InvalidArgumentException" + // ErrCodeInvalidKMSResourceException for service response error code + // "InvalidKMSResourceException". + // + // Kinesis Data Firehose throws this exception when an attempt to put records + // or to start or stop delivery stream encryption fails. This happens when the + // KMS service throws one of the following exception types: AccessDeniedException, + // InvalidStateException, DisabledException, or NotFoundException. + ErrCodeInvalidKMSResourceException = "InvalidKMSResourceException" + // ErrCodeLimitExceededException for service response error code // "LimitExceededException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/forecastservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/forecastservice/api.go index 1321d9b9ab39..d35e335105b4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/forecastservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/forecastservice/api.go @@ -62,8 +62,6 @@ func (c *ForecastService) CreateDatasetRequest(input *CreateDatasetInput) (req * // This includes the following: // // * DataFrequency - How frequently your historical time-series data is collected. -// Amazon Forecast uses this information when training the model and generating -// a forecast. // // * Domain and DatasetType - Each dataset has an associated dataset domain // and a type within the domain. Amazon Forecast provides a list of predefined @@ -71,15 +69,18 @@ func (c *ForecastService) CreateDatasetRequest(input *CreateDatasetInput) (req * // type within the domain, Amazon Forecast requires your data to include // a minimum set of predefined fields. // -// * Schema - A schema specifies the fields of the dataset, including the +// * Schema - A schema specifies the fields in the dataset, including the // field name and data type. // -// After creating a dataset, you import your training data into the dataset -// and add the dataset to a dataset group. You then use the dataset group to -// create a predictor. For more information, see howitworks-datasets-groups. +// After creating a dataset, you import your training data into it and add the +// dataset to a dataset group. You use the dataset group to create a predictor. +// For more information, see howitworks-datasets-groups. // // To get a list of all your datasets, use the ListDatasets operation. // +// For example Forecast datasets, see the Amazon Forecast Sample GitHub repository +// (https://github.com/aws-samples/amazon-forecast-samples/tree/master/data). +// // The Status of a dataset must be ACTIVE before you can import training data. // Use the DescribeDataset operation to get the status. // @@ -96,11 +97,10 @@ func (c *ForecastService) CreateDatasetRequest(input *CreateDatasetInput) (req * // that exceeds the valid range. // // * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" -// There is already a resource with that Amazon Resource Name (ARN). Try again -// with a different ARN. +// There is already a resource with this name. Try again with a different name. // // * ErrCodeLimitExceededException "LimitExceededException" -// The limit on the number of requests per second has been exceeded. +// The limit on the number of resources per account has been exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateDataset func (c *ForecastService) CreateDataset(input *CreateDatasetInput) (*CreateDatasetOutput, error) { @@ -168,18 +168,18 @@ func (c *ForecastService) CreateDatasetGroupRequest(input *CreateDatasetGroupInp // CreateDatasetGroup API operation for Amazon Forecast Service. // -// Creates an Amazon Forecast dataset group, which holds a collection of related -// datasets. You can add datasets to the dataset group when you create the dataset -// group, or you can add datasets later with the UpdateDatasetGroup operation. +// Creates a dataset group, which holds a collection of related datasets. You +// can add datasets to the dataset group when you create the dataset group, +// or later by using the UpdateDatasetGroup operation. // // After creating a dataset group and adding datasets, you use the dataset group // when you create a predictor. For more information, see howitworks-datasets-groups. // // To get a list of all your datasets groups, use the ListDatasetGroups operation. // -// The Status of a dataset group must be ACTIVE before you can create a predictor -// using the dataset group. Use the DescribeDatasetGroup operation to get the -// status. +// The Status of a dataset group must be ACTIVE before you can create use the +// dataset group to create a predictor. To get the status, use the DescribeDatasetGroup +// operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -194,8 +194,7 @@ func (c *ForecastService) CreateDatasetGroupRequest(input *CreateDatasetGroupInp // that exceeds the valid range. // // * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" -// There is already a resource with that Amazon Resource Name (ARN). Try again -// with a different ARN. +// There is already a resource with this name. Try again with a different name. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // We can't find a resource with that Amazon Resource Name (ARN). Check the @@ -205,7 +204,7 @@ func (c *ForecastService) CreateDatasetGroupRequest(input *CreateDatasetGroupInp // The specified resource is in use. // // * ErrCodeLimitExceededException "LimitExceededException" -// The limit on the number of requests per second has been exceeded. +// The limit on the number of resources per account has been exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateDatasetGroup func (c *ForecastService) CreateDatasetGroup(input *CreateDatasetGroupInput) (*CreateDatasetGroupOutput, error) { @@ -282,24 +281,14 @@ func (c *ForecastService) CreateDatasetImportJobRequest(input *CreateDatasetImpo // Management (IAM) role that Amazon Forecast can assume to access the data. // For more information, see aws-forecast-iam-roles. // -// Two properties of the training data are optionally specified: -// -// * The delimiter that separates the data fields. The default delimiter -// is a comma (,), which is the only supported delimiter in this release. +// The training data must be in CSV format. The delimiter must be a comma (,). // -// * The format of timestamps. If the format is not specified, Amazon Forecast -// expects the format to be "yyyy-MM-dd HH:mm:ss". +// You can specify the path to a specific CSV file, the S3 bucket, or to a folder +// in the S3 bucket. For the latter two cases, Amazon Forecast imports all files +// up to the limit of 10,000 files. // -// When Amazon Forecast uploads your training data, it verifies that the data -// was collected at the DataFrequency specified when the target dataset was -// created. For more information, see CreateDataset and howitworks-datasets-groups. -// Amazon Forecast also verifies the delimiter and timestamp format. -// -// You can use the ListDatasetImportJobs operation to get a list of all your -// dataset import jobs, filtered by specified criteria. -// -// To get a list of all your dataset import jobs, filtered by the specified -// criteria, use the ListDatasetGroups operation. +// To get a list of all your dataset import jobs, filtered by specified criteria, +// use the ListDatasetImportJobs operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -314,8 +303,7 @@ func (c *ForecastService) CreateDatasetImportJobRequest(input *CreateDatasetImpo // that exceeds the valid range. // // * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" -// There is already a resource with that Amazon Resource Name (ARN). Try again -// with a different ARN. +// There is already a resource with this name. Try again with a different name. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // We can't find a resource with that Amazon Resource Name (ARN). Check the @@ -325,7 +313,7 @@ func (c *ForecastService) CreateDatasetImportJobRequest(input *CreateDatasetImpo // The specified resource is in use. // // * ErrCodeLimitExceededException "LimitExceededException" -// The limit on the number of requests per second has been exceeded. +// The limit on the number of resources per account has been exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateDatasetImportJob func (c *ForecastService) CreateDatasetImportJob(input *CreateDatasetImportJobInput) (*CreateDatasetImportJobOutput, error) { @@ -396,17 +384,17 @@ func (c *ForecastService) CreateForecastRequest(input *CreateForecastInput) (req // Creates a forecast for each item in the TARGET_TIME_SERIES dataset that was // used to train the predictor. This is known as inference. To retrieve the // forecast for a single item at low latency, use the operation. To export the -// complete forecast into your Amazon Simple Storage Service (Amazon S3), use -// the CreateForecastExportJob operation. +// complete forecast into your Amazon Simple Storage Service (Amazon S3) bucket, +// use the CreateForecastExportJob operation. // -// The range of the forecast is determined by the ForecastHorizon, specified -// in the CreatePredictor request, multiplied by the DataFrequency, specified -// in the CreateDataset request. When you query a forecast, you can request -// a specific date range within the complete forecast. +// The range of the forecast is determined by the ForecastHorizon value, which +// you specify in the CreatePredictor request, multiplied by the DataFrequency +// value, which you specify in the CreateDataset request. When you query a forecast, +// you can request a specific date range within the forecast. // // To get a list of all your forecasts, use the ListForecasts operation. // -// The forecasts generated by Amazon Forecast are in the same timezone as the +// The forecasts generated by Amazon Forecast are in the same time zone as the // dataset that was used to create the predictor. // // For more information, see howitworks-forecast. @@ -427,8 +415,7 @@ func (c *ForecastService) CreateForecastRequest(input *CreateForecastInput) (req // that exceeds the valid range. // // * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" -// There is already a resource with that Amazon Resource Name (ARN). Try again -// with a different ARN. +// There is already a resource with this name. Try again with a different name. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // We can't find a resource with that Amazon Resource Name (ARN). Check the @@ -438,7 +425,7 @@ func (c *ForecastService) CreateForecastRequest(input *CreateForecastInput) (req // The specified resource is in use. // // * ErrCodeLimitExceededException "LimitExceededException" -// The limit on the number of requests per second has been exceeded. +// The limit on the number of resources per account has been exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateForecast func (c *ForecastService) CreateForecast(input *CreateForecastInput) (*CreateForecastOutput, error) { @@ -507,7 +494,12 @@ func (c *ForecastService) CreateForecastExportJobRequest(input *CreateForecastEx // CreateForecastExportJob API operation for Amazon Forecast Service. // // Exports a forecast created by the CreateForecast operation to your Amazon -// Simple Storage Service (Amazon S3) bucket. +// Simple Storage Service (Amazon S3) bucket. The forecast file name will match +// the following conventions: +// +// __ +// +// where the component is in Java SimpleDateFormat (yyyy-MM-ddTHH-mm-ssZ). // // You must specify a DataDestination object that includes an AWS Identity and // Access Management (IAM) role that Amazon Forecast can assume to access the @@ -519,8 +511,8 @@ func (c *ForecastService) CreateForecastExportJobRequest(input *CreateForecastEx // operation. // // The Status of the forecast export job must be ACTIVE before you can access -// the forecast in your Amazon S3 bucket. Use the DescribeForecastExportJob -// operation to get the status. +// the forecast in your Amazon S3 bucket. To get the status, use the DescribeForecastExportJob +// operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -535,8 +527,7 @@ func (c *ForecastService) CreateForecastExportJobRequest(input *CreateForecastEx // that exceeds the valid range. // // * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" -// There is already a resource with that Amazon Resource Name (ARN). Try again -// with a different ARN. +// There is already a resource with this name. Try again with a different name. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // We can't find a resource with that Amazon Resource Name (ARN). Check the @@ -546,7 +537,7 @@ func (c *ForecastService) CreateForecastExportJobRequest(input *CreateForecastEx // The specified resource is in use. // // * ErrCodeLimitExceededException "LimitExceededException" -// The limit on the number of requests per second has been exceeded. +// The limit on the number of resources per account has been exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateForecastExportJob func (c *ForecastService) CreateForecastExportJob(input *CreateForecastExportJobInput) (*CreateForecastExportJobOutput, error) { @@ -629,14 +620,19 @@ func (c *ForecastService) CreatePredictorRequest(input *CreatePredictorInput) (r // review the evaluation metrics before deciding to use the predictor to generate // a forecast. // -// Optionally, you can specify a featurization configuration to fill and aggragate +// Optionally, you can specify a featurization configuration to fill and aggregate // the data fields in the TARGET_TIME_SERIES dataset to improve model training. // For more information, see FeaturizationConfig. // +// For RELATED_TIME_SERIES datasets, CreatePredictor verifies that the DataFrequency +// specified when the dataset was created matches the ForecastFrequency. TARGET_TIME_SERIES +// datasets don't have this restriction. Amazon Forecast also verifies the delimiter +// and timestamp format. For more information, see howitworks-datasets-groups. +// // AutoML // -// If you set PerformAutoML to true, Amazon Forecast evaluates each algorithm -// and chooses the one that minimizes the objective function. The objective +// If you want Amazon Forecast to evaluate each algorithm and choose the one +// that minimizes the objective function, set PerformAutoML to true. The objective // function is defined as the mean of the weighted p10, p50, and p90 quantile // losses. For more information, see EvaluationResult. // @@ -650,11 +646,11 @@ func (c *ForecastService) CreatePredictorRequest(input *CreatePredictorInput) (r // // * TrainingParameters // -// To get a list of all your predictors, use the ListPredictors operation. +// To get a list of all of your predictors, use the ListPredictors operation. // -// The Status of the predictor must be ACTIVE, signifying that training has -// completed, before you can use the predictor to create a forecast. Use the -// DescribePredictor operation to get the status. +// Before you can use the predictor to create a forecast, the Status of the +// predictor must be ACTIVE, signifying that training has completed. To get +// the status, use the DescribePredictor operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -669,8 +665,7 @@ func (c *ForecastService) CreatePredictorRequest(input *CreatePredictorInput) (r // that exceeds the valid range. // // * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" -// There is already a resource with that Amazon Resource Name (ARN). Try again -// with a different ARN. +// There is already a resource with this name. Try again with a different name. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // We can't find a resource with that Amazon Resource Name (ARN). Check the @@ -680,7 +675,7 @@ func (c *ForecastService) CreatePredictorRequest(input *CreatePredictorInput) (r // The specified resource is in use. // // * ErrCodeLimitExceededException "LimitExceededException" -// The limit on the number of requests per second has been exceeded. +// The limit on the number of resources per account has been exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreatePredictor func (c *ForecastService) CreatePredictor(input *CreatePredictorInput) (*CreatePredictorOutput, error) { @@ -749,9 +744,9 @@ func (c *ForecastService) DeleteDatasetRequest(input *DeleteDatasetInput) (req * // DeleteDataset API operation for Amazon Forecast Service. // -// Deletes an Amazon Forecast dataset created using the CreateDataset operation. -// To be deleted, the dataset must have a status of ACTIVE or CREATE_FAILED. -// Use the DescribeDataset operation to get the status. +// Deletes an Amazon Forecast dataset that was created using the CreateDataset +// operation. You can only delete datasets that have a status of ACTIVE or CREATE_FAILED. +// To get the status use the DescribeDataset operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -839,11 +834,11 @@ func (c *ForecastService) DeleteDatasetGroupRequest(input *DeleteDatasetGroupInp // DeleteDatasetGroup API operation for Amazon Forecast Service. // -// Deletes a dataset group created using the CreateDatasetGroup operation. To -// be deleted, the dataset group must have a status of ACTIVE, CREATE_FAILED, -// or UPDATE_FAILED. Use the DescribeDatasetGroup operation to get the status. +// Deletes a dataset group created using the CreateDatasetGroup operation. You +// can only delete dataset groups that have a status of ACTIVE, CREATE_FAILED, +// or UPDATE_FAILED. To get the status, use the DescribeDatasetGroup operation. // -// The operation deletes only the dataset group, not the datasets in the group. +// This operation deletes only the dataset group, not the datasets in the 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 @@ -932,8 +927,8 @@ func (c *ForecastService) DeleteDatasetImportJobRequest(input *DeleteDatasetImpo // DeleteDatasetImportJob API operation for Amazon Forecast Service. // // Deletes a dataset import job created using the CreateDatasetImportJob operation. -// To be deleted, the import job must have a status of ACTIVE or CREATE_FAILED. -// Use the DescribeDatasetImportJob operation to get the status. +// You can delete only dataset import jobs that have a status of ACTIVE or CREATE_FAILED. +// To get the status, use the DescribeDatasetImportJob operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1021,11 +1016,12 @@ func (c *ForecastService) DeleteForecastRequest(input *DeleteForecastInput) (req // DeleteForecast API operation for Amazon Forecast Service. // -// Deletes a forecast created using the CreateForecast operation. To be deleted, -// the forecast must have a status of ACTIVE or CREATE_FAILED. Use the DescribeForecast -// operation to get the status. +// Deletes a forecast created using the CreateForecast operation. You can delete +// only forecasts that have a status of ACTIVE or CREATE_FAILED. To get the +// status, use the DescribeForecast operation. // -// You can't delete a forecast while it is being exported. +// You can't delete a forecast while it is being exported. After a forecast +// is deleted, you can no longer query the forecast. // // 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 @@ -1114,8 +1110,8 @@ func (c *ForecastService) DeleteForecastExportJobRequest(input *DeleteForecastEx // DeleteForecastExportJob API operation for Amazon Forecast Service. // // Deletes a forecast export job created using the CreateForecastExportJob operation. -// To be deleted, the export job must have a status of ACTIVE or CREATE_FAILED. -// Use the DescribeForecastExportJob operation to get the status. +// You can delete only export jobs that have a status of ACTIVE or CREATE_FAILED. +// To get the status, use the DescribeForecastExportJob operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1203,11 +1199,9 @@ func (c *ForecastService) DeletePredictorRequest(input *DeletePredictorInput) (r // DeletePredictor API operation for Amazon Forecast Service. // -// Deletes a predictor created using the CreatePredictor operation. To be deleted, -// the predictor must have a status of ACTIVE or CREATE_FAILED. Use the DescribePredictor -// operation to get the status. -// -// Any forecasts generated by the predictor will no longer be available. +// Deletes a predictor created using the CreatePredictor operation. You can +// delete only predictor that have a status of ACTIVE or CREATE_FAILED. To get +// the status, use the DescribePredictor operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1296,8 +1290,8 @@ func (c *ForecastService) DescribeDatasetRequest(input *DescribeDatasetInput) (r // // Describes an Amazon Forecast dataset created using the CreateDataset operation. // -// In addition to listing the properties provided by the user in the CreateDataset -// request, this operation includes the following properties: +// In addition to listing the parameters specified in the CreateDataset request, +// this operation includes the following dataset properties: // // * CreationTime // @@ -1389,7 +1383,7 @@ func (c *ForecastService) DescribeDatasetGroupRequest(input *DescribeDatasetGrou // // Describes a dataset group created using the CreateDatasetGroup operation. // -// In addition to listing the properties provided by the user in the CreateDatasetGroup +// In addition to listing the parameters provided in the CreateDatasetGroup // request, this operation includes the following properties: // // * DatasetArns - The datasets belonging to the group. @@ -1484,7 +1478,7 @@ func (c *ForecastService) DescribeDatasetImportJobRequest(input *DescribeDataset // // Describes a dataset import job created using the CreateDatasetImportJob operation. // -// In addition to listing the properties provided by the user in the CreateDatasetImportJob +// In addition to listing the parameters provided in the CreateDatasetImportJob // request, this operation includes the following properties: // // * CreationTime @@ -1583,8 +1577,8 @@ func (c *ForecastService) DescribeForecastRequest(input *DescribeForecastInput) // // Describes a forecast created using the CreateForecast operation. // -// In addition to listing the properties provided by the user in the CreateForecast -// request, this operation includes the following properties: +// In addition to listing the properties provided in the CreateForecast request, +// this operation lists the following properties: // // * DatasetGroupArn - The dataset group that provided the training data. // @@ -1682,7 +1676,7 @@ func (c *ForecastService) DescribeForecastExportJobRequest(input *DescribeForeca // operation. // // In addition to listing the properties provided by the user in the CreateForecastExportJob -// request, this operation includes the following properties: +// request, this operation lists the following properties: // // * CreationTime // @@ -1776,13 +1770,14 @@ func (c *ForecastService) DescribePredictorRequest(input *DescribePredictorInput // // Describes a predictor created using the CreatePredictor operation. // -// In addition to listing the properties provided by the user in the CreatePredictor -// request, this operation includes the following properties: +// In addition to listing the properties provided in the CreatePredictor request, +// this operation lists the following properties: // // * DatasetImportJobArns - The dataset import jobs used to import training // data. // -// * AutoMLAlgorithmArns - If AutoML is performed, the algorithms evaluated. +// * AutoMLAlgorithmArns - If AutoML is performed, the algorithms that were +// evaluated. // // * CreationTime // @@ -1876,17 +1871,23 @@ func (c *ForecastService) GetAccuracyMetricsRequest(input *GetAccuracyMetricsInp // // Provides metrics on the accuracy of the models that were trained by the CreatePredictor // operation. Use metrics to see how well the model performed and to decide -// whether to use the predictor to generate a forecast. +// whether to use the predictor to generate a forecast. For more information, +// see metrics. // -// Metrics are generated for each backtest window evaluated. For more information, -// see EvaluationParameters. +// This operation generates metrics for each backtest window that was evaluated. +// The number of backtest windows (NumberOfBacktestWindows) is specified using +// the EvaluationParameters object, which is optionally included in the CreatePredictor +// request. If NumberOfBacktestWindows isn't specified, the number defaults +// to one. // // The parameters of the filling method determine which items contribute to -// the metrics. If zero is specified, all items contribute. If nan is specified, -// only those items that have complete data in the range being evaluated contribute. -// For more information, see FeaturizationMethod. +// the metrics. If you want all items to contribute, specify zero. If you want +// only those items that have complete data in the range being evaluated to +// contribute, specify nan. For more information, see FeaturizationMethod. // -// For an example of how to train a model and review metrics, see getting-started. +// Before you can get accuracy metrics, the Status of the predictor must be +// ACTIVE, signifying that training has completed. To get the status, use the +// DescribePredictor operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1980,9 +1981,10 @@ func (c *ForecastService) ListDatasetGroupsRequest(input *ListDatasetGroupsInput // ListDatasetGroups API operation for Amazon Forecast Service. // // Returns a list of dataset groups created using the CreateDatasetGroup operation. -// For each dataset group, a summary of its properties, including its Amazon -// Resource Name (ARN), is returned. You can retrieve the complete set of properties -// by using the ARN with the DescribeDatasetGroup operation. +// For each dataset group, this operation returns a summary of its properties, +// including its Amazon Resource Name (ARN). You can retrieve the complete set +// of properties by using the dataset group ARN with the DescribeDatasetGroup +// operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2120,8 +2122,8 @@ func (c *ForecastService) ListDatasetImportJobsRequest(input *ListDatasetImportJ // ListDatasetImportJobs API operation for Amazon Forecast Service. // // Returns a list of dataset import jobs created using the CreateDatasetImportJob -// operation. For each import job, a summary of its properties, including its -// Amazon Resource Name (ARN), is returned. You can retrieve the complete set +// operation. For each import job, this operation returns a summary of its properties, +// including its Amazon Resource Name (ARN). You can retrieve the complete set // of properties by using the ARN with the DescribeDatasetImportJob operation. // You can filter the list by providing an array of Filter objects. // @@ -2266,8 +2268,8 @@ func (c *ForecastService) ListDatasetsRequest(input *ListDatasetsInput) (req *re // // Returns a list of datasets created using the CreateDataset operation. For // each dataset, a summary of its properties, including its Amazon Resource -// Name (ARN), is returned. You can retrieve the complete set of properties -// by using the ARN with the DescribeDataset operation. +// Name (ARN), is returned. To retrieve the complete set of properties, use +// the ARN with the DescribeDataset operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2405,10 +2407,10 @@ func (c *ForecastService) ListForecastExportJobsRequest(input *ListForecastExpor // ListForecastExportJobs API operation for Amazon Forecast Service. // // Returns a list of forecast export jobs created using the CreateForecastExportJob -// operation. For each forecast export job, a summary of its properties, including -// its Amazon Resource Name (ARN), is returned. You can retrieve the complete -// set of properties by using the ARN with the DescribeForecastExportJob operation. -// The list can be filtered using an array of Filter objects. +// operation. For each forecast export job, this operation returns a summary +// of its properties, including its Amazon Resource Name (ARN). To retrieve +// the complete set of properties, use the ARN with the DescribeForecastExportJob +// operation. You can filter the list using an array of Filter objects. // // 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 @@ -2550,9 +2552,9 @@ func (c *ForecastService) ListForecastsRequest(input *ListForecastsInput) (req * // ListForecasts API operation for Amazon Forecast Service. // // Returns a list of forecasts created using the CreateForecast operation. For -// each forecast, a summary of its properties, including its Amazon Resource -// Name (ARN), is returned. You can retrieve the complete set of properties -// by using the ARN with the DescribeForecast operation. The list can be filtered +// each forecast, this operation returns a summary of its properties, including +// its Amazon Resource Name (ARN). To retrieve the complete set of properties, +// specify the ARN with the DescribeForecast operation. You can filter the list // using an array of Filter objects. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2695,10 +2697,10 @@ func (c *ForecastService) ListPredictorsRequest(input *ListPredictorsInput) (req // ListPredictors API operation for Amazon Forecast Service. // // Returns a list of predictors created using the CreatePredictor operation. -// For each predictor, a summary of its properties, including its Amazon Resource -// Name (ARN), is returned. You can retrieve the complete set of properties -// by using the ARN with the DescribePredictor operation. The list can be filtered -// using an array of Filter objects. +// For each predictor, this operation returns a summary of its properties, including +// its Amazon Resource Name (ARN). You can retrieve the complete set of properties +// by using the ARN with the DescribePredictor operation. You can filter the +// list using an array of Filter objects. // // 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 @@ -2834,11 +2836,11 @@ func (c *ForecastService) UpdateDatasetGroupRequest(input *UpdateDatasetGroupInp // UpdateDatasetGroup API operation for Amazon Forecast Service. // -// Replaces any existing datasets in the dataset group with the specified datasets. +// Replaces the datasets in a dataset group with the specified datasets. // -// The Status of the dataset group must be ACTIVE before creating a predictor -// using the dataset group. Use the DescribeDatasetGroup operation to get the -// status. +// The Status of the dataset group must be ACTIVE before you can use the dataset +// group to create a predictor. Use the DescribeDatasetGroup operation to get +// the status. // // 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 @@ -2962,9 +2964,7 @@ type ContinuousParameterRange struct { Name *string `min:"1" type:"string" required:"true"` // The scale that hyperparameter tuning uses to search the hyperparameter range. - // For information about choosing a hyperparameter scale, see Hyperparameter - // Scaling (http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type). - // One of the following values: + // Valid values: // // Auto // @@ -2980,16 +2980,19 @@ type ContinuousParameterRange struct { // Hyperparameter tuning searches the values in the hyperparameter range by // using a logarithmic scale. // - // Logarithmic scaling works only for ranges that have only values greater than - // 0. + // Logarithmic scaling works only for ranges that have values greater than 0. // // ReverseLogarithmic // - // Hyperparemeter tuning searches the values in the hyperparameter range by + // hyperparameter tuning searches the values in the hyperparameter range by // using a reverse logarithmic scale. // // Reverse logarithmic scaling works only for ranges that are entirely within // the range 0 <= x < 1.0. + // + // For information about choosing a hyperparameter scale, see Hyperparameter + // Scaling (http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type). + // One of the following values: ScalingType *string `type:"string" enum:"ScalingType"` } @@ -3061,12 +3064,15 @@ type CreateDatasetGroupInput struct { // DatasetGroupName is a required field DatasetGroupName *string `min:"1" type:"string" required:"true"` - // The domain associated with the dataset group. The Domain and DatasetType - // that you choose determine the fields that must be present in the training - // data that you import to the dataset. For example, if you choose the RETAIL - // domain and TARGET_TIME_SERIES as the DatasetType, Amazon Forecast requires - // item_id, timestamp, and demand fields to be present in your data. For more - // information, see howitworks-datasets-groups. + // The domain associated with the dataset group. When you add a dataset to a + // dataset group, this value and the value specified for the Domain parameter + // of the CreateDataset operation must match. + // + // The Domain and DatasetType that you choose determine the fields that must + // be present in training data that you import to a dataset. For example, if + // you choose the RETAIL domain and TARGET_TIME_SERIES as the DatasetType, Amazon + // Forecast requires that item_id, timestamp, and demand fields are present + // in your data. For more information, see howitworks-datasets-groups. // // Domain is a required field Domain *string `type:"string" required:"true" enum:"Domain"` @@ -3147,6 +3153,12 @@ type CreateDatasetImportJobInput struct { // The location of the training data to import and an AWS Identity and Access // Management (IAM) role that Amazon Forecast can assume to access the data. + // The training data must be stored in an Amazon S3 bucket. + // + // If encryption is used, DataSource must include an AWS Key Management Service + // (KMS) key and the IAM role must allow Amazon Forecast permission to access + // the key. The KMS key and IAM role must match those specified in the EncryptionConfig + // parameter of the CreateDataset operation. // // DataSource is a required field DataSource *DataSource `type:"structure" required:"true"` @@ -3157,20 +3169,24 @@ type CreateDatasetImportJobInput struct { // DatasetArn is a required field DatasetArn *string `type:"string" required:"true"` - // The name for the dataset import job. It is recommended to include the current - // timestamp in the name to guard against getting a ResourceAlreadyExistsException - // exception, for example, 20190721DatasetImport. + // The name for the dataset import job. We recommend including the current timestamp + // in the name, for example, 20190721DatasetImport. This can help you avoid + // getting a ResourceAlreadyExistsException exception. // // DatasetImportJobName is a required field DatasetImportJobName *string `min:"1" type:"string" required:"true"` - // The format of timestamps in the dataset. Two formats are supported, dependent - // on the DataFrequency specified when the dataset was created. + // The format of timestamps in the dataset. The format that you specify depends + // on the DataFrequency specified when the dataset was created. The following + // formats are supported + // + // * "yyyy-MM-dd" For the following data frequencies: Y, M, W, and D // - // * "yyyy-MM-dd" For data frequencies: Y, M, W, and D + // * "yyyy-MM-dd HH:mm:ss" For the following data frequencies: H, 30min, + // 15min, and 1min; and optionally, for: Y, M, W, and D // - // * "yyyy-MM-dd HH:mm:ss" For data frequencies: H, 30min, 15min, and 1min; - // and optionally, for: Y, M, W, and D + // If the format isn't specified, Amazon Forecast expects the format to be "yyyy-MM-dd + // HH:mm:ss". TimestampFormat *string `type:"string"` } @@ -3261,7 +3277,8 @@ func (s *CreateDatasetImportJobOutput) SetDatasetImportJobArn(v string) *CreateD type CreateDatasetInput struct { _ struct{} `type:"structure"` - // The frequency of data collection. + // The frequency of data collection. This parameter is required for RELATED_TIME_SERIES + // datasets. // // Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min // (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and @@ -3279,12 +3296,15 @@ type CreateDatasetInput struct { // DatasetType is a required field DatasetType *string `type:"string" required:"true" enum:"DatasetType"` - // The domain associated with the dataset. The Domain and DatasetType that you - // choose determine the fields that must be present in the training data that - // you import to the dataset. For example, if you choose the RETAIL domain and - // TARGET_TIME_SERIES as the DatasetType, Amazon Forecast requires item_id, - // timestamp, and demand fields to be present in your data. For more information, - // see howitworks-datasets-groups. + // The domain associated with the dataset. When you add a dataset to a dataset + // group, this value and the value specified for the Domain parameter of the + // CreateDatasetGroup operation must match. + // + // The Domain and DatasetType that you choose determine the fields that must + // be present in the training data that you import to the dataset. For example, + // if you choose the RETAIL domain and TARGET_TIME_SERIES as the DatasetType, + // Amazon Forecast requires item_id, timestamp, and demand fields to be present + // in your data. For more information, see howitworks-datasets-groups. // // Domain is a required field Domain *string `type:"string" required:"true" enum:"Domain"` @@ -3409,9 +3429,13 @@ func (s *CreateDatasetOutput) SetDatasetArn(v string) *CreateDatasetOutput { type CreateForecastExportJobInput struct { _ struct{} `type:"structure"` - // The path to the Amazon S3 bucket where you want to save the forecast and - // an AWS Identity and Access Management (IAM) role that Amazon Forecast can - // assume to access the bucket. + // The location where you want to save the forecast and an AWS Identity and + // Access Management (IAM) role that Amazon Forecast can assume to access the + // location. The forecast must be exported to an Amazon S3 bucket. + // + // If encryption is used, Destination must include an AWS Key Management Service + // (KMS) key. The IAM role must allow Amazon Forecast permission to access the + // key. // // Destination is a required field Destination *DataDestination `type:"structure" required:"true"` @@ -3508,11 +3532,18 @@ func (s *CreateForecastExportJobOutput) SetForecastExportJobArn(v string) *Creat type CreateForecastInput struct { _ struct{} `type:"structure"` - // The name for the forecast. + // A name for the forecast. // // ForecastName is a required field ForecastName *string `min:"1" type:"string" required:"true"` + // The quantiles at which probabilistic forecasts are generated. You can specify + // up to 5 quantiles per forecast. Accepted values include 0.01 to 0.99 (increments + // of .01 only) and mean. The mean forecast is different from the median (0.50) + // when the distribution is not symmetric (e.g. Beta, Negative Binomial). The + // default value is ["0.1", "0.5", "0.9"]. + ForecastTypes []*string `min:"1" type:"list"` + // The Amazon Resource Name (ARN) of the predictor to use to generate the forecast. // // PredictorArn is a required field @@ -3538,6 +3569,9 @@ func (s *CreateForecastInput) Validate() error { if s.ForecastName != nil && len(*s.ForecastName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ForecastName", 1)) } + if s.ForecastTypes != nil && len(s.ForecastTypes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ForecastTypes", 1)) + } if s.PredictorArn == nil { invalidParams.Add(request.NewErrParamRequired("PredictorArn")) } @@ -3554,6 +3588,12 @@ func (s *CreateForecastInput) SetForecastName(v string) *CreateForecastInput { return s } +// SetForecastTypes sets the ForecastTypes field's value. +func (s *CreateForecastInput) SetForecastTypes(v []*string) *CreateForecastInput { + s.ForecastTypes = v + return s +} + // SetPredictorArn sets the PredictorArn field's value. func (s *CreateForecastInput) SetPredictorArn(v string) *CreateForecastInput { s.PredictorArn = &v @@ -3589,12 +3629,12 @@ type CreatePredictorInput struct { // The Amazon Resource Name (ARN) of the algorithm to use for model training. // Required if PerformAutoML is not set to true. // - // Supported algorithms + // Supported algorithms: // // * arn:aws:forecast:::algorithm/ARIMA // - // * arn:aws:forecast:::algorithm/Deep_AR_Plus - supports hyperparameter - // optimization (HPO) + // * arn:aws:forecast:::algorithm/Deep_AR_Plus Supports hyperparameter optimization + // (HPO) // // * arn:aws:forecast:::algorithm/ETS // @@ -3625,6 +3665,9 @@ type CreatePredictorInput struct { // the DataFrequency parameter of the CreateDataset operation) and set the forecast // horizon to 10, the model returns predictions for 10 days. // + // The maximum forecast horizon is the lesser of 500 time-steps or 1/3 of the + // TARGET_TIME_SERIES dataset length. + // // ForecastHorizon is a required field ForecastHorizon *int64 `type:"integer" required:"true"` @@ -3632,6 +3675,8 @@ type CreatePredictorInput struct { // this parameter, Amazon Forecast uses default values. The individual algorithms // specify which hyperparameters support hyperparameter optimization (HPO). // For more information, see aws-forecast-choosing-recipes. + // + // If you included the HPOConfig object, you must set PerformHPO to true. HPOConfig *HyperParameterTuningJobConfig `type:"structure"` // Describes the dataset group that contains the data to use to train the predictor. @@ -3639,27 +3684,32 @@ type CreatePredictorInput struct { // InputDataConfig is a required field InputDataConfig *InputDataConfig `type:"structure" required:"true"` - // Whether to perform AutoML. The default value is false. In this case, you - // are required to specify an algorithm. + // Whether to perform AutoML. When Amazon Forecast performs AutoML, it evaluates + // the algorithms it provides and chooses the best algorithm and configuration + // for your training dataset. // - // If you want Amazon Forecast to evaluate the algorithms it provides and choose - // the best algorithm and configuration for your training dataset, set PerformAutoML - // to true. This is a good option if you aren't sure which algorithm is suitable - // for your application. + // The default value is false. In this case, you are required to specify an + // algorithm. + // + // Set PerformAutoML to true to have Amazon Forecast perform AutoML. This is + // a good option if you aren't sure which algorithm is suitable for your training + // data. In this case, PerformHPO must be false. PerformAutoML *bool `type:"boolean"` // Whether to perform hyperparameter optimization (HPO). HPO finds optimal hyperparameter // values for your training data. The process of performing HPO is known as - // a hyperparameter tuning job. + // running a hyperparameter tuning job. // // The default value is false. In this case, Amazon Forecast uses default hyperparameter // values from the chosen algorithm. // - // To override the default values, set PerformHPO to true and supply the HyperParameterTuningJobConfig - // object. The tuning job specifies an objective metric, the hyperparameters - // to optimize, and the valid range for each hyperparameter. + // To override the default values, set PerformHPO to true and, optionally, supply + // the HyperParameterTuningJobConfig object. The tuning job specifies a metric + // to optimize, which hyperparameters participate in tuning, and the valid range + // for each tunable hyperparameter. In this case, you are required to specify + // an algorithm and PerformAutoML must be false. // - // The following algorithms support HPO: + // The following algorithm supports HPO: // // * DeepAR+ PerformHPO *bool `type:"boolean"` @@ -3669,8 +3719,9 @@ type CreatePredictorInput struct { // PredictorName is a required field PredictorName *string `min:"1" type:"string" required:"true"` - // The training parameters to override for model training. The parameters that - // you can override are listed in the individual algorithms in aws-forecast-choosing-recipes. + // The hyperparameters to override for model training. The hyperparameters that + // you can override are listed in the individual algorithms. For the list of + // supported algorithms, see aws-forecast-choosing-recipes. TrainingParameters map[string]*string `type:"map"` } @@ -3818,8 +3869,10 @@ func (s *CreatePredictorOutput) SetPredictorArn(v string) *CreatePredictorOutput return s } -// The destination of an exported forecast and credentials to access the location. -// This object is submitted in the CreateForecastExportJob request. +// The destination for an exported forecast, an AWS Identity and Access Management +// (IAM) role that allows Amazon Forecast to access the location and, optionally, +// an AWS Key Management Service (KMS) key. This object is submitted in the +// CreateForecastExportJob request. type DataDestination struct { _ struct{} `type:"structure"` @@ -3864,8 +3917,10 @@ func (s *DataDestination) SetS3Config(v *S3Config) *DataDestination { return s } -// The source of your training data and credentials to access the data. This -// object is submitted in the CreateDatasetImportJob request. +// The source of your training data, an AWS Identity and Access Management (IAM) +// role that allows Amazon Forecast to access the data and, optionally, an AWS +// Key Management Service (KMS) key. This object is submitted in the CreateDatasetImportJob +// request. type DataSource struct { _ struct{} `type:"structure"` @@ -3912,11 +3967,11 @@ func (s *DataSource) SetS3Config(v *S3Config) *DataSource { // Provides a summary of the dataset group properties used in the ListDatasetGroups // operation. To get the complete set of properties, call the DescribeDatasetGroup -// operation, and provide the listed DatasetGroupArn. +// operation, and provide the DatasetGroupArn. type DatasetGroupSummary struct { _ struct{} `type:"structure"` - // When the datase group was created. + // When the dataset group was created. CreationTime *time.Time `type:"timestamp"` // The Amazon Resource Name (ARN) of the dataset group. @@ -3927,7 +3982,7 @@ type DatasetGroupSummary struct { // When the dataset group was created or last updated from a call to the UpdateDatasetGroup // operation. While the dataset group is being updated, LastModificationTime - // is the current query time. + // is the current time of the ListDatasetGroups call. LastModificationTime *time.Time `type:"timestamp"` } @@ -3967,14 +4022,19 @@ func (s *DatasetGroupSummary) SetLastModificationTime(v time.Time) *DatasetGroup // Provides a summary of the dataset import job properties used in the ListDatasetImportJobs // operation. To get the complete set of properties, call the DescribeDatasetImportJob -// operation, and provide the listed DatasetImportJobArn. +// operation, and provide the DatasetImportJobArn. type DatasetImportJobSummary struct { _ struct{} `type:"structure"` // When the dataset import job was created. CreationTime *time.Time `type:"timestamp"` - // The location of the Amazon S3 bucket that contains the training data. + // The location of the training data to import and an AWS Identity and Access + // Management (IAM) role that Amazon Forecast can assume to access the data. + // The training data must be stored in an Amazon S3 bucket. + // + // If encryption is used, DataSource includes an AWS Key Management Service + // (KMS) key. DataSource *DataSource `type:"structure"` // The Amazon Resource Name (ARN) of the dataset import job. @@ -3983,13 +4043,14 @@ type DatasetImportJobSummary struct { // The name of the dataset import job. DatasetImportJobName *string `min:"1" type:"string"` - // Dependent on the status as follows: + // The last time that the dataset was modified. The time depends on the status + // of the job, as follows: // - // * CREATE_PENDING - same as CreationTime + // * CREATE_PENDING - The same time as CreationTime. // - // * CREATE_IN_PROGRESS - the current timestamp + // * CREATE_IN_PROGRESS - The current timestamp. // - // * ACTIVE or CREATE_FAILED - when the job finished or failed + // * ACTIVE or CREATE_FAILED - When the job finished or failed. LastModificationTime *time.Time `type:"timestamp"` // If an error occurred, an informational message about the error. @@ -4061,7 +4122,7 @@ func (s *DatasetImportJobSummary) SetStatus(v string) *DatasetImportJobSummary { // Provides a summary of the dataset properties used in the ListDatasets operation. // To get the complete set of properties, call the DescribeDataset operation, -// and provide the listed DatasetArn. +// and provide the DatasetArn. type DatasetSummary struct { _ struct{} `type:"structure"` @@ -4080,10 +4141,10 @@ type DatasetSummary struct { // The domain associated with the dataset. Domain *string `type:"string" enum:"Domain"` - // When the dataset is created, LastModificationTime is the same as CreationTime. - // After a CreateDatasetImportJob operation is called, LastModificationTime - // is when the import job finished or failed. While data is being imported to - // the dataset, LastModificationTime is the current query time. + // When you create a dataset, LastModificationTime is the same as CreationTime. + // While data is being imported to the dataset, LastModificationTime is the + // current time of the ListDatasets call. After a CreateDatasetImportJob operation + // has finished, LastModificationTime is when the import job completed or failed. LastModificationTime *time.Time `type:"timestamp"` } @@ -4499,17 +4560,12 @@ type DescribeDatasetGroupOutput struct { // The name of the dataset group. DatasetGroupName *string `min:"1" type:"string"` - // The domain associated with the dataset group. The Domain and DatasetType - // that you choose determine the fields that must be present in the training - // data that you import to the dataset. For example, if you choose the RETAIL - // domain and TARGET_TIME_SERIES as the DatasetType, Amazon Forecast requires - // item_id, timestamp, and demand fields to be present in your data. For more - // information, see howitworks-datasets-groups. + // The domain associated with the dataset group. Domain *string `type:"string" enum:"Domain"` // When the dataset group was created or last updated from a call to the UpdateDatasetGroup // operation. While the dataset group is being updated, LastModificationTime - // is the current query time. + // is the current time of the DescribeDatasetGroup call. LastModificationTime *time.Time `type:"timestamp"` // The status of the dataset group. States include: @@ -4522,10 +4578,10 @@ type DescribeDatasetGroupOutput struct { // // * UPDATE_PENDING, UPDATE_IN_PROGRESS, UPDATE_FAILED // - // The UPDATE states apply when the UpdateDatasetGroup operation is called. + // The UPDATE states apply when you call the UpdateDatasetGroup operation. // - // The Status of the dataset group must be ACTIVE before creating a predictor - // using the dataset group. + // The Status of the dataset group must be ACTIVE before you can use the dataset + // group to create a predictor. Status *string `type:"string"` } @@ -4625,12 +4681,14 @@ type DescribeDatasetImportJobOutput struct { // When the dataset import job was created. CreationTime *time.Time `type:"timestamp"` - // The size of the dataset in gigabytes (GB) after completion of the import - // job. + // The size of the dataset in gigabytes (GB) after the import job has finished. DataSize *float64 `type:"double"` - // The location of the training data to import. The training data must be stored - // in an Amazon S3 bucket. + // The location of the training data to import and an AWS Identity and Access + // Management (IAM) role that Amazon Forecast can assume to access the data. + // + // If encryption is used, DataSource includes an AWS Key Management Service + // (KMS) key. DataSource *DataSource `type:"structure"` // The Amazon Resource Name (ARN) of the dataset that the training data was @@ -4646,13 +4704,14 @@ type DescribeDatasetImportJobOutput struct { // Statistical information about each field in the input data. FieldStatistics map[string]*Statistics `type:"map"` - // Dependent on the status as follows: + // The last time that the dataset was modified. The time depends on the status + // of the job, as follows: // - // * CREATE_PENDING - same as CreationTime + // * CREATE_PENDING - The same time as CreationTime. // - // * CREATE_IN_PROGRESS - the current timestamp + // * CREATE_IN_PROGRESS - The current timestamp. // - // * ACTIVE or CREATE_FAILED - when the job finished or failed + // * ACTIVE or CREATE_FAILED - When the job finished or failed. LastModificationTime *time.Time `type:"timestamp"` // If an error occurred, an informational message about the error. @@ -4669,13 +4728,14 @@ type DescribeDatasetImportJobOutput struct { // * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED Status *string `type:"string"` - // The format of timestamps in the dataset. Two formats are supported dependent - // on the DataFrequency specified when the dataset was created. + // The format of timestamps in the dataset. The format that you specify depends + // on the DataFrequency specified when the dataset was created. The following + // formats are supported // - // * "yyyy-MM-dd" For data frequencies: Y, M, W, and D + // * "yyyy-MM-dd" For the following data frequencies: Y, M, W, and D // - // * "yyyy-MM-dd HH:mm:ss" For data frequencies: H, 30min, 15min, and 1min; - // and optionally, for: Y, M, W, and D + // * "yyyy-MM-dd HH:mm:ss" For the following data frequencies: H, 30min, + // 15min, and 1min; and optionally, for: Y, M, W, and D TimestampFormat *string `type:"string"` } @@ -4816,17 +4876,18 @@ type DescribeDatasetOutput struct { // The dataset type. DatasetType *string `type:"string" enum:"DatasetType"` - // The dataset domain. + // The domain associated with the dataset. Domain *string `type:"string" enum:"Domain"` - // An AWS Key Management Service (KMS) key and the AWS Identity and Access Management - // (IAM) role that Amazon Forecast can assume to access the key. + // The AWS Key Management Service (KMS) key and the AWS Identity and Access + // Management (IAM) role that Amazon Forecast can assume to access the key. EncryptionConfig *EncryptionConfig `type:"structure"` - // When the dataset is created, LastModificationTime is the same as CreationTime. - // After a CreateDatasetImportJob operation is called, LastModificationTime - // is when the import job finished or failed. While data is being imported to - // the dataset, LastModificationTime is the current query time. + // When you create a dataset, LastModificationTime is the same as CreationTime. + // While data is being imported to the dataset, LastModificationTime is the + // current time of the DescribeDataset call. After a CreateDatasetImportJob + // operation has finished, LastModificationTime is when the import job completed + // or failed. LastModificationTime *time.Time `type:"timestamp"` // An array of SchemaAttribute objects that specify the dataset fields. Each @@ -4844,9 +4905,9 @@ type DescribeDatasetOutput struct { // * UPDATE_PENDING, UPDATE_IN_PROGRESS, UPDATE_FAILED // // The UPDATE states apply while data is imported to the dataset from a call - // to the CreateDatasetImportJob operation. During this time, the status reflects - // the status of the dataset import job. For example, when the import job status - // is CREATE_IN_PROGRESS, the status of the dataset is UPDATE_IN_PROGRESS. + // to the CreateDatasetImportJob operation and reflect the status of the dataset + // import job. For example, when the import job status is CREATE_IN_PROGRESS, + // the status of the dataset is UPDATE_IN_PROGRESS. // // The Status of the dataset must be ACTIVE before you can import training data. Status *string `type:"string"` @@ -4966,7 +5027,8 @@ type DescribeForecastExportJobOutput struct { // When the forecast export job was created. CreationTime *time.Time `type:"timestamp"` - // The path to the AWS S3 bucket where the forecast is exported. + // The path to the Amazon Simple Storage Service (Amazon S3) bucket where the + // forecast is exported. Destination *DataDestination `type:"structure"` // The Amazon Resource Name (ARN) of the exported forecast. @@ -4984,7 +5046,7 @@ type DescribeForecastExportJobOutput struct { // If an error occurred, an informational message about the error. Message *string `type:"string"` - // The status of the forecast export job. One of the following states: + // The status of the forecast export job. States include: // // * ACTIVE // @@ -4993,7 +5055,7 @@ type DescribeForecastExportJobOutput struct { // * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED // // The Status of the forecast export job must be ACTIVE before you can access - // the forecast in your Amazon S3 bucket. + // the forecast in your S3 bucket. Status *string `type:"string"` } @@ -5102,12 +5164,15 @@ type DescribeForecastOutput struct { // The ARN of the dataset group that provided the data used to train the predictor. DatasetGroupArn *string `type:"string"` - // The same forecast ARN as given in the request. + // The forecast ARN as specified in the request. ForecastArn *string `type:"string"` // The name of the forecast. ForecastName *string `min:"1" type:"string"` + // The quantiles at which proababilistic forecasts were generated. + ForecastTypes []*string `min:"1" type:"list"` + // Initially, the same as CreationTime (status is CREATE_PENDING). Updated when // inference (creating the forecast) starts (status changed to CREATE_IN_PROGRESS), // and when inference is complete (status changed to ACTIVE) or fails (status @@ -5167,6 +5232,12 @@ func (s *DescribeForecastOutput) SetForecastName(v string) *DescribeForecastOutp return s } +// SetForecastTypes sets the ForecastTypes field's value. +func (s *DescribeForecastOutput) SetForecastTypes(v []*string) *DescribeForecastOutput { + s.ForecastTypes = v + return s +} + // SetLastModificationTime sets the LastModificationTime field's value. func (s *DescribeForecastOutput) SetLastModificationTime(v time.Time) *DescribeForecastOutput { s.LastModificationTime = &v @@ -5242,7 +5313,7 @@ type DescribePredictorOutput struct { // When the model training task was created. CreationTime *time.Time `type:"timestamp"` - // An array of ARNs of the dataset import jobs used to import training data + // An array of the ARNs of the dataset import jobs used to import training data // for the predictor. DatasetImportJobArns []*string `type:"list"` @@ -5269,9 +5340,10 @@ type DescribePredictorOutput struct { // Describes the dataset group that contains the data to use to train the predictor. InputDataConfig *InputDataConfig `type:"structure"` - // Initially, the same as CreationTime (status is CREATE_PENDING). Updated when - // training starts (status changed to CREATE_IN_PROGRESS), and when training - // is complete (status changed to ACTIVE) or fails (status changed to CREATE_FAILED). + // Initially, the same as CreationTime (when the status is CREATE_PENDING). + // This value is updated when training starts (when the status changes to CREATE_IN_PROGRESS), + // and when training has completed (when the status changes to ACTIVE) or fails + // (when the status changes to CREATE_FAILED). LastModificationTime *time.Time `type:"timestamp"` // If an error occurred, an informational message about the error. @@ -5280,12 +5352,17 @@ type DescribePredictorOutput struct { // Whether the predictor is set to perform AutoML. PerformAutoML *bool `type:"boolean"` - // Whether the predictor is set to perform HPO. + // Whether the predictor is set to perform hyperparameter optimization (HPO). PerformHPO *bool `type:"boolean"` // The ARN of the predictor. PredictorArn *string `min:"1" type:"string"` + // Details on the the status and results of the backtests performed to evaluate + // the accuracy of the predictor. You specify the number of backtests to perform + // when you call the operation. + PredictorExecutionDetails *PredictorExecutionDetails `type:"structure"` + // The name of the predictor. PredictorName *string `min:"1" type:"string"` @@ -5299,12 +5376,14 @@ type DescribePredictorOutput struct { // // * UPDATE_PENDING, UPDATE_IN_PROGRESS, UPDATE_FAILED // - // The Status of the predictor must be ACTIVE before using the predictor to - // create a forecast. + // The Status of the predictor must be ACTIVE before you can use the predictor + // to create a forecast. Status *string `type:"string"` - // The training parameters to override for model training. The parameters that - // you can override are listed in the individual algorithms in aws-forecast-choosing-recipes. + // The default training parameters or overrides selected during model training. + // If using the AutoML algorithm or if HPO is turned on while using the DeepAR+ + // algorithms, the optimized values for the chosen hyperparameters are returned. + // For more information, see aws-forecast-choosing-recipes. TrainingParameters map[string]*string `type:"map"` } @@ -5408,6 +5487,12 @@ func (s *DescribePredictorOutput) SetPredictorArn(v string) *DescribePredictorOu return s } +// SetPredictorExecutionDetails sets the PredictorExecutionDetails field's value. +func (s *DescribePredictorOutput) SetPredictorExecutionDetails(v *PredictorExecutionDetails) *DescribePredictorOutput { + s.PredictorExecutionDetails = v + return s +} + // SetPredictorName sets the PredictorName field's value. func (s *DescribePredictorOutput) SetPredictorName(v string) *DescribePredictorOutput { s.PredictorName = &v @@ -5427,21 +5512,21 @@ func (s *DescribePredictorOutput) SetTrainingParameters(v map[string]*string) *D } // An AWS Key Management Service (KMS) key and an AWS Identity and Access Management -// (IAM) role that Amazon Forecast can assume to access the key. This object -// is optionally submitted in the CreateDataset and CreatePredictor requests. +// (IAM) role that Amazon Forecast can assume to access the key. You can specify +// this optional object in the CreateDataset and CreatePredictor requests. type EncryptionConfig struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key. + // The Amazon Resource Name (ARN) of the KMS key. // // KMSKeyArn is a required field KMSKeyArn *string `type:"string" required:"true"` - // The ARN of the AWS Identity and Access Management (IAM) role that Amazon - // Forecast can assume to access the AWS KMS key. + // The ARN of the IAM role that Amazon Forecast can assume to access the AWS + // KMS key. // - // Cross-account pass role is not allowed. If you pass a role that doesn't belong - // to your account, an InvalidInputException is thrown. + // Passing a role across AWS accounts is not allowed. If you pass a role that + // isn't in your account, you get an InvalidInputException error. // // RoleArn is a required field RoleArn *string `type:"string" required:"true"` @@ -5487,27 +5572,24 @@ func (s *EncryptionConfig) SetRoleArn(v string) *EncryptionConfig { // Parameters that define how to split a dataset into training data and testing // data, and the number of iterations to perform. These parameters are specified -// in the predefined algorithms and can be overridden in the CreatePredictor +// in the predefined algorithms but you can override them in the CreatePredictor // request. -// -// For example, suppose that you have a dataset with data collection frequency -// set to every day and you have 200 days worth of data (that is, 200 data points). -// Now suppose that you set the NumberOfBacktestWindows to 2 and the BackTestWindowOffset -// parameter to 20. The algorithm splits the data twice. The first time, the -// algorithm trains the model using the first 180 data points and uses the last -// 20 data points for evaluation. The second time, the algorithm trains the -// model using the first 160 data points and uses the last 40 data points for -// evaluation. type EvaluationParameters struct { _ struct{} `type:"structure"` // The point from the end of the dataset where you want to split the data for - // model training and evaluation. The value is specified as the number of data - // points. + // model training and testing (evaluation). Specify the value as the number + // of data points. The default is the value of the forecast horizon. BackTestWindowOffset + // can be used to mimic a past virtual forecast start date. This value must + // be greater than or equal to the forecast horizon and less than half of the + // TARGET_TIME_SERIES dataset length. + // + // ForecastHorizon <= BackTestWindowOffset < 1/2 * TARGET_TIME_SERIES dataset + // length BackTestWindowOffset *int64 `type:"integer"` - // The number of times to split the input data. The default is 1. The range - // is 1 through 5. + // The number of times to split the input data. The default is 1. Valid values + // are 1 through 5. NumberOfBacktestWindows *int64 `type:"integer"` } @@ -5590,16 +5672,16 @@ func (s *EvaluationResult) SetTestWindows(v []*WindowSummary) *EvaluationResult type Featurization struct { _ struct{} `type:"structure"` - // The name of the schema attribute specifying the data field to be featurized. - // In this release, only the target field of the TARGET_TIME_SERIES dataset - // type is supported. For example, for the RETAIL domain, the target is demand, - // and for the CUSTOM domain, the target is target_value. + // The name of the schema attribute that specifies the data field to be featurized. + // Only the target field of the TARGET_TIME_SERIES dataset type is supported. + // For example, for the RETAIL domain, the target is demand, and for the CUSTOM + // domain, the target is target_value. // // AttributeName is a required field AttributeName *string `min:"1" type:"string" required:"true"` - // An array FeaturizationMethod objects that specifies the feature transformation - // methods. For this release, the number of methods is limited to one. + // An array of one FeaturizationMethod object that specifies the feature transformation + // method. FeaturizationPipeline []*FeaturizationMethod `min:"1" type:"list"` } @@ -5661,7 +5743,7 @@ func (s *Featurization) SetFeaturizationPipeline(v []*FeaturizationMethod) *Feat // // You define featurization using the FeaturizationConfig object. You specify // an array of transformations, one for each field that you want to featurize. -// You then include the FeaturizationConfig in your CreatePredictor request. +// You then include the FeaturizationConfig object in your CreatePredictor request. // Amazon Forecast applies the featurization to the TARGET_TIME_SERIES dataset // before model training. // @@ -5672,7 +5754,7 @@ type FeaturizationConfig struct { _ struct{} `type:"structure"` // An array of featurization (transformation) information for the fields of - // a dataset. In this release, only a single featurization is supported. + // a dataset. Only a single featurization is supported. Featurizations []*Featurization `min:"1" type:"list"` // An array of dimension (field) names that specify how to group the generated @@ -5682,6 +5764,11 @@ type FeaturizationConfig struct { // all of your stores, and your dataset contains a store_id field. If you want // the sales forecast for each item by store, you would specify store_id as // the dimension. + // + // All forecast dimensions specified in the TARGET_TIME_SERIES dataset don't + // need to be specified in the CreatePredictor request. All forecast dimensions + // specified in the RELATED_TIME_SERIES dataset must be specified in the CreatePredictor + // request. ForecastDimensions []*string `min:"1" type:"list"` // The frequency of predictions in a forecast. @@ -5691,6 +5778,12 @@ type FeaturizationConfig struct { // 1min (1 minute). For example, "Y" indicates every year and "5min" indicates // every five minutes. // + // The frequency must be greater than or equal to the TARGET_TIME_SERIES dataset + // frequency. + // + // When a RELATED_TIME_SERIES dataset is provided, the frequency must be equal + // to the RELATED_TIME_SERIES dataset frequency. + // // ForecastFrequency is a required field ForecastFrequency *string `type:"string" required:"true"` } @@ -5752,12 +5845,12 @@ func (s *FeaturizationConfig) SetForecastFrequency(v string) *FeaturizationConfi return s } -// Provides information about a method that featurizes (transforms) a dataset +// Provides information about the method that featurizes (transforms) a dataset // field. The method is part of the FeaturizationPipeline of the Featurization -// object. If FeaturizationMethodParameters isn't specified, Amazon Forecast +// object. If you don't specify FeaturizationMethodParameters, Amazon Forecast // uses default parameters. // -// For example: +// The following is an example of how you specify a FeaturizationMethod object. // // { // @@ -5769,15 +5862,14 @@ func (s *FeaturizationConfig) SetForecastFrequency(v string) *FeaturizationConfi type FeaturizationMethod struct { _ struct{} `type:"structure"` - // The name of the method. In this release, "filling" is the only supported - // method. + // The name of the method. The "filling" method is the only supported method. // // FeaturizationMethodName is a required field FeaturizationMethodName *string `type:"string" required:"true" enum:"FeaturizationMethodName"` - // The method parameters (key-value pairs). Specify these to override the default - // values. The following list shows the parameters and their valid values. Bold - // signifies the default value. + // The method parameters (key-value pairs). Specify these parameters to override + // the default values. The following list shows the parameters and their valid + // values. Bold signifies the default value. // // * aggregation: sum, avg, first, min, max // @@ -5829,12 +5921,13 @@ func (s *FeaturizationMethod) SetFeaturizationMethodParameters(v map[string]*str // Describes a filter for choosing a subset of objects. Each filter consists // of a condition and a match statement. The condition is either IS or IS_NOT, -// which specifies whether to include or exclude, respectively, the objects -// that match the statement. The match statement consists of a key and a value. +// which specifies whether to include or exclude the objects that match the +// statement, respectively. The match statement consists of a key and a value. type Filter struct { _ struct{} `type:"structure"` - // The condition to apply. + // The condition to apply. To include the objects that match the statement, + // specify IS. To exclude matching objects, specify IS_NOT. // // Condition is a required field Condition *string `type:"string" required:"true" enum:"FilterConditionString"` @@ -5844,7 +5937,7 @@ type Filter struct { // Key is a required field Key *string `type:"string" required:"true"` - // A valid value for Key. + // The value to match. // // Value is a required field Value *string `type:"string" required:"true"` @@ -5906,7 +5999,8 @@ type ForecastExportJobSummary struct { // When the forecast export job was created. CreationTime *time.Time `type:"timestamp"` - // The path to the S3 bucket where the forecast is stored. + // The path to the Amazon Simple Storage Service (Amazon S3) bucket where the + // forecast is exported. Destination *DataDestination `type:"structure"` // The Amazon Resource Name (ARN) of the forecast export job. @@ -5921,7 +6015,7 @@ type ForecastExportJobSummary struct { // If an error occurred, an informational message about the error. Message *string `type:"string"` - // The status of the forecast export job. One of the following states: + // The status of the forecast export job. States include: // // * ACTIVE // @@ -5930,7 +6024,7 @@ type ForecastExportJobSummary struct { // * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED // // The Status of the forecast export job must be ACTIVE before you can access - // the forecast in your Amazon S3 bucket. + // the forecast in your S3 bucket. Status *string `type:"string"` } @@ -5988,7 +6082,7 @@ func (s *ForecastExportJobSummary) SetStatus(v string) *ForecastExportJobSummary // Provides a summary of the forecast properties used in the ListForecasts operation. // To get the complete set of properties, call the DescribeForecast operation, -// and provide the listed ForecastArn. +// and provide the ForecastArn that is listed in the summary. type ForecastSummary struct { _ struct{} `type:"structure"` @@ -6149,19 +6243,19 @@ func (s *GetAccuracyMetricsOutput) SetPredictorEvaluationResults(v []*Evaluation return s } -// Configuration information for a hyperparameter tuning job. This object is -// specified in the CreatePredictor request. +// Configuration information for a hyperparameter tuning job. You specify this +// object in the CreatePredictor request. // -// A hyperparameter is a parameter that governs the model training process and -// is set before training starts. This is as opposed to a model parameter that -// is determined during training. The values of the hyperparameters have an -// effect on the chosen model parameters. +// A hyperparameter is a parameter that governs the model training process. +// You set hyperparameters before training starts, unlike model parameters, +// which are determined during training. The values of the hyperparameters effect +// which values are chosen for the model parameters. // -// A hyperparameter tuning job is the process of choosing the optimum set of -// hyperparameter values that optimize a specified metric. This is accomplished -// by running many training jobs over a range of hyperparameter values. The -// optimum set of values is dependent on the algorithm, the training data, and -// the given metric objective. +// In a hyperparameter tuning job, Amazon Forecast chooses the set of hyperparameter +// values that optimize a specified metric. Forecast accomplishes this by running +// many training jobs over a range of hyperparameter values. The optimum set +// of values depends on the algorithm, the training data, and the specified +// metric objective. type HyperParameterTuningJobConfig struct { _ struct{} `type:"structure"` @@ -6201,7 +6295,7 @@ func (s *HyperParameterTuningJobConfig) SetParameterRanges(v *ParameterRanges) * } // The data used to train a predictor. The data includes a dataset group and -// any supplementary features. This object is specified in the CreatePredictor +// any supplementary features. You specify this object in the CreatePredictor // request. type InputDataConfig struct { _ struct{} `type:"structure"` @@ -6211,8 +6305,8 @@ type InputDataConfig struct { // DatasetGroupArn is a required field DatasetGroupArn *string `type:"string" required:"true"` - // An array of supplementary features. For this release, the only supported - // feature is a holiday calendar. + // An array of supplementary features. The only supported feature is a holiday + // calendar. SupplementaryFeatures []*SupplementaryFeature `min:"1" type:"list"` } @@ -6285,9 +6379,7 @@ type IntegerParameterRange struct { Name *string `min:"1" type:"string" required:"true"` // The scale that hyperparameter tuning uses to search the hyperparameter range. - // For information about choosing a hyperparameter scale, see Hyperparameter - // Scaling (http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type). - // One of the following values: + // Valid values: // // Auto // @@ -6303,8 +6395,7 @@ type IntegerParameterRange struct { // Hyperparameter tuning searches the values in the hyperparameter range by // using a logarithmic scale. // - // Logarithmic scaling works only for ranges that have only values greater than - // 0. + // Logarithmic scaling works only for ranges that have values greater than 0. // // ReverseLogarithmic // @@ -6312,6 +6403,10 @@ type IntegerParameterRange struct { // // Reverse logarithmic scaling works only for ranges that are entirely within // the range 0 <= x < 1.0. + // + // For information about choosing a hyperparameter scale, see Hyperparameter + // Scaling (http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type). + // One of the following values: ScalingType *string `type:"string" enum:"ScalingType"` } @@ -6459,22 +6554,24 @@ type ListDatasetImportJobsInput struct { // An array of filters. For each filter, you provide a condition and a match // statement. The condition is either IS or IS_NOT, which specifies whether - // to include or exclude, respectively, from the list, the predictors that match - // the statement. The match statement consists of a key and a value. In this - // release, Name is the only valid key, which filters on the DatasetImportJobName - // property. + // to include or exclude the datasets that match the statement from the list, + // respectively. The match statement consists of a key and a value. // - // * Condition - IS or IS_NOT + // Filter properties // - // * Key - Name + // * Condition - The condition to apply. Valid values are IS and IS_NOT. + // To include the datasets that match the statement, specify IS. To exclude + // matching datasets, specify IS_NOT. // - // * Value - the value to match + // * Key - The name of the parameter to filter on. Valid values are DatasetArn + // and Status. // - // For example, to list all dataset import jobs named my_dataset_import_job, - // you would specify: + // * Value - The value to match. // - // "Filters": [ { "Condition": "IS", "Key": "Name", "Value": "my_dataset_import_job" - // } ] + // For example, to list all dataset import jobs whose status is ACTIVE, you + // specify the following filter: + // + // "Filters": [ { "Condition": "IS", "Key": "Status", "Value": "ACTIVE" } ] Filters []*Filter `type:"list"` // The number of items to return in the response. @@ -6661,21 +6758,24 @@ type ListForecastExportJobsInput struct { // An array of filters. For each filter, you provide a condition and a match // statement. The condition is either IS or IS_NOT, which specifies whether - // to include or exclude, respectively, from the list, the predictors that match - // the statement. The match statement consists of a key and a value. In this - // release, Name is the only valid key, which filters on the ForecastExportJobName - // property. + // to include or exclude the forecast export jobs that match the statement from + // the list, respectively. The match statement consists of a key and a value. + // + // Filter properties // - // * Condition - IS or IS_NOT + // * Condition - The condition to apply. Valid values are IS and IS_NOT. + // To include the forecast export jobs that match the statement, specify + // IS. To exclude matching forecast export jobs, specify IS_NOT. // - // * Key - Name + // * Key - The name of the parameter to filter on. Valid values are ForecastArn + // and Status. // - // * Value - the value to match + // * Value - The value to match. // - // For example, to list all forecast export jobs named my_forecast_export_job, - // you would specify: + // For example, to list all jobs that export a forecast named electricityforecast, + // specify the following filter: // - // "Filters": [ { "Condition": "IS", "Key": "Name", "Value": "my_forecast_export_job" + // "Filters": [ { "Condition": "IS", "Key": "ForecastArn", "Value": "arn:aws:forecast:us-west-2::forecast/electricityforecast" // } ] Filters []*Filter `type:"list"` @@ -6780,20 +6880,25 @@ type ListForecastsInput struct { // An array of filters. For each filter, you provide a condition and a match // statement. The condition is either IS or IS_NOT, which specifies whether - // to include or exclude, respectively, from the list, the predictors that match - // the statement. The match statement consists of a key and a value. In this - // release, Name is the only valid key, which filters on the ForecastName property. + // to include or exclude the forecasts that match the statement from the list, + // respectively. The match statement consists of a key and a value. + // + // Filter properties // - // * Condition - IS or IS_NOT + // * Condition - The condition to apply. Valid values are IS and IS_NOT. + // To include the forecasts that match the statement, specify IS. To exclude + // matching forecasts, specify IS_NOT. // - // * Key - Name + // * Key - The name of the parameter to filter on. Valid values are DatasetGroupArn, + // PredictorArn, and Status. // - // * Value - the value to match + // * Value - The value to match. // - // For example, to list all forecasts named my_forecast, you would specify: + // For example, to list all forecasts whose status is not ACTIVE, you would + // specify: // - // "Filters": [ { "Condition": "IS", "Key": "Name", "Value": "my_forecast" } - // ] + // "Filters": [ { "Condition": "IS_NOT", "Key": "Status", "Value": "ACTIVE" + // } ] Filters []*Filter `type:"list"` // The number of items to return in the response. @@ -6897,20 +7002,23 @@ type ListPredictorsInput struct { // An array of filters. For each filter, you provide a condition and a match // statement. The condition is either IS or IS_NOT, which specifies whether - // to include or exclude, respectively, from the list, the predictors that match - // the statement. The match statement consists of a key and a value. In this - // release, Name is the only valid key, which filters on the PredictorName property. + // to include or exclude the predictors that match the statement from the list, + // respectively. The match statement consists of a key and a value. // - // * Condition - IS or IS_NOT + // Filter properties // - // * Key - Name + // * Condition - The condition to apply. Valid values are IS and IS_NOT. + // To include the predictors that match the statement, specify IS. To exclude + // matching predictors, specify IS_NOT. // - // * Value - the value to match + // * Key - The name of the parameter to filter on. Valid values are DatasetGroupArn + // and Status. // - // For example, to list all predictors named my_predictor, you would specify: + // * Value - The value to match. // - // "Filters": [ { "Condition": "IS", "Key": "Name", "Value": "my_predictor" - // } ] + // For example, to list all predictors whose status is ACTIVE, you would specify: + // + // "Filters": [ { "Condition": "IS", "Key": "Status", "Value": "ACTIVE" } ] Filters []*Filter `type:"list"` // The number of items to return in the response. @@ -7009,8 +7117,8 @@ func (s *ListPredictorsOutput) SetPredictors(v []*PredictorSummary) *ListPredict return s } -// Provides metrics used to evaluate the performance of a predictor. This object -// is part of the WindowSummary object. +// Provides metrics that are used to evaluate the performance of a predictor. +// This object is part of the WindowSummary object. type Metrics struct { _ struct{} `type:"structure"` @@ -7139,7 +7247,70 @@ func (s *ParameterRanges) SetIntegerParameterRanges(v []*IntegerParameterRange) return s } -// Provides a summary of the predictor properties used in the ListPredictors +// The algorithm used to perform a backtest and the status of those tests. +type PredictorExecution struct { + _ struct{} `type:"structure"` + + // The ARN of the algorithm used to test the predictor. + AlgorithmArn *string `type:"string"` + + // An array of test windows used to evaluate the algorithm. The NumberOfBacktestWindows + // from the object determines the number of windows in the array. + TestWindows []*TestWindowSummary `type:"list"` +} + +// String returns the string representation +func (s PredictorExecution) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PredictorExecution) GoString() string { + return s.String() +} + +// SetAlgorithmArn sets the AlgorithmArn field's value. +func (s *PredictorExecution) SetAlgorithmArn(v string) *PredictorExecution { + s.AlgorithmArn = &v + return s +} + +// SetTestWindows sets the TestWindows field's value. +func (s *PredictorExecution) SetTestWindows(v []*TestWindowSummary) *PredictorExecution { + s.TestWindows = v + return s +} + +// Contains details on the backtests performed to evaluate the accuracy of the +// predictor. The tests are returned in descending order of accuracy, with the +// most accurate backtest appearing first. You specify the number of backtests +// to perform when you call the operation. +type PredictorExecutionDetails struct { + _ struct{} `type:"structure"` + + // An array of the backtests performed to evaluate the accuracy of the predictor + // against a particular algorithm. The NumberOfBacktestWindows from the object + // determines the number of windows in the array. + PredictorExecutions []*PredictorExecution `min:"1" type:"list"` +} + +// String returns the string representation +func (s PredictorExecutionDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PredictorExecutionDetails) GoString() string { + return s.String() +} + +// SetPredictorExecutions sets the PredictorExecutions field's value. +func (s *PredictorExecutionDetails) SetPredictorExecutions(v []*PredictorExecution) *PredictorExecutionDetails { + s.PredictorExecutions = v + return s +} + +// Provides a summary of the predictor properties that are used in the ListPredictors // operation. To get the complete set of properties, call the DescribePredictor // operation, and provide the listed PredictorArn. type PredictorSummary struct { @@ -7176,8 +7347,8 @@ type PredictorSummary struct { // // * UPDATE_PENDING, UPDATE_IN_PROGRESS, UPDATE_FAILED // - // The Status of the predictor must be ACTIVE before using the predictor to - // create a forecast. + // The Status of the predictor must be ACTIVE before you can use the predictor + // to create a forecast. Status *string `type:"string"` } @@ -7236,8 +7407,9 @@ func (s *PredictorSummary) SetStatus(v string) *PredictorSummary { // The path to the file(s) in an Amazon Simple Storage Service (Amazon S3) bucket, // and an AWS Identity and Access Management (IAM) role that Amazon Forecast // can assume to access the file(s). Optionally, includes an AWS Key Management -// Service (KMS) key. This object is submitted in the CreateDatasetImportJob -// and CreateForecastExportJob requests. +// Service (KMS) key. This object is part of the DataSource object that is submitted +// in the CreateDatasetImportJob request, and part of the DataDestination object +// that is submitted in the CreateForecastExportJob request. type S3Config struct { _ struct{} `type:"structure"` @@ -7251,10 +7423,11 @@ type S3Config struct { Path *string `type:"string" required:"true"` // The ARN of the AWS Identity and Access Management (IAM) role that Amazon - // Forecast can assume to access the Amazon S3 bucket or file(s). + // Forecast can assume to access the Amazon S3 bucket or files. If you provide + // a value for the KMSKeyArn key, the role must allow access to the key. // - // Cross-account pass role is not allowed. If you pass a role that doesn't belong - // to your account, an InvalidInputException is thrown. + // Passing a role across AWS accounts is not allowed. If you pass a role that + // isn't in your account, you get an InvalidInputException error. // // RoleArn is a required field RoleArn *string `type:"string" required:"true"` @@ -7304,7 +7477,7 @@ func (s *S3Config) SetRoleArn(v string) *S3Config { return s } -// Defines the fields of a dataset. This object is specified in the CreateDataset +// Defines the fields of a dataset. You specify this object in the CreateDataset // request. type Schema struct { _ struct{} `type:"structure"` @@ -7349,7 +7522,7 @@ func (s *Schema) SetAttributes(v []*SchemaAttribute) *Schema { return s } -// An attribute of a schema, which defines a field of a dataset. A schema attribute +// An attribute of a schema, which defines a dataset field. A schema attribute // is required for every field in a dataset. The Schema object contains an array // of SchemaAttribute objects. type SchemaAttribute struct { @@ -7397,8 +7570,8 @@ func (s *SchemaAttribute) SetAttributeType(v string) *SchemaAttribute { return s } -// Provides statistics for each data field imported to an Amazon Forecast dataset -// with the CreateDatasetImportJob operation. +// Provides statistics for each data field imported into to an Amazon Forecast +// dataset with the CreateDatasetImportJob operation. type Statistics struct { _ struct{} `type:"structure"` @@ -7488,9 +7661,10 @@ func (s *Statistics) SetStddev(v float64) *Statistics { // Describes a supplementary feature of a dataset group. This object is part // of the InputDataConfig object. // -// For this release, the only supported feature is a holiday calendar. If the -// calendar is used, all data should belong to the same country as the calendar. -// For the calendar data, see http://jollyday.sourceforge.net/data.html (http://jollyday.sourceforge.net/data.html). +// The only supported feature is a holiday calendar. If you use the calendar, +// all data in the datasets should belong to the same country as the calendar. +// For the holiday calendar data, see the Jollyday (http://jollyday.sourceforge.net/data.html) +// web site. type SupplementaryFeature struct { _ struct{} `type:"structure"` @@ -7556,11 +7730,69 @@ func (s *SupplementaryFeature) SetValue(v string) *SupplementaryFeature { return s } +// The status, start time, and end time of a backtest, as well as a failure +// reason if applicable. +type TestWindowSummary struct { + _ struct{} `type:"structure"` + + // If the test failed, the reason why it failed. + Message *string `type:"string"` + + // The status of the test. Possible status values are: + // + // * ACTIVE + // + // * CREATE_IN_PROGRESS + // + // * CREATE_FAILED + Status *string `type:"string"` + + // The time at which the test ended. + TestWindowEnd *time.Time `type:"timestamp"` + + // The time at which the test began. + TestWindowStart *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s TestWindowSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestWindowSummary) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *TestWindowSummary) SetMessage(v string) *TestWindowSummary { + s.Message = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *TestWindowSummary) SetStatus(v string) *TestWindowSummary { + s.Status = &v + return s +} + +// SetTestWindowEnd sets the TestWindowEnd field's value. +func (s *TestWindowSummary) SetTestWindowEnd(v time.Time) *TestWindowSummary { + s.TestWindowEnd = &v + return s +} + +// SetTestWindowStart sets the TestWindowStart field's value. +func (s *TestWindowSummary) SetTestWindowStart(v time.Time) *TestWindowSummary { + s.TestWindowStart = &v + return s +} + type UpdateDatasetGroupInput struct { _ struct{} `type:"structure"` - // An array of Amazon Resource Names (ARNs) of the datasets to add to the dataset - // group. + // An array of the Amazon Resource Names (ARNs) of the datasets to add to the + // dataset group. // // DatasetArns is a required field DatasetArns []*string `type:"list" required:"true"` @@ -7628,8 +7860,8 @@ func (s UpdateDatasetGroupOutput) GoString() string { type WeightedQuantileLoss struct { _ struct{} `type:"structure"` - // The difference between the predicted value and actual value over the quantile, - // weighted (normalized) by dividing by the sum over all quantiles. + // The difference between the predicted value and the actual value over the + // quantile, weighted (normalized) by dividing by the sum over all quantiles. LossValue *float64 `type:"double"` // The quantile. Quantiles divide a probability distribution into regions of @@ -7678,8 +7910,7 @@ type WindowSummary struct { // The number of data points within the window. ItemCount *int64 `type:"integer"` - // Provides metrics used to evaluate the performance of a predictor. This object - // is part of the WindowSummary object. + // Provides metrics used to evaluate the performance of a predictor. Metrics *Metrics `type:"structure"` // The timestamp that defines the end of the window. diff --git a/vendor/github.com/aws/aws-sdk-go/service/forecastservice/errors.go b/vendor/github.com/aws/aws-sdk-go/service/forecastservice/errors.go index 19eb82f7388c..4b10351f3dd9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/forecastservice/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/forecastservice/errors.go @@ -20,14 +20,13 @@ const ( // ErrCodeLimitExceededException for service response error code // "LimitExceededException". // - // The limit on the number of requests per second has been exceeded. + // The limit on the number of resources per account has been exceeded. ErrCodeLimitExceededException = "LimitExceededException" // ErrCodeResourceAlreadyExistsException for service response error code // "ResourceAlreadyExistsException". // - // There is already a resource with that Amazon Resource Name (ARN). Try again - // with a different ARN. + // There is already a resource with this name. Try again with a different name. ErrCodeResourceAlreadyExistsException = "ResourceAlreadyExistsException" // ErrCodeResourceInUseException for service response error code 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 99bc03c8f125..38830502d15e 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 @@ -1826,18 +1826,23 @@ type CreateFileSystemInput struct { // The storage capacity of the file system being created. // - // For Windows file systems, the storage capacity has a minimum of 300 GiB, - // and a maximum of 65,536 GiB. + // For Windows file systems, valid values are 32 GiB - 65,536 GiB. // - // For Lustre file systems, the storage capacity has a minimum of 3,600 GiB. - // Storage capacity is provisioned in increments of 3,600 GiB. + // For Lustre file systems, valid values are 1,200, 2,400, 3,600, then continuing + // in increments of 3600 GiB. // // StorageCapacity is a required field StorageCapacity *int64 `min:"1" type:"integer" required:"true"` - // The IDs of the subnets that the file system will be accessible from. File - // systems support only one subnet. The file server is also launched in that - // subnet's Availability Zone. + // Specifies the IDs of the subnets that the file system will be accessible + // from. For Windows MULTI_AZ_1 file system deployment types, provide exactly + // two subnet IDs, one for the preferred file server and one for the standy + // file server. You specify one of these subnets as the preferred subnet using + // the WindowsConfiguration > PreferredSubnetID property. + // + // For Windows SINGLE_AZ_1 file system deployment types and Lustre file systems, + // provide exactly one subnet ID. The file server is launched in that subnet's + // Availability Zone. // // SubnetIds is a required field SubnetIds []*string `type:"list" required:"true"` @@ -2114,6 +2119,27 @@ type CreateFileSystemWindowsConfiguration struct { // UTC time zone. DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + // Specifies the file system deployment type, valid values are the following: + // + // * MULTI_AZ_1 - Deploys a high availability file system that is configured + // for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability. + // You can only deploy a Multi-AZ file system in AWS Regions that have a + // minimum of three Availability Zones. + // + // * SINGLE_AZ_1 - (Default) Choose to deploy a file system that is configured + // for single AZ redundancy. + // + // To learn more about high availability Multi-AZ file systems, see High Availability + // for Amazon FSx for Windows File Server (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html). + DeploymentType *string `type:"string" enum:"WindowsDeploymentType"` + + // Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet + // in which you want the preferred file server to be located. For in-AWS applications, + // we recommend that you launch your clients in the same Availability Zone (AZ) + // as your preferred file server to reduce cross-AZ data transfer costs and + // minimize latency. + PreferredSubnetId *string `min:"15" type:"string"` + // The configuration that Amazon FSx uses to join the Windows File Server instance // to your self-managed (including on-premises) Microsoft Active Directory (AD) // directory. @@ -2149,6 +2175,9 @@ func (s *CreateFileSystemWindowsConfiguration) Validate() error { if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) } + if s.PreferredSubnetId != nil && len(*s.PreferredSubnetId) < 15 { + invalidParams.Add(request.NewErrParamMinLen("PreferredSubnetId", 15)) + } if s.ThroughputCapacity == nil { invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity")) } @@ -2194,6 +2223,18 @@ func (s *CreateFileSystemWindowsConfiguration) SetDailyAutomaticBackupStartTime( return s } +// SetDeploymentType sets the DeploymentType field's value. +func (s *CreateFileSystemWindowsConfiguration) SetDeploymentType(v string) *CreateFileSystemWindowsConfiguration { + s.DeploymentType = &v + return s +} + +// SetPreferredSubnetId sets the PreferredSubnetId field's value. +func (s *CreateFileSystemWindowsConfiguration) SetPreferredSubnetId(v string) *CreateFileSystemWindowsConfiguration { + s.PreferredSubnetId = &v + return s +} + // SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value. func (s *CreateFileSystemWindowsConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfiguration) *CreateFileSystemWindowsConfiguration { s.SelfManagedActiveDirectoryConfiguration = v @@ -2793,18 +2834,19 @@ type FileSystem struct { // file system's data for an Amazon FSx for Windows File Server file system. KmsKeyId *string `min:"1" type:"string"` - // The lifecycle status of the file system: + // The lifecycle status of the file system, following are the possible values + // and what they mean: // - // * AVAILABLE indicates that the file system is reachable and available - // for use. + // * AVAILABLE - The file system is in a healthy state, and is reachable + // and available for use. // - // * CREATING indicates that Amazon FSx is in the process of creating the - // new file system. + // * CREATING - Amazon FSx is creating the new file system. // - // * DELETING indicates that Amazon FSx is in the process of deleting the - // file system. + // * DELETING - Amazon FSx is deleting an existing file system. // - // * FAILED indicates that Amazon FSx was not able to create the file system. + // * FAILED - An existing file system has experienced an unrecoverable failure. + // When creating a new file system, Amazon FSx was unable to create the file + // system. // // * MISCONFIGURED indicates that the file system is in a failed but recoverable // state. @@ -3255,8 +3297,9 @@ type SelfManagedActiveDirectoryConfiguration struct { // (Optional) The name of the domain group whose members are granted administrative // privileges for the file system. Administrative privileges include taking - // ownership of files and folders, and setting audit controls (audit ACLs) on - // files and folders. The group that you specify must already exist in your + // ownership of files and folders, setting audit controls (audit ACLs) on files + // and folders, and administering the file system remotely by using the FSx + // Remote PowerShell. The group that you specify must already exist in your // domain. If you don't provide one, your AD domain's Domain Admins group is // used. FileSystemAdministratorsGroup *string `min:"1" type:"string"` @@ -3897,9 +3940,48 @@ type WindowsFileSystemConfiguration struct { // The preferred time to take daily automatic backups, in the UTC time zone. DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + // Specifies the file system deployment type, valid values are the following: + // + // * MULTI_AZ_1 - Specifies a high availability file system that is configured + // for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability. + // + // * SINGLE_AZ_1 - (Default) Specifies a file system that is configured for + // single AZ redundancy. + DeploymentType *string `type:"string" enum:"WindowsDeploymentType"` + // The list of maintenance operations in progress for this file system. MaintenanceOperationsInProgress []*string `type:"list"` + // For MULTI_AZ_1 deployment types, the IP address of the primary, or preferred, + // file server. + // + // Use this IP address when mounting the file system on Linux SMB clients or + // Windows SMB clients that are not joined to a Microsoft Active Directory. + // Applicable for both SINGLE_AZ_1 and MULTI_AZ_1 deployment types. This IP + // address is temporarily unavailable when the file system is undergoing maintenance. + // For Linux and Windows SMB clients that are joined to an Active Directory, + // use the file system's DNSName instead. For more information and instruction + // on mapping and mounting file shares, see https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html + // (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/accessing-file-shares.html). + PreferredFileServerIp *string `type:"string"` + + // For MULTI_AZ_1 deployment types, it specifies the ID of the subnet where + // the preferred file server is located. Must be one of the two subnet IDs specified + // in SubnetIds property. Amazon FSx serves traffic from this subnet except + // in the event of a failover to the secondary file server. + // + // For SINGLE_AZ_1 deployment types, this value is the same as that for SubnetIDs. + PreferredSubnetId *string `min:"15" type:"string"` + + // For MULTI_AZ_1 deployment types, use this endpoint when performing administrative + // tasks on the file system using Amazon FSx Remote PowerShell. + // + // For SINGLE_AZ_1 deployment types, this is the DNS name of the file system. + // + // This endpoint is temporarily unavailable when the file system is undergoing + // maintenance. + RemoteAdministrationEndpoint *string `min:"16" type:"string"` + // The configuration of the self-managed Microsoft Active Directory (AD) directory // to which the Windows File Server instance is joined. SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryAttributes `type:"structure"` @@ -3945,12 +4027,36 @@ func (s *WindowsFileSystemConfiguration) SetDailyAutomaticBackupStartTime(v stri return s } +// SetDeploymentType sets the DeploymentType field's value. +func (s *WindowsFileSystemConfiguration) SetDeploymentType(v string) *WindowsFileSystemConfiguration { + s.DeploymentType = &v + return s +} + // SetMaintenanceOperationsInProgress sets the MaintenanceOperationsInProgress field's value. func (s *WindowsFileSystemConfiguration) SetMaintenanceOperationsInProgress(v []*string) *WindowsFileSystemConfiguration { s.MaintenanceOperationsInProgress = v return s } +// SetPreferredFileServerIp sets the PreferredFileServerIp field's value. +func (s *WindowsFileSystemConfiguration) SetPreferredFileServerIp(v string) *WindowsFileSystemConfiguration { + s.PreferredFileServerIp = &v + return s +} + +// SetPreferredSubnetId sets the PreferredSubnetId field's value. +func (s *WindowsFileSystemConfiguration) SetPreferredSubnetId(v string) *WindowsFileSystemConfiguration { + s.PreferredSubnetId = &v + return s +} + +// SetRemoteAdministrationEndpoint sets the RemoteAdministrationEndpoint field's value. +func (s *WindowsFileSystemConfiguration) SetRemoteAdministrationEndpoint(v string) *WindowsFileSystemConfiguration { + s.RemoteAdministrationEndpoint = &v + return s +} + // SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value. func (s *WindowsFileSystemConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryAttributes) *WindowsFileSystemConfiguration { s.SelfManagedActiveDirectoryConfiguration = v @@ -4078,3 +4184,11 @@ const ( // ServiceLimitTotalUserInitiatedBackups is a ServiceLimit enum value ServiceLimitTotalUserInitiatedBackups = "TOTAL_USER_INITIATED_BACKUPS" ) + +const ( + // WindowsDeploymentTypeMultiAz1 is a WindowsDeploymentType enum value + WindowsDeploymentTypeMultiAz1 = "MULTI_AZ_1" + + // WindowsDeploymentTypeSingleAz1 is a WindowsDeploymentType enum value + WindowsDeploymentTypeSingleAz1 = "SINGLE_AZ_1" +) 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 a35163defca4..ba0fd6f288b1 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 @@ -16763,6 +16763,13 @@ type CreateMLTransformInput struct { // default is an empty string. Description *string `type:"string"` + // This value determines which version of AWS Glue this machine learning transform + // is compatible with. Glue 1.0 is recommended for most customers. If the value + // is not set, the Glue compatibility defaults to Glue 0.9. For more information, + // see AWS Glue Versions (https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions) + // in the developer guide. + GlueVersion *string `min:"1" type:"string"` + // A list of AWS Glue table definitions used by the transform. // // InputRecordTables is a required field @@ -16774,6 +16781,21 @@ type CreateMLTransformInput struct { // vCPUs of compute capacity and 16 GB of memory. For more information, see // the AWS Glue pricing page (https://aws.amazon.com/glue/pricing/). // + // MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType. + // + // * If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot + // be set. + // + // * If MaxCapacity is set then neither NumberOfWorkers or WorkerType can + // be set. + // + // * If WorkerType is set, then NumberOfWorkers is required (and vice versa). + // + // * MaxCapacity and NumberOfWorkers must both be at least 1. + // + // When the WorkerType field is set to a value other than Standard, the MaxCapacity + // field is set automatically and becomes read-only. + // // When the WorkerType field is set to a value other than Standard, the MaxCapacity // field is set automatically and becomes read-only. MaxCapacity *float64 `type:"double"` @@ -16789,6 +16811,8 @@ type CreateMLTransformInput struct { // The number of workers of a defined workerType that are allocated when this // task runs. + // + // If WorkerType is set, then NumberOfWorkers is required (and vice versa). NumberOfWorkers *int64 `type:"integer"` // The algorithmic parameters that are specific to the transform type used. @@ -16798,9 +16822,17 @@ type CreateMLTransformInput struct { Parameters *TransformParameters `type:"structure" required:"true"` // The name or Amazon Resource Name (ARN) of the IAM role with the required - // permissions. Ensure that this role has permission to your Amazon Simple Storage - // Service (Amazon S3) sources, targets, temporary directory, scripts, and any - // libraries that are used by the task run for this transform. + // permissions. The required permissions include both AWS Glue service role + // permissions to AWS Glue resources, and Amazon S3 permissions required by + // the transform. + // + // * This role needs AWS Glue service role permissions to allow access to + // resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS + // Glue (https://docs.aws.amazon.com/glue/latest/dg/attach-policy-iam-user.html). + // + // * This role needs permission to your Amazon Simple Storage Service (Amazon + // S3) sources, targets, temporary directory, scripts, and any libraries + // used by the task run for this transform. // // Role is a required field Role *string `type:"string" required:"true"` @@ -16821,6 +16853,18 @@ type CreateMLTransformInput struct { // // * For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory // and a 128GB disk, and 1 executor per worker. + // + // MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType. + // + // * If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot + // be set. + // + // * If MaxCapacity is set then neither NumberOfWorkers or WorkerType can + // be set. + // + // * If WorkerType is set, then NumberOfWorkers is required (and vice versa). + // + // * MaxCapacity and NumberOfWorkers must both be at least 1. WorkerType *string `type:"string" enum:"WorkerType"` } @@ -16837,6 +16881,9 @@ func (s CreateMLTransformInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateMLTransformInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateMLTransformInput"} + if s.GlueVersion != nil && len(*s.GlueVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GlueVersion", 1)) + } if s.InputRecordTables == nil { invalidParams.Add(request.NewErrParamRequired("InputRecordTables")) } @@ -16883,6 +16930,12 @@ func (s *CreateMLTransformInput) SetDescription(v string) *CreateMLTransformInpu return s } +// SetGlueVersion sets the GlueVersion field's value. +func (s *CreateMLTransformInput) SetGlueVersion(v string) *CreateMLTransformInput { + s.GlueVersion = &v + return s +} + // SetInputRecordTables sets the InputRecordTables field's value. func (s *CreateMLTransformInput) SetInputRecordTables(v []*Table) *CreateMLTransformInput { s.InputRecordTables = v @@ -21836,6 +21889,13 @@ type GetMLTransformOutput struct { // The latest evaluation metrics. EvaluationMetrics *EvaluationMetrics `type:"structure"` + // This value determines which version of AWS Glue this machine learning transform + // is compatible with. Glue 1.0 is recommended for most customers. If the value + // is not set, the Glue compatibility defaults to Glue 0.9. For more information, + // see AWS Glue Versions (https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions) + // in the developer guide. + GlueVersion *string `min:"1" type:"string"` + // A list of AWS Glue table definitions used by the transform. InputRecordTables []*Table `type:"list"` @@ -21932,6 +21992,12 @@ func (s *GetMLTransformOutput) SetEvaluationMetrics(v *EvaluationMetrics) *GetML return s } +// SetGlueVersion sets the GlueVersion field's value. +func (s *GetMLTransformOutput) SetGlueVersion(v string) *GetMLTransformOutput { + s.GlueVersion = &v + return s +} + // SetInputRecordTables sets the InputRecordTables field's value. func (s *GetMLTransformOutput) SetInputRecordTables(v []*Table) *GetMLTransformOutput { s.InputRecordTables = v @@ -25999,6 +26065,13 @@ type MLTransform struct { // quality of your machine learning transform. EvaluationMetrics *EvaluationMetrics `type:"structure"` + // This value determines which version of AWS Glue this machine learning transform + // is compatible with. Glue 1.0 is recommended for most customers. If the value + // is not set, the Glue compatibility defaults to Glue 0.9. For more information, + // see AWS Glue Versions (https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions) + // in the developer guide. + GlueVersion *string `min:"1" type:"string"` + // A list of AWS Glue table definitions used by the transform. InputRecordTables []*Table `type:"list"` @@ -26015,7 +26088,19 @@ type MLTransform struct { // task runs for this transform. You can allocate from 2 to 100 DPUs; the default // is 10. A DPU is a relative measure of processing power that consists of 4 // vCPUs of compute capacity and 16 GB of memory. For more information, see - // the AWS Glue pricing page (https://aws.amazon.com/glue/pricing/). + // the AWS Glue pricing page (http://aws.amazon.com/glue/pricing/). + // + // MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType. + // + // * If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot + // be set. + // + // * If MaxCapacity is set then neither NumberOfWorkers or WorkerType can + // be set. + // + // * If WorkerType is set, then NumberOfWorkers is required (and vice versa). + // + // * MaxCapacity and NumberOfWorkers must both be at least 1. // // When the WorkerType field is set to a value other than Standard, the MaxCapacity // field is set automatically and becomes read-only. @@ -26031,6 +26116,8 @@ type MLTransform struct { // The number of workers of a defined workerType that are allocated when a task // of the transform runs. + // + // If WorkerType is set, then NumberOfWorkers is required (and vice versa). NumberOfWorkers *int64 `type:"integer"` // A TransformParameters object. You can use parameters to tune (customize) @@ -26040,9 +26127,17 @@ type MLTransform struct { Parameters *TransformParameters `type:"structure"` // The name or Amazon Resource Name (ARN) of the IAM role with the required - // permissions. This role needs permission to your Amazon Simple Storage Service - // (Amazon S3) sources, targets, temporary directory, scripts, and any libraries - // used by the task run for this transform. + // permissions. The required permissions include both AWS Glue service role + // permissions to AWS Glue resources, and Amazon S3 permissions required by + // the transform. + // + // * This role needs AWS Glue service role permissions to allow access to + // resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS + // Glue (https://docs.aws.amazon.com/glue/latest/dg/attach-policy-iam-user.html). + // + // * This role needs permission to your Amazon Simple Storage Service (Amazon + // S3) sources, targets, temporary directory, scripts, and any libraries + // used by the task run for this transform. Role *string `type:"string"` // A map of key-value pairs representing the columns and data types that this @@ -26070,6 +26165,18 @@ type MLTransform struct { // // * For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory // and a 128GB disk, and 1 executor per worker. + // + // MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType. + // + // * If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot + // be set. + // + // * If MaxCapacity is set then neither NumberOfWorkers or WorkerType can + // be set. + // + // * If WorkerType is set, then NumberOfWorkers is required (and vice versa). + // + // * MaxCapacity and NumberOfWorkers must both be at least 1. WorkerType *string `type:"string" enum:"WorkerType"` } @@ -26101,6 +26208,12 @@ func (s *MLTransform) SetEvaluationMetrics(v *EvaluationMetrics) *MLTransform { return s } +// SetGlueVersion sets the GlueVersion field's value. +func (s *MLTransform) SetGlueVersion(v string) *MLTransform { + s.GlueVersion = &v + return s +} + // SetInputRecordTables sets the InputRecordTables field's value. func (s *MLTransform) SetInputRecordTables(v []*Table) *MLTransform { s.InputRecordTables = v @@ -29791,6 +29904,13 @@ type TransformFilterCriteria struct { // The time and date before which the transforms were created. CreatedBefore *time.Time `type:"timestamp"` + // This value determines which version of AWS Glue this machine learning transform + // is compatible with. Glue 1.0 is recommended for most customers. If the value + // is not set, the Glue compatibility defaults to Glue 0.9. For more information, + // see AWS Glue Versions (https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions) + // in the developer guide. + GlueVersion *string `min:"1" type:"string"` + // Filter on transforms last modified after this date. LastModifiedAfter *time.Time `type:"timestamp"` @@ -29829,6 +29949,9 @@ func (s TransformFilterCriteria) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *TransformFilterCriteria) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TransformFilterCriteria"} + if s.GlueVersion != nil && len(*s.GlueVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GlueVersion", 1)) + } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } @@ -29861,6 +29984,12 @@ func (s *TransformFilterCriteria) SetCreatedBefore(v time.Time) *TransformFilter return s } +// SetGlueVersion sets the GlueVersion field's value. +func (s *TransformFilterCriteria) SetGlueVersion(v string) *TransformFilterCriteria { + s.GlueVersion = &v + return s +} + // SetLastModifiedAfter sets the LastModifiedAfter field's value. func (s *TransformFilterCriteria) SetLastModifiedAfter(v time.Time) *TransformFilterCriteria { s.LastModifiedAfter = &v @@ -31236,6 +31365,13 @@ type UpdateMLTransformInput struct { // A description of the transform. The default is an empty string. Description *string `type:"string"` + // This value determines which version of AWS Glue this machine learning transform + // is compatible with. Glue 1.0 is recommended for most customers. If the value + // is not set, the Glue compatibility defaults to Glue 0.9. For more information, + // see AWS Glue Versions (https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions) + // in the developer guide. + GlueVersion *string `min:"1" type:"string"` + // The number of AWS Glue data processing units (DPUs) that are allocated to // task runs for this transform. You can allocate from 2 to 100 DPUs; the default // is 10. A DPU is a relative measure of processing power that consists of 4 @@ -31302,6 +31438,9 @@ func (s UpdateMLTransformInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateMLTransformInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateMLTransformInput"} + if s.GlueVersion != nil && len(*s.GlueVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GlueVersion", 1)) + } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } @@ -31332,6 +31471,12 @@ func (s *UpdateMLTransformInput) SetDescription(v string) *UpdateMLTransformInpu return s } +// SetGlueVersion sets the GlueVersion field's value. +func (s *UpdateMLTransformInput) SetGlueVersion(v string) *UpdateMLTransformInput { + s.GlueVersion = &v + return s +} + // SetMaxCapacity sets the MaxCapacity field's value. func (s *UpdateMLTransformInput) SetMaxCapacity(v float64) *UpdateMLTransformInput { s.MaxCapacity = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/greengrass/api.go b/vendor/github.com/aws/aws-sdk-go/service/greengrass/api.go index 2ef8296ae567..f31553e22e68 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/greengrass/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/greengrass/api.go @@ -16021,6 +16021,11 @@ func (s *Resource) Validate() error { if s.ResourceDataContainer == nil { invalidParams.Add(request.NewErrParamRequired("ResourceDataContainer")) } + if s.ResourceDataContainer != nil { + if err := s.ResourceDataContainer.Validate(); err != nil { + invalidParams.AddNested("ResourceDataContainer", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -16130,6 +16135,26 @@ func (s ResourceDataContainer) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceDataContainer) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceDataContainer"} + if s.S3MachineLearningModelResourceData != nil { + if err := s.S3MachineLearningModelResourceData.Validate(); err != nil { + invalidParams.AddNested("S3MachineLearningModelResourceData", err.(request.ErrInvalidParams)) + } + } + if s.SageMakerMachineLearningModelResourceData != nil { + if err := s.SageMakerMachineLearningModelResourceData.Validate(); err != nil { + invalidParams.AddNested("SageMakerMachineLearningModelResourceData", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetLocalDeviceResourceData sets the LocalDeviceResourceData field's value. func (s *ResourceDataContainer) SetLocalDeviceResourceData(v *LocalDeviceResourceData) *ResourceDataContainer { s.LocalDeviceResourceData = v @@ -16204,6 +16229,62 @@ func (s *ResourceDefinitionVersion) SetResources(v []*Resource) *ResourceDefinit return s } +// The owner setting for downloaded machine learning resources. +type ResourceDownloadOwnerSetting struct { + _ struct{} `type:"structure"` + + // The group owner of the resource. This is the name of an existing Linux OS + // group on the system or a GID. The group's permissions are added to the Lambda + // process. + // + // GroupOwner is a required field + GroupOwner *string `type:"string" required:"true"` + + // The permissions that the group owner has to the resource. Valid values are + // ''rw'' (read/write) or ''ro'' (read-only). + // + // GroupPermission is a required field + GroupPermission *string `type:"string" required:"true" enum:"Permission"` +} + +// String returns the string representation +func (s ResourceDownloadOwnerSetting) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceDownloadOwnerSetting) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceDownloadOwnerSetting) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceDownloadOwnerSetting"} + if s.GroupOwner == nil { + invalidParams.Add(request.NewErrParamRequired("GroupOwner")) + } + if s.GroupPermission == nil { + invalidParams.Add(request.NewErrParamRequired("GroupPermission")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroupOwner sets the GroupOwner field's value. +func (s *ResourceDownloadOwnerSetting) SetGroupOwner(v string) *ResourceDownloadOwnerSetting { + s.GroupOwner = &v + return s +} + +// SetGroupPermission sets the GroupPermission field's value. +func (s *ResourceDownloadOwnerSetting) SetGroupPermission(v string) *ResourceDownloadOwnerSetting { + s.GroupPermission = &v + return s +} + // Attributes that define an Amazon S3 machine learning resource. type S3MachineLearningModelResourceData struct { _ struct{} `type:"structure"` @@ -16211,6 +16292,9 @@ type S3MachineLearningModelResourceData struct { // The absolute local path of the resource inside the Lambda environment. DestinationPath *string `type:"string"` + // The owner setting for downloaded machine learning resources. + OwnerSetting *ResourceDownloadOwnerSetting `type:"structure"` + // The URI of the source model in an S3 bucket. The model package must be in // tar.gz or .zip format. S3Uri *string `type:"string"` @@ -16226,12 +16310,33 @@ func (s S3MachineLearningModelResourceData) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3MachineLearningModelResourceData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3MachineLearningModelResourceData"} + if s.OwnerSetting != nil { + if err := s.OwnerSetting.Validate(); err != nil { + invalidParams.AddNested("OwnerSetting", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDestinationPath sets the DestinationPath field's value. func (s *S3MachineLearningModelResourceData) SetDestinationPath(v string) *S3MachineLearningModelResourceData { s.DestinationPath = &v return s } +// SetOwnerSetting sets the OwnerSetting field's value. +func (s *S3MachineLearningModelResourceData) SetOwnerSetting(v *ResourceDownloadOwnerSetting) *S3MachineLearningModelResourceData { + s.OwnerSetting = v + return s +} + // SetS3Uri sets the S3Uri field's value. func (s *S3MachineLearningModelResourceData) SetS3Uri(v string) *S3MachineLearningModelResourceData { s.S3Uri = &v @@ -16245,6 +16350,9 @@ type SageMakerMachineLearningModelResourceData struct { // The absolute local path of the resource inside the Lambda environment. DestinationPath *string `type:"string"` + // The owner setting for downloaded machine learning resources. + OwnerSetting *ResourceDownloadOwnerSetting `type:"structure"` + // The ARN of the Amazon SageMaker training job that represents the source model. SageMakerJobArn *string `type:"string"` } @@ -16259,12 +16367,33 @@ func (s SageMakerMachineLearningModelResourceData) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *SageMakerMachineLearningModelResourceData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SageMakerMachineLearningModelResourceData"} + if s.OwnerSetting != nil { + if err := s.OwnerSetting.Validate(); err != nil { + invalidParams.AddNested("OwnerSetting", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDestinationPath sets the DestinationPath field's value. func (s *SageMakerMachineLearningModelResourceData) SetDestinationPath(v string) *SageMakerMachineLearningModelResourceData { s.DestinationPath = &v return s } +// SetOwnerSetting sets the OwnerSetting field's value. +func (s *SageMakerMachineLearningModelResourceData) SetOwnerSetting(v *ResourceDownloadOwnerSetting) *SageMakerMachineLearningModelResourceData { + s.OwnerSetting = v + return s +} + // SetSageMakerJobArn sets the SageMakerJobArn field's value. func (s *SageMakerMachineLearningModelResourceData) SetSageMakerJobArn(v string) *SageMakerMachineLearningModelResourceData { s.SageMakerJobArn = &v @@ -17586,9 +17715,6 @@ const ( // UpdateTargetsArchitectureAarch64 is a UpdateTargetsArchitecture enum value UpdateTargetsArchitectureAarch64 = "aarch64" - - // UpdateTargetsArchitectureOpenwrt is a UpdateTargetsArchitecture enum value - UpdateTargetsArchitectureOpenwrt = "openwrt" ) // The operating system of the cores which are the targets of an update. @@ -17601,4 +17727,7 @@ const ( // UpdateTargetsOperatingSystemAmazonLinux is a UpdateTargetsOperatingSystem enum value UpdateTargetsOperatingSystemAmazonLinux = "amazon_linux" + + // UpdateTargetsOperatingSystemOpenwrt is a UpdateTargetsOperatingSystem enum value + UpdateTargetsOperatingSystemOpenwrt = "openwrt" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/iot/api.go b/vendor/github.com/aws/aws-sdk-go/service/iot/api.go index bafe804d83b3..b8b03b0ecca2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iot/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iot/api.go @@ -1725,6 +1725,105 @@ func (c *IoT) CreateCertificateFromCsrWithContext(ctx aws.Context, input *Create return out, req.Send() } +const opCreateDomainConfiguration = "CreateDomainConfiguration" + +// CreateDomainConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateDomainConfiguration 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 CreateDomainConfiguration for more information on using the CreateDomainConfiguration +// 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 CreateDomainConfigurationRequest method. +// req, resp := client.CreateDomainConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) CreateDomainConfigurationRequest(input *CreateDomainConfigurationInput) (req *request.Request, output *CreateDomainConfigurationOutput) { + op := &request.Operation{ + Name: opCreateDomainConfiguration, + HTTPMethod: "POST", + HTTPPath: "/domainConfigurations/{domainConfigurationName}", + } + + if input == nil { + input = &CreateDomainConfigurationInput{} + } + + output = &CreateDomainConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDomainConfiguration API operation for AWS IoT. +// +// Creates a domain configuration. +// +// The domain configuration feature is in public preview and is subject to change. +// +// 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 IoT's +// API operation CreateDomainConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit has been exceeded. +// +// * ErrCodeCertificateValidationException "CertificateValidationException" +// The certificate is invalid. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The resource already exists. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +func (c *IoT) CreateDomainConfiguration(input *CreateDomainConfigurationInput) (*CreateDomainConfigurationOutput, error) { + req, out := c.CreateDomainConfigurationRequest(input) + return out, req.Send() +} + +// CreateDomainConfigurationWithContext is the same as CreateDomainConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDomainConfiguration 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 *IoT) CreateDomainConfigurationWithContext(ctx aws.Context, input *CreateDomainConfigurationInput, opts ...request.Option) (*CreateDomainConfigurationOutput, error) { + req, out := c.CreateDomainConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDynamicThingGroup = "CreateDynamicThingGroup" // CreateDynamicThingGroupRequest generates a "aws/request.Request" representing the @@ -1953,7 +2052,8 @@ func (c *IoT) CreateKeysAndCertificateRequest(input *CreateKeysAndCertificateInp // CreateKeysAndCertificate API operation for AWS IoT. // // Creates a 2048-bit RSA key pair and issues an X.509 certificate using the -// issued public key. +// issued public key. You can also call CreateKeysAndCertificate over MQTT from +// a device, for more information, see Provisioning MQTT API (https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#provision-mqtt-api). // // Note This is the only time AWS IoT issues the private key for this certificate, // so it is important to keep it in a secure location. @@ -2390,6 +2490,283 @@ func (c *IoT) CreatePolicyVersionWithContext(ctx aws.Context, input *CreatePolic return out, req.Send() } +const opCreateProvisioningClaim = "CreateProvisioningClaim" + +// CreateProvisioningClaimRequest generates a "aws/request.Request" representing the +// client's request for the CreateProvisioningClaim 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 CreateProvisioningClaim for more information on using the CreateProvisioningClaim +// 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 CreateProvisioningClaimRequest method. +// req, resp := client.CreateProvisioningClaimRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) CreateProvisioningClaimRequest(input *CreateProvisioningClaimInput) (req *request.Request, output *CreateProvisioningClaimOutput) { + op := &request.Operation{ + Name: opCreateProvisioningClaim, + HTTPMethod: "POST", + HTTPPath: "/provisioning-templates/{templateName}/provisioning-claim", + } + + if input == nil { + input = &CreateProvisioningClaimInput{} + } + + output = &CreateProvisioningClaimOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateProvisioningClaim API operation for AWS IoT. +// +// Creates a provisioning claim. +// +// 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 IoT's +// API operation CreateProvisioningClaim for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +func (c *IoT) CreateProvisioningClaim(input *CreateProvisioningClaimInput) (*CreateProvisioningClaimOutput, error) { + req, out := c.CreateProvisioningClaimRequest(input) + return out, req.Send() +} + +// CreateProvisioningClaimWithContext is the same as CreateProvisioningClaim with the addition of +// the ability to pass a context and additional request options. +// +// See CreateProvisioningClaim 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 *IoT) CreateProvisioningClaimWithContext(ctx aws.Context, input *CreateProvisioningClaimInput, opts ...request.Option) (*CreateProvisioningClaimOutput, error) { + req, out := c.CreateProvisioningClaimRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateProvisioningTemplate = "CreateProvisioningTemplate" + +// CreateProvisioningTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateProvisioningTemplate 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 CreateProvisioningTemplate for more information on using the CreateProvisioningTemplate +// 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 CreateProvisioningTemplateRequest method. +// req, resp := client.CreateProvisioningTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) CreateProvisioningTemplateRequest(input *CreateProvisioningTemplateInput) (req *request.Request, output *CreateProvisioningTemplateOutput) { + op := &request.Operation{ + Name: opCreateProvisioningTemplate, + HTTPMethod: "POST", + HTTPPath: "/provisioning-templates", + } + + if input == nil { + input = &CreateProvisioningTemplateInput{} + } + + output = &CreateProvisioningTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateProvisioningTemplate API operation for AWS IoT. +// +// Creates a fleet provisioning template. +// +// 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 IoT's +// API operation CreateProvisioningTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit has been exceeded. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException" +// The resource already exists. +// +func (c *IoT) CreateProvisioningTemplate(input *CreateProvisioningTemplateInput) (*CreateProvisioningTemplateOutput, error) { + req, out := c.CreateProvisioningTemplateRequest(input) + return out, req.Send() +} + +// CreateProvisioningTemplateWithContext is the same as CreateProvisioningTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateProvisioningTemplate 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 *IoT) CreateProvisioningTemplateWithContext(ctx aws.Context, input *CreateProvisioningTemplateInput, opts ...request.Option) (*CreateProvisioningTemplateOutput, error) { + req, out := c.CreateProvisioningTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateProvisioningTemplateVersion = "CreateProvisioningTemplateVersion" + +// CreateProvisioningTemplateVersionRequest generates a "aws/request.Request" representing the +// client's request for the CreateProvisioningTemplateVersion 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 CreateProvisioningTemplateVersion for more information on using the CreateProvisioningTemplateVersion +// 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 CreateProvisioningTemplateVersionRequest method. +// req, resp := client.CreateProvisioningTemplateVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) CreateProvisioningTemplateVersionRequest(input *CreateProvisioningTemplateVersionInput) (req *request.Request, output *CreateProvisioningTemplateVersionOutput) { + op := &request.Operation{ + Name: opCreateProvisioningTemplateVersion, + HTTPMethod: "POST", + HTTPPath: "/provisioning-templates/{templateName}/versions", + } + + if input == nil { + input = &CreateProvisioningTemplateVersionInput{} + } + + output = &CreateProvisioningTemplateVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateProvisioningTemplateVersion API operation for AWS IoT. +// +// Creates a new version of a fleet provisioning template. +// +// 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 IoT's +// API operation CreateProvisioningTemplateVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeVersionsLimitExceededException "VersionsLimitExceededException" +// The number of policy versions exceeds the limit. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeConflictingResourceUpdateException "ConflictingResourceUpdateException" +// A conflicting resource update exception. This exception is thrown when two +// pending updates cause a conflict. +// +func (c *IoT) CreateProvisioningTemplateVersion(input *CreateProvisioningTemplateVersionInput) (*CreateProvisioningTemplateVersionOutput, error) { + req, out := c.CreateProvisioningTemplateVersionRequest(input) + return out, req.Send() +} + +// CreateProvisioningTemplateVersionWithContext is the same as CreateProvisioningTemplateVersion with the addition of +// the ability to pass a context and additional request options. +// +// See CreateProvisioningTemplateVersion 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 *IoT) CreateProvisioningTemplateVersionWithContext(ctx aws.Context, input *CreateProvisioningTemplateVersionInput, opts ...request.Option) (*CreateProvisioningTemplateVersionOutput, error) { + req, out := c.CreateProvisioningTemplateVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateRoleAlias = "CreateRoleAlias" // CreateRoleAliasRequest generates a "aws/request.Request" representing the @@ -3688,6 +4065,100 @@ func (c *IoT) DeleteCertificateWithContext(ctx aws.Context, input *DeleteCertifi return out, req.Send() } +const opDeleteDomainConfiguration = "DeleteDomainConfiguration" + +// DeleteDomainConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDomainConfiguration 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 DeleteDomainConfiguration for more information on using the DeleteDomainConfiguration +// 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 DeleteDomainConfigurationRequest method. +// req, resp := client.DeleteDomainConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DeleteDomainConfigurationRequest(input *DeleteDomainConfigurationInput) (req *request.Request, output *DeleteDomainConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteDomainConfiguration, + HTTPMethod: "DELETE", + HTTPPath: "/domainConfigurations/{domainConfigurationName}", + } + + if input == nil { + input = &DeleteDomainConfigurationInput{} + } + + output = &DeleteDomainConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDomainConfiguration API operation for AWS IoT. +// +// Deletes the specified domain configuration. +// +// The domain configuration feature is in public preview and is subject to change. +// +// 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 IoT's +// API operation DeleteDomainConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +func (c *IoT) DeleteDomainConfiguration(input *DeleteDomainConfigurationInput) (*DeleteDomainConfigurationOutput, error) { + req, out := c.DeleteDomainConfigurationRequest(input) + return out, req.Send() +} + +// DeleteDomainConfigurationWithContext is the same as DeleteDomainConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDomainConfiguration 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 *IoT) DeleteDomainConfigurationWithContext(ctx aws.Context, input *DeleteDomainConfigurationInput, opts ...request.Option) (*DeleteDomainConfigurationOutput, error) { + req, out := c.DeleteDomainConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDynamicThingGroup = "DeleteDynamicThingGroup" // DeleteDynamicThingGroupRequest generates a "aws/request.Request" representing the @@ -4351,6 +4822,190 @@ func (c *IoT) DeletePolicyVersionWithContext(ctx aws.Context, input *DeletePolic return out, req.Send() } +const opDeleteProvisioningTemplate = "DeleteProvisioningTemplate" + +// DeleteProvisioningTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteProvisioningTemplate 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 DeleteProvisioningTemplate for more information on using the DeleteProvisioningTemplate +// 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 DeleteProvisioningTemplateRequest method. +// req, resp := client.DeleteProvisioningTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DeleteProvisioningTemplateRequest(input *DeleteProvisioningTemplateInput) (req *request.Request, output *DeleteProvisioningTemplateOutput) { + op := &request.Operation{ + Name: opDeleteProvisioningTemplate, + HTTPMethod: "DELETE", + HTTPPath: "/provisioning-templates/{templateName}", + } + + if input == nil { + input = &DeleteProvisioningTemplateInput{} + } + + output = &DeleteProvisioningTemplateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteProvisioningTemplate API operation for AWS IoT. +// +// Deletes a fleet provisioning template. +// +// 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 IoT's +// API operation DeleteProvisioningTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeDeleteConflictException "DeleteConflictException" +// You can't delete the resource because it is attached to one or more resources. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +func (c *IoT) DeleteProvisioningTemplate(input *DeleteProvisioningTemplateInput) (*DeleteProvisioningTemplateOutput, error) { + req, out := c.DeleteProvisioningTemplateRequest(input) + return out, req.Send() +} + +// DeleteProvisioningTemplateWithContext is the same as DeleteProvisioningTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteProvisioningTemplate 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 *IoT) DeleteProvisioningTemplateWithContext(ctx aws.Context, input *DeleteProvisioningTemplateInput, opts ...request.Option) (*DeleteProvisioningTemplateOutput, error) { + req, out := c.DeleteProvisioningTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteProvisioningTemplateVersion = "DeleteProvisioningTemplateVersion" + +// DeleteProvisioningTemplateVersionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteProvisioningTemplateVersion 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 DeleteProvisioningTemplateVersion for more information on using the DeleteProvisioningTemplateVersion +// 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 DeleteProvisioningTemplateVersionRequest method. +// req, resp := client.DeleteProvisioningTemplateVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DeleteProvisioningTemplateVersionRequest(input *DeleteProvisioningTemplateVersionInput) (req *request.Request, output *DeleteProvisioningTemplateVersionOutput) { + op := &request.Operation{ + Name: opDeleteProvisioningTemplateVersion, + HTTPMethod: "DELETE", + HTTPPath: "/provisioning-templates/{templateName}/versions/{versionId}", + } + + if input == nil { + input = &DeleteProvisioningTemplateVersionInput{} + } + + output = &DeleteProvisioningTemplateVersionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteProvisioningTemplateVersion API operation for AWS IoT. +// +// Deletes a fleet provisioning template version. +// +// 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 IoT's +// API operation DeleteProvisioningTemplateVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeDeleteConflictException "DeleteConflictException" +// You can't delete the resource because it is attached to one or more resources. +// +func (c *IoT) DeleteProvisioningTemplateVersion(input *DeleteProvisioningTemplateVersionInput) (*DeleteProvisioningTemplateVersionOutput, error) { + req, out := c.DeleteProvisioningTemplateVersionRequest(input) + return out, req.Send() +} + +// DeleteProvisioningTemplateVersionWithContext is the same as DeleteProvisioningTemplateVersion with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteProvisioningTemplateVersion 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 *IoT) DeleteProvisioningTemplateVersionWithContext(ctx aws.Context, input *DeleteProvisioningTemplateVersionInput, opts ...request.Option) (*DeleteProvisioningTemplateVersionOutput, error) { + req, out := c.DeleteProvisioningTemplateVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteRegistrationCode = "DeleteRegistrationCode" // DeleteRegistrationCodeRequest generates a "aws/request.Request" representing the @@ -6229,6 +6884,96 @@ func (c *IoT) DescribeDefaultAuthorizerWithContext(ctx aws.Context, input *Descr return out, req.Send() } +const opDescribeDomainConfiguration = "DescribeDomainConfiguration" + +// DescribeDomainConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDomainConfiguration 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 DescribeDomainConfiguration for more information on using the DescribeDomainConfiguration +// 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 DescribeDomainConfigurationRequest method. +// req, resp := client.DescribeDomainConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DescribeDomainConfigurationRequest(input *DescribeDomainConfigurationInput) (req *request.Request, output *DescribeDomainConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeDomainConfiguration, + HTTPMethod: "GET", + HTTPPath: "/domainConfigurations/{domainConfigurationName}", + } + + if input == nil { + input = &DescribeDomainConfigurationInput{} + } + + output = &DescribeDomainConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDomainConfiguration API operation for AWS IoT. +// +// Gets summary information about a domain configuration. +// +// The domain configuration feature is in public preview and is subject to change. +// +// 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 IoT's +// API operation DescribeDomainConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +func (c *IoT) DescribeDomainConfiguration(input *DescribeDomainConfigurationInput) (*DescribeDomainConfigurationOutput, error) { + req, out := c.DescribeDomainConfigurationRequest(input) + return out, req.Send() +} + +// DescribeDomainConfigurationWithContext is the same as DescribeDomainConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDomainConfiguration 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 *IoT) DescribeDomainConfigurationWithContext(ctx aws.Context, input *DescribeDomainConfigurationInput, opts ...request.Option) (*DescribeDomainConfigurationOutput, error) { + req, out := c.DescribeDomainConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeEndpoint = "DescribeEndpoint" // DescribeEndpointRequest generates a "aws/request.Request" representing the @@ -6739,6 +7484,182 @@ func (c *IoT) DescribeMitigationActionWithContext(ctx aws.Context, input *Descri return out, req.Send() } +const opDescribeProvisioningTemplate = "DescribeProvisioningTemplate" + +// DescribeProvisioningTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DescribeProvisioningTemplate 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 DescribeProvisioningTemplate for more information on using the DescribeProvisioningTemplate +// 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 DescribeProvisioningTemplateRequest method. +// req, resp := client.DescribeProvisioningTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DescribeProvisioningTemplateRequest(input *DescribeProvisioningTemplateInput) (req *request.Request, output *DescribeProvisioningTemplateOutput) { + op := &request.Operation{ + Name: opDescribeProvisioningTemplate, + HTTPMethod: "GET", + HTTPPath: "/provisioning-templates/{templateName}", + } + + if input == nil { + input = &DescribeProvisioningTemplateInput{} + } + + output = &DescribeProvisioningTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeProvisioningTemplate API operation for AWS IoT. +// +// Returns information about a fleet provisioning template. +// +// 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 IoT's +// API operation DescribeProvisioningTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +func (c *IoT) DescribeProvisioningTemplate(input *DescribeProvisioningTemplateInput) (*DescribeProvisioningTemplateOutput, error) { + req, out := c.DescribeProvisioningTemplateRequest(input) + return out, req.Send() +} + +// DescribeProvisioningTemplateWithContext is the same as DescribeProvisioningTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeProvisioningTemplate 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 *IoT) DescribeProvisioningTemplateWithContext(ctx aws.Context, input *DescribeProvisioningTemplateInput, opts ...request.Option) (*DescribeProvisioningTemplateOutput, error) { + req, out := c.DescribeProvisioningTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeProvisioningTemplateVersion = "DescribeProvisioningTemplateVersion" + +// DescribeProvisioningTemplateVersionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeProvisioningTemplateVersion 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 DescribeProvisioningTemplateVersion for more information on using the DescribeProvisioningTemplateVersion +// 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 DescribeProvisioningTemplateVersionRequest method. +// req, resp := client.DescribeProvisioningTemplateVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DescribeProvisioningTemplateVersionRequest(input *DescribeProvisioningTemplateVersionInput) (req *request.Request, output *DescribeProvisioningTemplateVersionOutput) { + op := &request.Operation{ + Name: opDescribeProvisioningTemplateVersion, + HTTPMethod: "GET", + HTTPPath: "/provisioning-templates/{templateName}/versions/{versionId}", + } + + if input == nil { + input = &DescribeProvisioningTemplateVersionInput{} + } + + output = &DescribeProvisioningTemplateVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeProvisioningTemplateVersion API operation for AWS IoT. +// +// Returns information about a fleet provisioning template version. +// +// 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 IoT's +// API operation DescribeProvisioningTemplateVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +func (c *IoT) DescribeProvisioningTemplateVersion(input *DescribeProvisioningTemplateVersionInput) (*DescribeProvisioningTemplateVersionOutput, error) { + req, out := c.DescribeProvisioningTemplateVersionRequest(input) + return out, req.Send() +} + +// DescribeProvisioningTemplateVersionWithContext is the same as DescribeProvisioningTemplateVersion with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeProvisioningTemplateVersion 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 *IoT) DescribeProvisioningTemplateVersionWithContext(ctx aws.Context, input *DescribeProvisioningTemplateVersionInput, opts ...request.Option) (*DescribeProvisioningTemplateVersionOutput, error) { + req, out := c.DescribeProvisioningTemplateVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeRoleAlias = "DescribeRoleAlias" // DescribeRoleAliasRequest generates a "aws/request.Request" representing the @@ -8242,7 +9163,7 @@ func (c *IoT) GetIndexingConfigurationRequest(input *GetIndexingConfigurationInp // GetIndexingConfiguration API operation for AWS IoT. // -// Gets the search configuration. +// Gets the indexing configuration. // // 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 @@ -8970,7 +9891,9 @@ func (c *IoT) GetStatisticsRequest(input *GetStatisticsInput) (req *request.Requ // GetStatistics API operation for AWS IoT. // -// Gets statistics about things that match the specified query. +// Returns the count, average, sum, minimum, maximum, sum of squares, variance, +// and standard deviation for the specified aggregated field. If the aggregation +// field is of type String, only the count statistic is returned. // // 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 @@ -10233,6 +11156,97 @@ func (c *IoT) ListCertificatesByCAWithContext(ctx aws.Context, input *ListCertif return out, req.Send() } +const opListDomainConfigurations = "ListDomainConfigurations" + +// ListDomainConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListDomainConfigurations 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 ListDomainConfigurations for more information on using the ListDomainConfigurations +// 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 ListDomainConfigurationsRequest method. +// req, resp := client.ListDomainConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) ListDomainConfigurationsRequest(input *ListDomainConfigurationsInput) (req *request.Request, output *ListDomainConfigurationsOutput) { + op := &request.Operation{ + Name: opListDomainConfigurations, + HTTPMethod: "GET", + HTTPPath: "/domainConfigurations", + } + + if input == nil { + input = &ListDomainConfigurationsInput{} + } + + output = &ListDomainConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDomainConfigurations API operation for AWS IoT. +// +// Gets a list of domain configurations for the user. This list is sorted alphabetically +// by domain configuration name. +// +// The domain configuration feature is in public preview and is subject to change. +// +// 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 IoT's +// API operation ListDomainConfigurations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +func (c *IoT) ListDomainConfigurations(input *ListDomainConfigurationsInput) (*ListDomainConfigurationsOutput, error) { + req, out := c.ListDomainConfigurationsRequest(input) + return out, req.Send() +} + +// ListDomainConfigurationsWithContext is the same as ListDomainConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See ListDomainConfigurations 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 *IoT) ListDomainConfigurationsWithContext(ctx aws.Context, input *ListDomainConfigurationsInput, opts ...request.Option) (*ListDomainConfigurationsOutput, error) { + req, out := c.ListDomainConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListIndices = "ListIndices" // ListIndicesRequest generates a "aws/request.Request" representing the @@ -11311,6 +12325,179 @@ func (c *IoT) ListPrincipalThingsWithContext(ctx aws.Context, input *ListPrincip return out, req.Send() } +const opListProvisioningTemplateVersions = "ListProvisioningTemplateVersions" + +// ListProvisioningTemplateVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListProvisioningTemplateVersions 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 ListProvisioningTemplateVersions for more information on using the ListProvisioningTemplateVersions +// 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 ListProvisioningTemplateVersionsRequest method. +// req, resp := client.ListProvisioningTemplateVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) ListProvisioningTemplateVersionsRequest(input *ListProvisioningTemplateVersionsInput) (req *request.Request, output *ListProvisioningTemplateVersionsOutput) { + op := &request.Operation{ + Name: opListProvisioningTemplateVersions, + HTTPMethod: "GET", + HTTPPath: "/provisioning-templates/{templateName}/versions", + } + + if input == nil { + input = &ListProvisioningTemplateVersionsInput{} + } + + output = &ListProvisioningTemplateVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProvisioningTemplateVersions API operation for AWS IoT. +// +// A list of fleet provisioning template versions. +// +// 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 IoT's +// API operation ListProvisioningTemplateVersions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +func (c *IoT) ListProvisioningTemplateVersions(input *ListProvisioningTemplateVersionsInput) (*ListProvisioningTemplateVersionsOutput, error) { + req, out := c.ListProvisioningTemplateVersionsRequest(input) + return out, req.Send() +} + +// ListProvisioningTemplateVersionsWithContext is the same as ListProvisioningTemplateVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListProvisioningTemplateVersions 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 *IoT) ListProvisioningTemplateVersionsWithContext(ctx aws.Context, input *ListProvisioningTemplateVersionsInput, opts ...request.Option) (*ListProvisioningTemplateVersionsOutput, error) { + req, out := c.ListProvisioningTemplateVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListProvisioningTemplates = "ListProvisioningTemplates" + +// ListProvisioningTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListProvisioningTemplates 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 ListProvisioningTemplates for more information on using the ListProvisioningTemplates +// 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 ListProvisioningTemplatesRequest method. +// req, resp := client.ListProvisioningTemplatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) ListProvisioningTemplatesRequest(input *ListProvisioningTemplatesInput) (req *request.Request, output *ListProvisioningTemplatesOutput) { + op := &request.Operation{ + Name: opListProvisioningTemplates, + HTTPMethod: "GET", + HTTPPath: "/provisioning-templates", + } + + if input == nil { + input = &ListProvisioningTemplatesInput{} + } + + output = &ListProvisioningTemplatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProvisioningTemplates API operation for AWS IoT. +// +// Lists the fleet provisioning templates in your 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 AWS IoT's +// API operation ListProvisioningTemplates for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +func (c *IoT) ListProvisioningTemplates(input *ListProvisioningTemplatesInput) (*ListProvisioningTemplatesOutput, error) { + req, out := c.ListProvisioningTemplatesRequest(input) + return out, req.Send() +} + +// ListProvisioningTemplatesWithContext is the same as ListProvisioningTemplates with the addition of +// the ability to pass a context and additional request options. +// +// See ListProvisioningTemplates 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 *IoT) ListProvisioningTemplatesWithContext(ctx aws.Context, input *ListProvisioningTemplatesInput, opts ...request.Option) (*ListProvisioningTemplatesOutput, error) { + req, out := c.ListProvisioningTemplatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListRoleAliases = "ListRoleAliases" // ListRoleAliasesRequest generates a "aws/request.Request" representing the @@ -13364,7 +14551,11 @@ func (c *IoT) RegisterThingRequest(input *RegisterThingInput) (req *request.Requ // RegisterThing API operation for AWS IoT. // -// Provisions a thing. +// Provisions a thing in the device registry. RegisterThing calls other AWS +// IoT control plane APIs. These calls might exceed your account level AWS IoT +// Throttling Limits (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_iot) +// and cause throttle errors. Please contact AWS Customer Support (https://console.aws.amazon.com/support/home) +// to raise your throttling limits if necessary. // // 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 @@ -15615,6 +16806,103 @@ func (c *IoT) UpdateCertificateWithContext(ctx aws.Context, input *UpdateCertifi return out, req.Send() } +const opUpdateDomainConfiguration = "UpdateDomainConfiguration" + +// UpdateDomainConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDomainConfiguration 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 UpdateDomainConfiguration for more information on using the UpdateDomainConfiguration +// 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 UpdateDomainConfigurationRequest method. +// req, resp := client.UpdateDomainConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) UpdateDomainConfigurationRequest(input *UpdateDomainConfigurationInput) (req *request.Request, output *UpdateDomainConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateDomainConfiguration, + HTTPMethod: "PUT", + HTTPPath: "/domainConfigurations/{domainConfigurationName}", + } + + if input == nil { + input = &UpdateDomainConfigurationInput{} + } + + output = &UpdateDomainConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDomainConfiguration API operation for AWS IoT. +// +// Updates values stored in the domain configuration. Domain configurations +// for default endpoints can't be updated. +// +// The domain configuration feature is in public preview and is subject to change. +// +// 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 IoT's +// API operation UpdateDomainConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeCertificateValidationException "CertificateValidationException" +// The certificate is invalid. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeThrottlingException "ThrottlingException" +// The rate exceeds the limit. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is temporarily unavailable. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +func (c *IoT) UpdateDomainConfiguration(input *UpdateDomainConfigurationInput) (*UpdateDomainConfigurationOutput, error) { + req, out := c.UpdateDomainConfigurationRequest(input) + return out, req.Send() +} + +// UpdateDomainConfigurationWithContext is the same as UpdateDomainConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDomainConfiguration 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 *IoT) UpdateDomainConfigurationWithContext(ctx aws.Context, input *UpdateDomainConfigurationInput, opts ...request.Option) (*UpdateDomainConfigurationOutput, error) { + req, out := c.UpdateDomainConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateDynamicThingGroup = "UpdateDynamicThingGroup" // UpdateDynamicThingGroupRequest generates a "aws/request.Request" representing the @@ -16050,6 +17338,96 @@ func (c *IoT) UpdateMitigationActionWithContext(ctx aws.Context, input *UpdateMi return out, req.Send() } +const opUpdateProvisioningTemplate = "UpdateProvisioningTemplate" + +// UpdateProvisioningTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateProvisioningTemplate 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 UpdateProvisioningTemplate for more information on using the UpdateProvisioningTemplate +// 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 UpdateProvisioningTemplateRequest method. +// req, resp := client.UpdateProvisioningTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) UpdateProvisioningTemplateRequest(input *UpdateProvisioningTemplateInput) (req *request.Request, output *UpdateProvisioningTemplateOutput) { + op := &request.Operation{ + Name: opUpdateProvisioningTemplate, + HTTPMethod: "PATCH", + HTTPPath: "/provisioning-templates/{templateName}", + } + + if input == nil { + input = &UpdateProvisioningTemplateInput{} + } + + output = &UpdateProvisioningTemplateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateProvisioningTemplate API operation for AWS IoT. +// +// Updates a fleet provisioning template. +// +// 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 IoT's +// API operation UpdateProvisioningTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalFailureException "InternalFailureException" +// An unexpected error has occurred. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// The request is not valid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource does not exist. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// You are not authorized to perform this operation. +// +// * ErrCodeConflictingResourceUpdateException "ConflictingResourceUpdateException" +// A conflicting resource update exception. This exception is thrown when two +// pending updates cause a conflict. +// +func (c *IoT) UpdateProvisioningTemplate(input *UpdateProvisioningTemplateInput) (*UpdateProvisioningTemplateOutput, error) { + req, out := c.UpdateProvisioningTemplateRequest(input) + return out, req.Send() +} + +// UpdateProvisioningTemplateWithContext is the same as UpdateProvisioningTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateProvisioningTemplate 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 *IoT) UpdateProvisioningTemplateWithContext(ctx aws.Context, input *UpdateProvisioningTemplateInput, opts ...request.Option) (*UpdateProvisioningTemplateOutput, error) { + req, out := c.UpdateProvisioningTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateRoleAlias = "UpdateRoleAlias" // UpdateRoleAliasRequest generates a "aws/request.Request" representing the @@ -17090,6 +18468,10 @@ type Action struct { // Sends an input to an AWS IoT Events detector. IotEvents *IotEventsAction `locationName:"iotEvents" type:"structure"` + // Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise + // asset properties. + IotSiteWise *IotSiteWiseAction `locationName:"iotSiteWise" type:"structure"` + // Write data to an Amazon Kinesis stream. Kinesis *KinesisAction `locationName:"kinesis" type:"structure"` @@ -17168,6 +18550,11 @@ func (s *Action) Validate() error { invalidParams.AddNested("IotEvents", err.(request.ErrInvalidParams)) } } + if s.IotSiteWise != nil { + if err := s.IotSiteWise.Validate(); err != nil { + invalidParams.AddNested("IotSiteWise", err.(request.ErrInvalidParams)) + } + } if s.Kinesis != nil { if err := s.Kinesis.Validate(); err != nil { invalidParams.AddNested("Kinesis", err.(request.ErrInvalidParams)) @@ -17269,6 +18656,12 @@ func (s *Action) SetIotEvents(v *IotEventsAction) *Action { return s } +// SetIotSiteWise sets the IotSiteWise field's value. +func (s *Action) SetIotSiteWise(v *IotSiteWiseAction) *Action { + s.IotSiteWise = v + return s +} + // SetKinesis sets the Kinesis field's value. func (s *Action) SetKinesis(v *KinesisAction) *Action { s.Kinesis = v @@ -17703,6 +19096,196 @@ func (s *Allowed) SetPolicies(v []*Policy) *Allowed { return s } +// An asset property timestamp entry containing the following information. +type AssetPropertyTimestamp struct { + _ struct{} `type:"structure"` + + // Optional. A string that contains the nanosecond time offset. Accepts substitution + // templates. + OffsetInNanos *string `locationName:"offsetInNanos" type:"string"` + + // A string that contains the time in seconds since epoch. Accepts substitution + // templates. + // + // TimeInSeconds is a required field + TimeInSeconds *string `locationName:"timeInSeconds" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssetPropertyTimestamp) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssetPropertyTimestamp) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetPropertyTimestamp) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetPropertyTimestamp"} + if s.TimeInSeconds == nil { + invalidParams.Add(request.NewErrParamRequired("TimeInSeconds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOffsetInNanos sets the OffsetInNanos field's value. +func (s *AssetPropertyTimestamp) SetOffsetInNanos(v string) *AssetPropertyTimestamp { + s.OffsetInNanos = &v + return s +} + +// SetTimeInSeconds sets the TimeInSeconds field's value. +func (s *AssetPropertyTimestamp) SetTimeInSeconds(v string) *AssetPropertyTimestamp { + s.TimeInSeconds = &v + return s +} + +// An asset property value entry containing the following information. +type AssetPropertyValue struct { + _ struct{} `type:"structure"` + + // Optional. A string that describes the quality of the value. Accepts substitution + // templates. Must be GOOD, BAD, or UNCERTAIN. + Quality *string `locationName:"quality" type:"string"` + + // The asset property value timestamp. + // + // Timestamp is a required field + Timestamp *AssetPropertyTimestamp `locationName:"timestamp" type:"structure" required:"true"` + + // The value of the asset property. + // + // Value is a required field + Value *AssetPropertyVariant `locationName:"value" type:"structure" required:"true"` +} + +// String returns the string representation +func (s AssetPropertyValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssetPropertyValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetPropertyValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetPropertyValue"} + if s.Timestamp == nil { + invalidParams.Add(request.NewErrParamRequired("Timestamp")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Timestamp != nil { + if err := s.Timestamp.Validate(); err != nil { + invalidParams.AddNested("Timestamp", err.(request.ErrInvalidParams)) + } + } + if s.Value != nil { + if err := s.Value.Validate(); err != nil { + invalidParams.AddNested("Value", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetQuality sets the Quality field's value. +func (s *AssetPropertyValue) SetQuality(v string) *AssetPropertyValue { + s.Quality = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *AssetPropertyValue) SetTimestamp(v *AssetPropertyTimestamp) *AssetPropertyValue { + s.Timestamp = v + return s +} + +// SetValue sets the Value field's value. +func (s *AssetPropertyValue) SetValue(v *AssetPropertyVariant) *AssetPropertyValue { + s.Value = v + return s +} + +// Contains an asset property value (of a single type). +type AssetPropertyVariant struct { + _ struct{} `type:"structure"` + + // Optional. A string that contains the boolean value (true or false) of the + // value entry. Accepts substitution templates. + BooleanValue *string `locationName:"booleanValue" type:"string"` + + // Optional. A string that contains the double value of the value entry. Accepts + // substitution templates. + DoubleValue *string `locationName:"doubleValue" type:"string"` + + // Optional. A string that contains the integer value of the value entry. Accepts + // substitution templates. + IntegerValue *string `locationName:"integerValue" type:"string"` + + // Optional. The string value of the value entry. Accepts substitution templates. + StringValue *string `locationName:"stringValue" min:"1" type:"string"` +} + +// String returns the string representation +func (s AssetPropertyVariant) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssetPropertyVariant) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssetPropertyVariant) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssetPropertyVariant"} + if s.StringValue != nil && len(*s.StringValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StringValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBooleanValue sets the BooleanValue field's value. +func (s *AssetPropertyVariant) SetBooleanValue(v string) *AssetPropertyVariant { + s.BooleanValue = &v + return s +} + +// SetDoubleValue sets the DoubleValue field's value. +func (s *AssetPropertyVariant) SetDoubleValue(v string) *AssetPropertyVariant { + s.DoubleValue = &v + return s +} + +// SetIntegerValue sets the IntegerValue field's value. +func (s *AssetPropertyVariant) SetIntegerValue(v string) *AssetPropertyVariant { + s.IntegerValue = &v + return s +} + +// SetStringValue sets the StringValue field's value. +func (s *AssetPropertyVariant) SetStringValue(v string) *AssetPropertyVariant { + s.StringValue = &v + return s +} + type AssociateTargetsWithJobInput struct { _ struct{} `type:"structure"` @@ -18735,6 +20318,53 @@ func (s *AuthResult) SetMissingContextValues(v []*string) *AuthResult { return s } +// An object that specifies the authorization service for a domain. +type AuthorizerConfig struct { + _ struct{} `type:"structure"` + + // A Boolean that specifies whether the domain configuration's authorization + // service can be overridden. + AllowAuthorizerOverride *bool `locationName:"allowAuthorizerOverride" type:"boolean"` + + // The name of the authorization service for a domain configuration. + DefaultAuthorizerName *string `locationName:"defaultAuthorizerName" min:"1" type:"string"` +} + +// String returns the string representation +func (s AuthorizerConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuthorizerConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AuthorizerConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AuthorizerConfig"} + if s.DefaultAuthorizerName != nil && len(*s.DefaultAuthorizerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DefaultAuthorizerName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowAuthorizerOverride sets the AllowAuthorizerOverride field's value. +func (s *AuthorizerConfig) SetAllowAuthorizerOverride(v bool) *AuthorizerConfig { + s.AllowAuthorizerOverride = &v + return s +} + +// SetDefaultAuthorizerName sets the DefaultAuthorizerName field's value. +func (s *AuthorizerConfig) SetDefaultAuthorizerName(v string) *AuthorizerConfig { + s.DefaultAuthorizerName = &v + return s +} + // The authorizer description. type AuthorizerDescription struct { _ struct{} `type:"structure"` @@ -18754,6 +20384,10 @@ type AuthorizerDescription struct { // The UNIX timestamp of when the authorizer was last updated. LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` + // Specifies whether AWS IoT validates the token signature in an authorization + // request. + SigningDisabled *bool `locationName:"signingDisabled" type:"boolean"` + // The status of the authorizer. Status *string `locationName:"status" type:"string" enum:"AuthorizerStatus"` @@ -18805,6 +20439,12 @@ func (s *AuthorizerDescription) SetLastModifiedDate(v time.Time) *AuthorizerDesc return s } +// SetSigningDisabled sets the SigningDisabled field's value. +func (s *AuthorizerDescription) SetSigningDisabled(v bool) *AuthorizerDescription { + s.SigningDisabled = &v + return s +} + // SetStatus sets the Status field's value. func (s *AuthorizerDescription) SetStatus(v string) *AuthorizerDescription { s.Status = &v @@ -20311,19 +21951,19 @@ type CreateAuthorizerInput struct { // AuthorizerName is a required field AuthorizerName *string `location:"uri" locationName:"authorizerName" min:"1" type:"string" required:"true"` + // Specifies whether AWS IoT validates the token signature in an authorization + // request. + SigningDisabled *bool `locationName:"signingDisabled" type:"boolean"` + // The status of the create authorizer request. Status *string `locationName:"status" type:"string" enum:"AuthorizerStatus"` // The name of the token key used to extract the token from the HTTP headers. - // - // TokenKeyName is a required field - TokenKeyName *string `locationName:"tokenKeyName" min:"1" type:"string" required:"true"` + TokenKeyName *string `locationName:"tokenKeyName" min:"1" type:"string"` // The public keys used to verify the digital signature returned by your custom // authentication service. - // - // TokenSigningPublicKeys is a required field - TokenSigningPublicKeys map[string]*string `locationName:"tokenSigningPublicKeys" type:"map" required:"true"` + TokenSigningPublicKeys map[string]*string `locationName:"tokenSigningPublicKeys" type:"map"` } // String returns the string representation @@ -20348,15 +21988,9 @@ func (s *CreateAuthorizerInput) Validate() error { if s.AuthorizerName != nil && len(*s.AuthorizerName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AuthorizerName", 1)) } - if s.TokenKeyName == nil { - invalidParams.Add(request.NewErrParamRequired("TokenKeyName")) - } if s.TokenKeyName != nil && len(*s.TokenKeyName) < 1 { invalidParams.Add(request.NewErrParamMinLen("TokenKeyName", 1)) } - if s.TokenSigningPublicKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TokenSigningPublicKeys")) - } if invalidParams.Len() > 0 { return invalidParams @@ -20376,6 +22010,12 @@ func (s *CreateAuthorizerInput) SetAuthorizerName(v string) *CreateAuthorizerInp return s } +// SetSigningDisabled sets the SigningDisabled field's value. +func (s *CreateAuthorizerInput) SetSigningDisabled(v bool) *CreateAuthorizerInput { + s.SigningDisabled = &v + return s +} + // SetStatus sets the Status field's value. func (s *CreateAuthorizerInput) SetStatus(v string) *CreateAuthorizerInput { s.Status = &v @@ -20621,6 +22261,139 @@ func (s *CreateCertificateFromCsrOutput) SetCertificatePem(v string) *CreateCert return s } +type CreateDomainConfigurationInput struct { + _ struct{} `type:"structure"` + + // An object that specifies the authorization service for a domain. + AuthorizerConfig *AuthorizerConfig `locationName:"authorizerConfig" type:"structure"` + + // The name of the domain configuration. This value must be unique to a region. + // + // DomainConfigurationName is a required field + DomainConfigurationName *string `location:"uri" locationName:"domainConfigurationName" min:"1" type:"string" required:"true"` + + // The name of the domain. + DomainName *string `locationName:"domainName" min:"1" type:"string"` + + // The ARNs of the certificates that AWS IoT passes to the device during the + // TLS handshake. Currently you can specify only one certificate ARN. This value + // is not required for AWS-managed domains. + ServerCertificateArns []*string `locationName:"serverCertificateArns" type:"list"` + + // The type of service delivered by the endpoint. + ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"` + + // The certificate used to validate the server certificate and prove domain + // name ownership. This certificate must be signed by a public certificate authority. + // This value is not required for AWS-managed domains. + ValidationCertificateArn *string `locationName:"validationCertificateArn" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateDomainConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDomainConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDomainConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDomainConfigurationInput"} + if s.DomainConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainConfigurationName")) + } + if s.DomainConfigurationName != nil && len(*s.DomainConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainConfigurationName", 1)) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + if s.ValidationCertificateArn != nil && len(*s.ValidationCertificateArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValidationCertificateArn", 1)) + } + if s.AuthorizerConfig != nil { + if err := s.AuthorizerConfig.Validate(); err != nil { + invalidParams.AddNested("AuthorizerConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthorizerConfig sets the AuthorizerConfig field's value. +func (s *CreateDomainConfigurationInput) SetAuthorizerConfig(v *AuthorizerConfig) *CreateDomainConfigurationInput { + s.AuthorizerConfig = v + return s +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *CreateDomainConfigurationInput) SetDomainConfigurationName(v string) *CreateDomainConfigurationInput { + s.DomainConfigurationName = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *CreateDomainConfigurationInput) SetDomainName(v string) *CreateDomainConfigurationInput { + s.DomainName = &v + return s +} + +// SetServerCertificateArns sets the ServerCertificateArns field's value. +func (s *CreateDomainConfigurationInput) SetServerCertificateArns(v []*string) *CreateDomainConfigurationInput { + s.ServerCertificateArns = v + return s +} + +// SetServiceType sets the ServiceType field's value. +func (s *CreateDomainConfigurationInput) SetServiceType(v string) *CreateDomainConfigurationInput { + s.ServiceType = &v + return s +} + +// SetValidationCertificateArn sets the ValidationCertificateArn field's value. +func (s *CreateDomainConfigurationInput) SetValidationCertificateArn(v string) *CreateDomainConfigurationInput { + s.ValidationCertificateArn = &v + return s +} + +type CreateDomainConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the domain configuration. + DomainConfigurationArn *string `locationName:"domainConfigurationArn" type:"string"` + + // The name of the domain configuration. + DomainConfigurationName *string `locationName:"domainConfigurationName" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateDomainConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDomainConfigurationOutput) GoString() string { + return s.String() +} + +// SetDomainConfigurationArn sets the DomainConfigurationArn field's value. +func (s *CreateDomainConfigurationOutput) SetDomainConfigurationArn(v string) *CreateDomainConfigurationOutput { + s.DomainConfigurationArn = &v + return s +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *CreateDomainConfigurationOutput) SetDomainConfigurationName(v string) *CreateDomainConfigurationOutput { + s.DomainConfigurationName = &v + return s +} + type CreateDynamicThingGroupInput struct { _ struct{} `type:"structure"` @@ -21649,6 +23422,359 @@ func (s *CreatePolicyVersionOutput) SetPolicyVersionId(v string) *CreatePolicyVe return s } +type CreateProvisioningClaimInput struct { + _ struct{} `type:"structure"` + + // The name of the provisioning template to use. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateProvisioningClaimInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProvisioningClaimInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateProvisioningClaimInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProvisioningClaimInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateProvisioningClaimInput) SetTemplateName(v string) *CreateProvisioningClaimInput { + s.TemplateName = &v + return s +} + +type CreateProvisioningClaimOutput struct { + _ struct{} `type:"structure"` + + // The ID of the certificate. + CertificateId *string `locationName:"certificateId" min:"64" type:"string"` + + // The provisioning claim certificate. + CertificatePem *string `locationName:"certificatePem" min:"1" type:"string"` + + // The provisioning claim expiration time. + Expiration *time.Time `locationName:"expiration" type:"timestamp"` + + // The provisioning claim key pair. + KeyPair *KeyPair `locationName:"keyPair" type:"structure"` +} + +// String returns the string representation +func (s CreateProvisioningClaimOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProvisioningClaimOutput) GoString() string { + return s.String() +} + +// SetCertificateId sets the CertificateId field's value. +func (s *CreateProvisioningClaimOutput) SetCertificateId(v string) *CreateProvisioningClaimOutput { + s.CertificateId = &v + return s +} + +// SetCertificatePem sets the CertificatePem field's value. +func (s *CreateProvisioningClaimOutput) SetCertificatePem(v string) *CreateProvisioningClaimOutput { + s.CertificatePem = &v + return s +} + +// SetExpiration sets the Expiration field's value. +func (s *CreateProvisioningClaimOutput) SetExpiration(v time.Time) *CreateProvisioningClaimOutput { + s.Expiration = &v + return s +} + +// SetKeyPair sets the KeyPair field's value. +func (s *CreateProvisioningClaimOutput) SetKeyPair(v *KeyPair) *CreateProvisioningClaimOutput { + s.KeyPair = v + return s +} + +type CreateProvisioningTemplateInput struct { + _ struct{} `type:"structure"` + + // The description of the fleet provisioning template. + Description *string `locationName:"description" type:"string"` + + // True to enable the fleet provisioning template, otherwise false. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The role ARN for the role associated with the fleet provisioning template. + // This IoT role grants permission to provision a device. + // + // ProvisioningRoleArn is a required field + ProvisioningRoleArn *string `locationName:"provisioningRoleArn" min:"20" type:"string" required:"true"` + + // Metadata which can be used to manage the fleet provisioning template. + // + // For URI Request parameters use format: ...key1=value1&key2=value2... + // + // For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..." + // + // For the cli-input-json file use format: "tags": "key1=value1&key2=value2..." + Tags []*Tag `locationName:"tags" type:"list"` + + // The JSON formatted contents of the fleet provisioning template. + // + // TemplateBody is a required field + TemplateBody *string `locationName:"templateBody" type:"string" required:"true"` + + // The name of the fleet provisioning template. + // + // TemplateName is a required field + TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateProvisioningTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProvisioningTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateProvisioningTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProvisioningTemplateInput"} + if s.ProvisioningRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("ProvisioningRoleArn")) + } + if s.ProvisioningRoleArn != nil && len(*s.ProvisioningRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ProvisioningRoleArn", 20)) + } + if s.TemplateBody == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateBody")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateProvisioningTemplateInput) SetDescription(v string) *CreateProvisioningTemplateInput { + s.Description = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *CreateProvisioningTemplateInput) SetEnabled(v bool) *CreateProvisioningTemplateInput { + s.Enabled = &v + return s +} + +// SetProvisioningRoleArn sets the ProvisioningRoleArn field's value. +func (s *CreateProvisioningTemplateInput) SetProvisioningRoleArn(v string) *CreateProvisioningTemplateInput { + s.ProvisioningRoleArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateProvisioningTemplateInput) SetTags(v []*Tag) *CreateProvisioningTemplateInput { + s.Tags = v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *CreateProvisioningTemplateInput) SetTemplateBody(v string) *CreateProvisioningTemplateInput { + s.TemplateBody = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateProvisioningTemplateInput) SetTemplateName(v string) *CreateProvisioningTemplateInput { + s.TemplateName = &v + return s +} + +type CreateProvisioningTemplateOutput struct { + _ struct{} `type:"structure"` + + // The default version of the fleet provisioning template. + DefaultVersionId *int64 `locationName:"defaultVersionId" type:"integer"` + + // The ARN that identifies the provisioning template. + TemplateArn *string `locationName:"templateArn" type:"string"` + + // The name of the fleet provisioning template. + TemplateName *string `locationName:"templateName" min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateProvisioningTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProvisioningTemplateOutput) GoString() string { + return s.String() +} + +// SetDefaultVersionId sets the DefaultVersionId field's value. +func (s *CreateProvisioningTemplateOutput) SetDefaultVersionId(v int64) *CreateProvisioningTemplateOutput { + s.DefaultVersionId = &v + return s +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *CreateProvisioningTemplateOutput) SetTemplateArn(v string) *CreateProvisioningTemplateOutput { + s.TemplateArn = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateProvisioningTemplateOutput) SetTemplateName(v string) *CreateProvisioningTemplateOutput { + s.TemplateName = &v + return s +} + +type CreateProvisioningTemplateVersionInput struct { + _ struct{} `type:"structure"` + + // Sets a fleet provision template version as the default version. + SetAsDefault *bool `location:"querystring" locationName:"setAsDefault" type:"boolean"` + + // The JSON formatted contents of the fleet provisioning template. + // + // TemplateBody is a required field + TemplateBody *string `locationName:"templateBody" type:"string" required:"true"` + + // The name of the fleet provisioning template. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateProvisioningTemplateVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProvisioningTemplateVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateProvisioningTemplateVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProvisioningTemplateVersionInput"} + if s.TemplateBody == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateBody")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSetAsDefault sets the SetAsDefault field's value. +func (s *CreateProvisioningTemplateVersionInput) SetSetAsDefault(v bool) *CreateProvisioningTemplateVersionInput { + s.SetAsDefault = &v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *CreateProvisioningTemplateVersionInput) SetTemplateBody(v string) *CreateProvisioningTemplateVersionInput { + s.TemplateBody = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateProvisioningTemplateVersionInput) SetTemplateName(v string) *CreateProvisioningTemplateVersionInput { + s.TemplateName = &v + return s +} + +type CreateProvisioningTemplateVersionOutput struct { + _ struct{} `type:"structure"` + + // True if the fleet provisioning template version is the default version, otherwise + // false. + IsDefaultVersion *bool `locationName:"isDefaultVersion" type:"boolean"` + + // The ARN that identifies the provisioning template. + TemplateArn *string `locationName:"templateArn" type:"string"` + + // The name of the fleet provisioning template. + TemplateName *string `locationName:"templateName" min:"1" type:"string"` + + // The version of the fleet provisioning template. + VersionId *int64 `locationName:"versionId" type:"integer"` +} + +// String returns the string representation +func (s CreateProvisioningTemplateVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateProvisioningTemplateVersionOutput) GoString() string { + return s.String() +} + +// SetIsDefaultVersion sets the IsDefaultVersion field's value. +func (s *CreateProvisioningTemplateVersionOutput) SetIsDefaultVersion(v bool) *CreateProvisioningTemplateVersionOutput { + s.IsDefaultVersion = &v + return s +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *CreateProvisioningTemplateVersionOutput) SetTemplateArn(v string) *CreateProvisioningTemplateVersionOutput { + s.TemplateArn = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateProvisioningTemplateVersionOutput) SetTemplateName(v string) *CreateProvisioningTemplateVersionOutput { + s.TemplateName = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *CreateProvisioningTemplateVersionOutput) SetVersionId(v int64) *CreateProvisioningTemplateVersionOutput { + s.VersionId = &v + return s +} + type CreateRoleAliasInput struct { _ struct{} `type:"structure"` @@ -21727,7 +23853,7 @@ type CreateRoleAliasOutput struct { RoleAlias *string `locationName:"roleAlias" min:"1" type:"string"` // The role alias ARN. - RoleAliasArn *string `locationName:"roleAliasArn" type:"string"` + RoleAliasArn *string `locationName:"roleAliasArn" min:"1" type:"string"` } // String returns the string representation @@ -23003,6 +25129,61 @@ func (s DeleteCertificateOutput) GoString() string { return s.String() } +type DeleteDomainConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the domain configuration to be deleted. + // + // DomainConfigurationName is a required field + DomainConfigurationName *string `location:"uri" locationName:"domainConfigurationName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDomainConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDomainConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDomainConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDomainConfigurationInput"} + if s.DomainConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainConfigurationName")) + } + if s.DomainConfigurationName != nil && len(*s.DomainConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainConfigurationName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *DeleteDomainConfigurationInput) SetDomainConfigurationName(v string) *DeleteDomainConfigurationInput { + s.DomainConfigurationName = &v + return s +} + +type DeleteDomainConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDomainConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDomainConfigurationOutput) GoString() string { + return s.String() +} + type DeleteDynamicThingGroupInput struct { _ struct{} `type:"structure"` @@ -23507,6 +25688,130 @@ func (s DeletePolicyVersionOutput) GoString() string { return s.String() } +type DeleteProvisioningTemplateInput struct { + _ struct{} `type:"structure"` + + // The name of the fleet provision template to delete. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteProvisioningTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProvisioningTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProvisioningTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProvisioningTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DeleteProvisioningTemplateInput) SetTemplateName(v string) *DeleteProvisioningTemplateInput { + s.TemplateName = &v + return s +} + +type DeleteProvisioningTemplateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteProvisioningTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProvisioningTemplateOutput) GoString() string { + return s.String() +} + +type DeleteProvisioningTemplateVersionInput struct { + _ struct{} `type:"structure"` + + // The name of the fleet provisioning template version to delete. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` + + // The fleet provisioning template version ID to delete. + // + // VersionId is a required field + VersionId *int64 `location:"uri" locationName:"versionId" type:"integer" required:"true"` +} + +// String returns the string representation +func (s DeleteProvisioningTemplateVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProvisioningTemplateVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProvisioningTemplateVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProvisioningTemplateVersionInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + if s.VersionId == nil { + invalidParams.Add(request.NewErrParamRequired("VersionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DeleteProvisioningTemplateVersionInput) SetTemplateName(v string) *DeleteProvisioningTemplateVersionInput { + s.TemplateName = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *DeleteProvisioningTemplateVersionInput) SetVersionId(v int64) *DeleteProvisioningTemplateVersionInput { + s.VersionId = &v + return s +} + +type DeleteProvisioningTemplateVersionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteProvisioningTemplateVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProvisioningTemplateVersionOutput) GoString() string { + return s.String() +} + // The input for the DeleteRegistrationCode operation. type DeleteRegistrationCodeInput struct { _ struct{} `type:"structure"` @@ -24945,6 +27250,134 @@ func (s *DescribeDefaultAuthorizerOutput) SetAuthorizerDescription(v *Authorizer return s } +type DescribeDomainConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of the domain configuration. + // + // DomainConfigurationName is a required field + DomainConfigurationName *string `location:"uri" locationName:"domainConfigurationName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDomainConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDomainConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDomainConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDomainConfigurationInput"} + if s.DomainConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainConfigurationName")) + } + if s.DomainConfigurationName != nil && len(*s.DomainConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainConfigurationName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *DescribeDomainConfigurationInput) SetDomainConfigurationName(v string) *DescribeDomainConfigurationInput { + s.DomainConfigurationName = &v + return s +} + +type DescribeDomainConfigurationOutput struct { + _ struct{} `type:"structure"` + + // An object that specifies the authorization service for a domain. + AuthorizerConfig *AuthorizerConfig `locationName:"authorizerConfig" type:"structure"` + + // The ARN of the domain configuration. + DomainConfigurationArn *string `locationName:"domainConfigurationArn" type:"string"` + + // The name of the domain configuration. + DomainConfigurationName *string `locationName:"domainConfigurationName" min:"1" type:"string"` + + // A Boolean value that specifies the current state of the domain configuration. + DomainConfigurationStatus *string `locationName:"domainConfigurationStatus" type:"string" enum:"DomainConfigurationStatus"` + + // The name of the domain. + DomainName *string `locationName:"domainName" min:"1" type:"string"` + + // The type of the domain. + DomainType *string `locationName:"domainType" type:"string" enum:"DomainType"` + + // A list containing summary information about the server certificate included + // in the domain configuration. + ServerCertificates []*ServerCertificateSummary `locationName:"serverCertificates" type:"list"` + + // The type of service delivered by the endpoint. + ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"` +} + +// String returns the string representation +func (s DescribeDomainConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDomainConfigurationOutput) GoString() string { + return s.String() +} + +// SetAuthorizerConfig sets the AuthorizerConfig field's value. +func (s *DescribeDomainConfigurationOutput) SetAuthorizerConfig(v *AuthorizerConfig) *DescribeDomainConfigurationOutput { + s.AuthorizerConfig = v + return s +} + +// SetDomainConfigurationArn sets the DomainConfigurationArn field's value. +func (s *DescribeDomainConfigurationOutput) SetDomainConfigurationArn(v string) *DescribeDomainConfigurationOutput { + s.DomainConfigurationArn = &v + return s +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *DescribeDomainConfigurationOutput) SetDomainConfigurationName(v string) *DescribeDomainConfigurationOutput { + s.DomainConfigurationName = &v + return s +} + +// SetDomainConfigurationStatus sets the DomainConfigurationStatus field's value. +func (s *DescribeDomainConfigurationOutput) SetDomainConfigurationStatus(v string) *DescribeDomainConfigurationOutput { + s.DomainConfigurationStatus = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DescribeDomainConfigurationOutput) SetDomainName(v string) *DescribeDomainConfigurationOutput { + s.DomainName = &v + return s +} + +// SetDomainType sets the DomainType field's value. +func (s *DescribeDomainConfigurationOutput) SetDomainType(v string) *DescribeDomainConfigurationOutput { + s.DomainType = &v + return s +} + +// SetServerCertificates sets the ServerCertificates field's value. +func (s *DescribeDomainConfigurationOutput) SetServerCertificates(v []*ServerCertificateSummary) *DescribeDomainConfigurationOutput { + s.ServerCertificates = v + return s +} + +// SetServiceType sets the ServiceType field's value. +func (s *DescribeDomainConfigurationOutput) SetServiceType(v string) *DescribeDomainConfigurationOutput { + s.ServiceType = &v + return s +} + // The input for the DescribeEndpoint operation. type DescribeEndpointInput struct { _ struct{} `type:"structure"` @@ -25443,6 +27876,248 @@ func (s *DescribeMitigationActionOutput) SetRoleArn(v string) *DescribeMitigatio return s } +type DescribeProvisioningTemplateInput struct { + _ struct{} `type:"structure"` + + // The name of the fleet provisioning template. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeProvisioningTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProvisioningTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeProvisioningTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DescribeProvisioningTemplateInput) SetTemplateName(v string) *DescribeProvisioningTemplateInput { + s.TemplateName = &v + return s +} + +type DescribeProvisioningTemplateOutput struct { + _ struct{} `type:"structure"` + + // The date when the fleet provisioning template was created. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // The default fleet template version ID. + DefaultVersionId *int64 `locationName:"defaultVersionId" type:"integer"` + + // The description of the fleet provisioning template. + Description *string `locationName:"description" type:"string"` + + // True if the fleet provisioning template is enabled, otherwise false. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The date when the fleet provisioning template was last modified. + LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` + + // The ARN of the role associated with the provisioning template. This IoT role + // grants permission to provision a device. + ProvisioningRoleArn *string `locationName:"provisioningRoleArn" min:"20" type:"string"` + + // The ARN of the fleet provisioning template. + TemplateArn *string `locationName:"templateArn" type:"string"` + + // The JSON formatted contents of the fleet provisioning template. + TemplateBody *string `locationName:"templateBody" type:"string"` + + // The name of the fleet provisioning template. + TemplateName *string `locationName:"templateName" min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeProvisioningTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProvisioningTemplateOutput) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *DescribeProvisioningTemplateOutput) SetCreationDate(v time.Time) *DescribeProvisioningTemplateOutput { + s.CreationDate = &v + return s +} + +// SetDefaultVersionId sets the DefaultVersionId field's value. +func (s *DescribeProvisioningTemplateOutput) SetDefaultVersionId(v int64) *DescribeProvisioningTemplateOutput { + s.DefaultVersionId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DescribeProvisioningTemplateOutput) SetDescription(v string) *DescribeProvisioningTemplateOutput { + s.Description = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *DescribeProvisioningTemplateOutput) SetEnabled(v bool) *DescribeProvisioningTemplateOutput { + s.Enabled = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *DescribeProvisioningTemplateOutput) SetLastModifiedDate(v time.Time) *DescribeProvisioningTemplateOutput { + s.LastModifiedDate = &v + return s +} + +// SetProvisioningRoleArn sets the ProvisioningRoleArn field's value. +func (s *DescribeProvisioningTemplateOutput) SetProvisioningRoleArn(v string) *DescribeProvisioningTemplateOutput { + s.ProvisioningRoleArn = &v + return s +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *DescribeProvisioningTemplateOutput) SetTemplateArn(v string) *DescribeProvisioningTemplateOutput { + s.TemplateArn = &v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *DescribeProvisioningTemplateOutput) SetTemplateBody(v string) *DescribeProvisioningTemplateOutput { + s.TemplateBody = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DescribeProvisioningTemplateOutput) SetTemplateName(v string) *DescribeProvisioningTemplateOutput { + s.TemplateName = &v + return s +} + +type DescribeProvisioningTemplateVersionInput struct { + _ struct{} `type:"structure"` + + // The template name. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` + + // The fleet provisioning template version ID. + // + // VersionId is a required field + VersionId *int64 `location:"uri" locationName:"versionId" type:"integer" required:"true"` +} + +// String returns the string representation +func (s DescribeProvisioningTemplateVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProvisioningTemplateVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeProvisioningTemplateVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningTemplateVersionInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + if s.VersionId == nil { + invalidParams.Add(request.NewErrParamRequired("VersionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DescribeProvisioningTemplateVersionInput) SetTemplateName(v string) *DescribeProvisioningTemplateVersionInput { + s.TemplateName = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *DescribeProvisioningTemplateVersionInput) SetVersionId(v int64) *DescribeProvisioningTemplateVersionInput { + s.VersionId = &v + return s +} + +type DescribeProvisioningTemplateVersionOutput struct { + _ struct{} `type:"structure"` + + // The date when the fleet provisioning template version was created. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // True if the fleet provisioning template version is the default version. + IsDefaultVersion *bool `locationName:"isDefaultVersion" type:"boolean"` + + // The JSON formatted contents of the fleet provisioning template version. + TemplateBody *string `locationName:"templateBody" type:"string"` + + // The fleet provisioning template version ID. + VersionId *int64 `locationName:"versionId" type:"integer"` +} + +// String returns the string representation +func (s DescribeProvisioningTemplateVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeProvisioningTemplateVersionOutput) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *DescribeProvisioningTemplateVersionOutput) SetCreationDate(v time.Time) *DescribeProvisioningTemplateVersionOutput { + s.CreationDate = &v + return s +} + +// SetIsDefaultVersion sets the IsDefaultVersion field's value. +func (s *DescribeProvisioningTemplateVersionOutput) SetIsDefaultVersion(v bool) *DescribeProvisioningTemplateVersionOutput { + s.IsDefaultVersion = &v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *DescribeProvisioningTemplateVersionOutput) SetTemplateBody(v string) *DescribeProvisioningTemplateVersionOutput { + s.TemplateBody = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *DescribeProvisioningTemplateVersionOutput) SetVersionId(v int64) *DescribeProvisioningTemplateVersionOutput { + s.VersionId = &v + return s +} + type DescribeRoleAliasInput struct { _ struct{} `type:"structure"` @@ -26753,6 +29428,59 @@ func (s DisableTopicRuleOutput) GoString() string { return s.String() } +// The summary of a domain configuration. A domain configuration specifies custom +// IoT-specific information about a domain. A domain configuration can be associated +// with an AWS-managed domain (for example, dbc123defghijk.iot.us-west-2.amazonaws.com), +// a customer managed domain, or a default endpoint. +// +// * Data +// +// * Jobs +// +// * CredentialProvider +// +// The domain configuration feature is in public preview and is subject to change. +type DomainConfigurationSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the domain configuration. + DomainConfigurationArn *string `locationName:"domainConfigurationArn" type:"string"` + + // The name of the domain configuration. This value must be unique to a region. + DomainConfigurationName *string `locationName:"domainConfigurationName" min:"1" type:"string"` + + // The type of service delivered by the endpoint. + ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"` +} + +// String returns the string representation +func (s DomainConfigurationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DomainConfigurationSummary) GoString() string { + return s.String() +} + +// SetDomainConfigurationArn sets the DomainConfigurationArn field's value. +func (s *DomainConfigurationSummary) SetDomainConfigurationArn(v string) *DomainConfigurationSummary { + s.DomainConfigurationArn = &v + return s +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *DomainConfigurationSummary) SetDomainConfigurationName(v string) *DomainConfigurationSummary { + s.DomainConfigurationName = &v + return s +} + +// SetServiceType sets the ServiceType field's value. +func (s *DomainConfigurationSummary) SetServiceType(v string) *DomainConfigurationSummary { + s.ServiceType = &v + return s +} + // Describes an action to write to a DynamoDB table. // // The tableName, hashKeyField, and rangeKeyField values must match the values @@ -27363,14 +30091,14 @@ func (s *ExponentialRolloutRate) SetRateIncreaseCriteria(v *RateIncreaseCriteria return s } -// The field to aggregate. +// Describes the name and data type at a field. type Field struct { _ struct{} `type:"structure"` // The name of the field. Name *string `locationName:"name" type:"string"` - // The data type of the field. + // The datatype of the field. Type *string `locationName:"type" type:"string" enum:"FieldType"` } @@ -28198,7 +30926,7 @@ func (s *GetPolicyVersionInput) SetPolicyVersionId(v string) *GetPolicyVersionIn type GetPolicyVersionOutput struct { _ struct{} `type:"structure"` - // The date the policy version was created. + // The date the policy was created. CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` // The generation ID of the policy version. @@ -28207,7 +30935,7 @@ type GetPolicyVersionOutput struct { // Specifies whether the policy version is the default. IsDefaultVersion *bool `locationName:"isDefaultVersion" type:"boolean"` - // The date the policy version was last modified. + // The date the policy was last modified. LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` // The policy ARN. @@ -28323,7 +31051,7 @@ func (s *GetRegistrationCodeOutput) SetRegistrationCode(v string) *GetRegistrati type GetStatisticsInput struct { _ struct{} `type:"structure"` - // The aggregation field name. Currently not supported. + // The aggregation field name. AggregationField *string `locationName:"aggregationField" min:"1" type:"string"` // The name of the index to search. The default value is AWS_Things. @@ -28830,6 +31558,52 @@ func (s *HttpAuthorization) SetSigv4(v *SigV4Authorization) *HttpAuthorization { return s } +// Specifies the HTTP context to use for the test authorizer request. +type HttpContext struct { + _ struct{} `type:"structure"` + + // The header keys and values in an HTTP authorization request. + Headers map[string]*string `locationName:"headers" type:"map"` + + // The query string keys and values in an HTTP authorization request. + QueryString *string `locationName:"queryString" min:"1" type:"string"` +} + +// String returns the string representation +func (s HttpContext) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpContext) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpContext"} + if s.QueryString != nil && len(*s.QueryString) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryString", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHeaders sets the Headers field's value. +func (s *HttpContext) SetHeaders(v map[string]*string) *HttpContext { + s.Headers = v + return s +} + +// SetQueryString sets the QueryString field's value. +func (s *HttpContext) SetQueryString(v string) *HttpContext { + s.QueryString = &v + return s +} + // HTTP URL destination configuration used by the topic rule's HTTP action. type HttpUrlDestinationConfiguration struct { _ struct{} `type:"structure"` @@ -29056,6 +31830,75 @@ func (s *IotEventsAction) SetRoleArn(v string) *IotEventsAction { return s } +// Describes an action to send data from an MQTT message that triggered the +// rule to AWS IoT SiteWise asset properties. +type IotSiteWiseAction struct { + _ struct{} `type:"structure"` + + // A list of asset property value entries. + // + // PutAssetPropertyValueEntries is a required field + PutAssetPropertyValueEntries []*PutAssetPropertyValueEntry `locationName:"putAssetPropertyValueEntries" min:"1" type:"list" required:"true"` + + // The ARN of the role that grants AWS IoT permission to send an asset property + // value to AWS IoTSiteWise. ("Action": "iotsitewise:BatchPutAssetPropertyValue"). + // The trust policy can restrict access to specific asset hierarchy paths. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s IotSiteWiseAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IotSiteWiseAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IotSiteWiseAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseAction"} + if s.PutAssetPropertyValueEntries == nil { + invalidParams.Add(request.NewErrParamRequired("PutAssetPropertyValueEntries")) + } + if s.PutAssetPropertyValueEntries != nil && len(s.PutAssetPropertyValueEntries) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PutAssetPropertyValueEntries", 1)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.PutAssetPropertyValueEntries != nil { + for i, v := range s.PutAssetPropertyValueEntries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PutAssetPropertyValueEntries", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPutAssetPropertyValueEntries sets the PutAssetPropertyValueEntries field's value. +func (s *IotSiteWiseAction) SetPutAssetPropertyValueEntries(v []*PutAssetPropertyValueEntry) *IotSiteWiseAction { + s.PutAssetPropertyValueEntries = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *IotSiteWiseAction) SetRoleArn(v string) *IotSiteWiseAction { + s.RoleArn = &v + return s +} + // The Job object contains details about a job. type Job struct { _ struct{} `type:"structure"` @@ -31094,6 +33937,93 @@ func (s *ListCertificatesOutput) SetNextMarker(v string) *ListCertificatesOutput return s } +type ListDomainConfigurationsInput struct { + _ struct{} `type:"structure"` + + // The marker for the next set of results. + Marker *string `location:"querystring" locationName:"marker" type:"string"` + + // The result page size. + PageSize *int64 `location:"querystring" locationName:"pageSize" min:"1" type:"integer"` + + // The type of service delivered by the endpoint. + ServiceType *string `location:"querystring" locationName:"serviceType" type:"string" enum:"ServiceType"` +} + +// String returns the string representation +func (s ListDomainConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDomainConfigurationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDomainConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDomainConfigurationsInput"} + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMarker sets the Marker field's value. +func (s *ListDomainConfigurationsInput) SetMarker(v string) *ListDomainConfigurationsInput { + s.Marker = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListDomainConfigurationsInput) SetPageSize(v int64) *ListDomainConfigurationsInput { + s.PageSize = &v + return s +} + +// SetServiceType sets the ServiceType field's value. +func (s *ListDomainConfigurationsInput) SetServiceType(v string) *ListDomainConfigurationsInput { + s.ServiceType = &v + return s +} + +type ListDomainConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // A list of objects that contain summary information about the user's domain + // configurations. + DomainConfigurations []*DomainConfigurationSummary `locationName:"domainConfigurations" type:"list"` + + // The marker for the next set of results. + NextMarker *string `locationName:"nextMarker" type:"string"` +} + +// String returns the string representation +func (s ListDomainConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDomainConfigurationsOutput) GoString() string { + return s.String() +} + +// SetDomainConfigurations sets the DomainConfigurations field's value. +func (s *ListDomainConfigurationsOutput) SetDomainConfigurations(v []*DomainConfigurationSummary) *ListDomainConfigurationsOutput { + s.DomainConfigurations = v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *ListDomainConfigurationsOutput) SetNextMarker(v string) *ListDomainConfigurationsOutput { + s.NextMarker = &v + return s +} + type ListIndicesInput struct { _ struct{} `type:"structure"` @@ -32231,6 +35161,177 @@ func (s *ListPrincipalThingsOutput) SetThings(v []*string) *ListPrincipalThingsO return s } +type ListProvisioningTemplateVersionsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return at one time. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // A token to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The name of the fleet provisioning template. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListProvisioningTemplateVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProvisioningTemplateVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProvisioningTemplateVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProvisioningTemplateVersionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListProvisioningTemplateVersionsInput) SetMaxResults(v int64) *ListProvisioningTemplateVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProvisioningTemplateVersionsInput) SetNextToken(v string) *ListProvisioningTemplateVersionsInput { + s.NextToken = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *ListProvisioningTemplateVersionsInput) SetTemplateName(v string) *ListProvisioningTemplateVersionsInput { + s.TemplateName = &v + return s +} + +type ListProvisioningTemplateVersionsOutput struct { + _ struct{} `type:"structure"` + + // A token to retrieve the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of fleet provisioning template versions. + Versions []*ProvisioningTemplateVersionSummary `locationName:"versions" type:"list"` +} + +// String returns the string representation +func (s ListProvisioningTemplateVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProvisioningTemplateVersionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProvisioningTemplateVersionsOutput) SetNextToken(v string) *ListProvisioningTemplateVersionsOutput { + s.NextToken = &v + return s +} + +// SetVersions sets the Versions field's value. +func (s *ListProvisioningTemplateVersionsOutput) SetVersions(v []*ProvisioningTemplateVersionSummary) *ListProvisioningTemplateVersionsOutput { + s.Versions = v + return s +} + +type ListProvisioningTemplatesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return at one time. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // A token to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListProvisioningTemplatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProvisioningTemplatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProvisioningTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProvisioningTemplatesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListProvisioningTemplatesInput) SetMaxResults(v int64) *ListProvisioningTemplatesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProvisioningTemplatesInput) SetNextToken(v string) *ListProvisioningTemplatesInput { + s.NextToken = &v + return s +} + +type ListProvisioningTemplatesOutput struct { + _ struct{} `type:"structure"` + + // A token to retrieve the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of fleet provisioning templates + Templates []*ProvisioningTemplateSummary `locationName:"templates" type:"list"` +} + +// String returns the string representation +func (s ListProvisioningTemplatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProvisioningTemplatesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProvisioningTemplatesOutput) SetNextToken(v string) *ListProvisioningTemplatesOutput { + s.NextToken = &v + return s +} + +// SetTemplates sets the Templates field's value. +func (s *ListProvisioningTemplatesOutput) SetTemplates(v []*ProvisioningTemplateSummary) *ListProvisioningTemplatesOutput { + s.Templates = v + return s +} + type ListRoleAliasesInput struct { _ struct{} `type:"structure"` @@ -34590,6 +37691,69 @@ func (s *MitigationActionParams) SetUpdateDeviceCertificateParams(v *UpdateDevic return s } +// Specifies the MQTT context to use for the test authorizer request +type MqttContext struct { + _ struct{} `type:"structure"` + + // The value of the clientId key in an MQTT authorization request. + ClientId *string `locationName:"clientId" min:"1" type:"string"` + + // The value of the password key in an MQTT authorization request. + // + // Password is automatically base64 encoded/decoded by the SDK. + Password []byte `locationName:"password" min:"1" type:"blob"` + + // The value of the username key in an MQTT authorization request. + Username *string `locationName:"username" min:"1" type:"string"` +} + +// String returns the string representation +func (s MqttContext) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MqttContext) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MqttContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MqttContext"} + if s.ClientId != nil && len(*s.ClientId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientId", 1)) + } + if s.Password != nil && len(s.Password) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Password", 1)) + } + if s.Username != nil && len(*s.Username) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Username", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientId sets the ClientId field's value. +func (s *MqttContext) SetClientId(v string) *MqttContext { + s.ClientId = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *MqttContext) SetPassword(v []byte) *MqttContext { + s.Password = v + return s +} + +// SetUsername sets the Username field's value. +func (s *MqttContext) SetUsername(v string) *MqttContext { + s.Username = &v + return s +} + // Information about the resource that was noncompliant with the audit check. type NonCompliantResource struct { _ struct{} `type:"structure"` @@ -35176,6 +38340,118 @@ func (s *PresignedUrlConfig) SetRoleArn(v string) *PresignedUrlConfig { return s } +// A summary of information about a fleet provisioning template. +type ProvisioningTemplateSummary struct { + _ struct{} `type:"structure"` + + // The date when the fleet provisioning template summary was created. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // The description of the fleet provisioning template. + Description *string `locationName:"description" type:"string"` + + // True if the fleet provision template is enabled, otherwise false. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The date when the fleet provisioning template summary was last modified. + LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` + + // The ARN of the fleet provisioning template. + TemplateArn *string `locationName:"templateArn" type:"string"` + + // The name of the fleet provisioning template. + TemplateName *string `locationName:"templateName" min:"1" type:"string"` +} + +// String returns the string representation +func (s ProvisioningTemplateSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProvisioningTemplateSummary) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *ProvisioningTemplateSummary) SetCreationDate(v time.Time) *ProvisioningTemplateSummary { + s.CreationDate = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ProvisioningTemplateSummary) SetDescription(v string) *ProvisioningTemplateSummary { + s.Description = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *ProvisioningTemplateSummary) SetEnabled(v bool) *ProvisioningTemplateSummary { + s.Enabled = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *ProvisioningTemplateSummary) SetLastModifiedDate(v time.Time) *ProvisioningTemplateSummary { + s.LastModifiedDate = &v + return s +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *ProvisioningTemplateSummary) SetTemplateArn(v string) *ProvisioningTemplateSummary { + s.TemplateArn = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *ProvisioningTemplateSummary) SetTemplateName(v string) *ProvisioningTemplateSummary { + s.TemplateName = &v + return s +} + +// A summary of information about a fleet provision template version. +type ProvisioningTemplateVersionSummary struct { + _ struct{} `type:"structure"` + + // The date when the fleet provisioning template version was created + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // True if the fleet provisioning template version is the default version, otherwise + // false. + IsDefaultVersion *bool `locationName:"isDefaultVersion" type:"boolean"` + + // The ID of the fleet privisioning template version. + VersionId *int64 `locationName:"versionId" type:"integer"` +} + +// String returns the string representation +func (s ProvisioningTemplateVersionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProvisioningTemplateVersionSummary) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *ProvisioningTemplateVersionSummary) SetCreationDate(v time.Time) *ProvisioningTemplateVersionSummary { + s.CreationDate = &v + return s +} + +// SetIsDefaultVersion sets the IsDefaultVersion field's value. +func (s *ProvisioningTemplateVersionSummary) SetIsDefaultVersion(v bool) *ProvisioningTemplateVersionSummary { + s.IsDefaultVersion = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *ProvisioningTemplateVersionSummary) SetVersionId(v int64) *ProvisioningTemplateVersionSummary { + s.VersionId = &v + return s +} + // Parameters to define a mitigation action that publishes findings to Amazon // SNS. You can implement your own custom actions in response to the Amazon // SNS messages. @@ -35217,6 +38493,104 @@ func (s *PublishFindingToSnsParams) SetTopicArn(v string) *PublishFindingToSnsPa return s } +// An asset property value entry containing the following information. +type PutAssetPropertyValueEntry struct { + _ struct{} `type:"structure"` + + // The ID of the AWS IoT SiteWise asset. You must specify either a propertyAlias + // or both an analiasId and a propertyId. Accepts substitution templates. + AssetId *string `locationName:"assetId" type:"string"` + + // Optional. A unique identifier for this entry that you can define to better + // track which message caused an error in case of failure. Accepts substitution + // templates. Defaults to a new UUID. + EntryId *string `locationName:"entryId" type:"string"` + + // The name of the property alias associated with your asset property. You must + // specify either a propertyAlias or both an aliasId and a propertyId. Accepts + // substitution templates. + PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"` + + // The ID of the asset's property. You must specify either a propertyAlias or + // both an analiasId and a propertyId. Accepts substitution templates. + PropertyId *string `locationName:"propertyId" type:"string"` + + // A list of property values to insert that each contain timestamp, quality, + // and value (TQV) information. + // + // PropertyValues is a required field + PropertyValues []*AssetPropertyValue `locationName:"propertyValues" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s PutAssetPropertyValueEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutAssetPropertyValueEntry) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutAssetPropertyValueEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutAssetPropertyValueEntry"} + if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1)) + } + if s.PropertyValues == nil { + invalidParams.Add(request.NewErrParamRequired("PropertyValues")) + } + if s.PropertyValues != nil && len(s.PropertyValues) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyValues", 1)) + } + if s.PropertyValues != nil { + for i, v := range s.PropertyValues { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyValues", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssetId sets the AssetId field's value. +func (s *PutAssetPropertyValueEntry) SetAssetId(v string) *PutAssetPropertyValueEntry { + s.AssetId = &v + return s +} + +// SetEntryId sets the EntryId field's value. +func (s *PutAssetPropertyValueEntry) SetEntryId(v string) *PutAssetPropertyValueEntry { + s.EntryId = &v + return s +} + +// SetPropertyAlias sets the PropertyAlias field's value. +func (s *PutAssetPropertyValueEntry) SetPropertyAlias(v string) *PutAssetPropertyValueEntry { + s.PropertyAlias = &v + return s +} + +// SetPropertyId sets the PropertyId field's value. +func (s *PutAssetPropertyValueEntry) SetPropertyId(v string) *PutAssetPropertyValueEntry { + s.PropertyId = &v + return s +} + +// SetPropertyValues sets the PropertyValues field's value. +func (s *PutAssetPropertyValueEntry) SetPropertyValues(v []*AssetPropertyValue) *PutAssetPropertyValueEntry { + s.PropertyValues = v + return s +} + // The input for the DynamoActionVS action that specifies the DynamoDB table // to which the message data will be written. type PutItemInput struct { @@ -36132,8 +39506,14 @@ type ResourceIdentifier struct { // The ID of the certificate attached to the resource. DeviceCertificateId *string `locationName:"deviceCertificateId" min:"64" type:"string"` + // The ARN of the IAM role that has overly permissive actions. + IamRoleArn *string `locationName:"iamRoleArn" min:"20" type:"string"` + // The version of the policy associated with the resource. PolicyVersionIdentifier *PolicyVersionIdentifier `locationName:"policyVersionIdentifier" type:"structure"` + + // The ARN of the role alias that has overly permissive actions. + RoleAliasArn *string `locationName:"roleAliasArn" min:"1" type:"string"` } // String returns the string representation @@ -36158,6 +39538,12 @@ func (s *ResourceIdentifier) Validate() error { if s.DeviceCertificateId != nil && len(*s.DeviceCertificateId) < 64 { invalidParams.Add(request.NewErrParamMinLen("DeviceCertificateId", 64)) } + if s.IamRoleArn != nil && len(*s.IamRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("IamRoleArn", 20)) + } + if s.RoleAliasArn != nil && len(*s.RoleAliasArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleAliasArn", 1)) + } if s.PolicyVersionIdentifier != nil { if err := s.PolicyVersionIdentifier.Validate(); err != nil { invalidParams.AddNested("PolicyVersionIdentifier", err.(request.ErrInvalidParams)) @@ -36200,12 +39586,24 @@ func (s *ResourceIdentifier) SetDeviceCertificateId(v string) *ResourceIdentifie return s } +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *ResourceIdentifier) SetIamRoleArn(v string) *ResourceIdentifier { + s.IamRoleArn = &v + return s +} + // SetPolicyVersionIdentifier sets the PolicyVersionIdentifier field's value. func (s *ResourceIdentifier) SetPolicyVersionIdentifier(v *PolicyVersionIdentifier) *ResourceIdentifier { s.PolicyVersionIdentifier = v return s } +// SetRoleAliasArn sets the RoleAliasArn field's value. +func (s *ResourceIdentifier) SetRoleAliasArn(v string) *ResourceIdentifier { + s.RoleAliasArn = &v + return s +} + // Role alias description. type RoleAliasDescription struct { _ struct{} `type:"structure"` @@ -36226,7 +39624,7 @@ type RoleAliasDescription struct { RoleAlias *string `locationName:"roleAlias" min:"1" type:"string"` // The ARN of the role alias. - RoleAliasArn *string `locationName:"roleAliasArn" type:"string"` + RoleAliasArn *string `locationName:"roleAliasArn" min:"1" type:"string"` // The role ARN. RoleArn *string `locationName:"roleArn" min:"20" type:"string"` @@ -36809,6 +40207,48 @@ func (s *SecurityProfileTargetMapping) SetTarget(v *SecurityProfileTarget) *Secu return s } +// An object that contains information about a server certificate. +type ServerCertificateSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the server certificate. + ServerCertificateArn *string `locationName:"serverCertificateArn" min:"1" type:"string"` + + // The status of the server certificate. + ServerCertificateStatus *string `locationName:"serverCertificateStatus" type:"string" enum:"ServerCertificateStatus"` + + // Details that explain the status of the server certificate. + ServerCertificateStatusDetail *string `locationName:"serverCertificateStatusDetail" type:"string"` +} + +// String returns the string representation +func (s ServerCertificateSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServerCertificateSummary) GoString() string { + return s.String() +} + +// SetServerCertificateArn sets the ServerCertificateArn field's value. +func (s *ServerCertificateSummary) SetServerCertificateArn(v string) *ServerCertificateSummary { + s.ServerCertificateArn = &v + return s +} + +// SetServerCertificateStatus sets the ServerCertificateStatus field's value. +func (s *ServerCertificateSummary) SetServerCertificateStatus(v string) *ServerCertificateSummary { + s.ServerCertificateStatus = &v + return s +} + +// SetServerCertificateStatusDetail sets the ServerCertificateStatusDetail field's value. +func (s *ServerCertificateSummary) SetServerCertificateStatusDetail(v string) *ServerCertificateSummary { + s.ServerCertificateStatusDetail = &v + return s +} + type SetDefaultAuthorizerInput struct { _ struct{} `type:"structure"` @@ -37766,26 +41206,22 @@ func (s *StatisticalThreshold) SetStatistic(v string) *StatisticalThreshold { type Statistics struct { _ struct{} `type:"structure"` - // The average of the aggregated fields. If the field data type is String this - // value is indeterminate. + // The average of the aggregated field values. Average *float64 `locationName:"average" type:"double"` // The count of things that match the query. Count *int64 `locationName:"count" type:"integer"` - // The maximum value of the aggregated fields. If the field data type is String - // this value is indeterminate. + // The maximum aggregated field value. Maximum *float64 `locationName:"maximum" type:"double"` - // The minimum value of the aggregated fields. If the field data type is String - // this value is indeterminate. + // The minimum aggregated field value. Minimum *float64 `locationName:"minimum" type:"double"` // The standard deviation of the aggregated field values. StdDeviation *float64 `locationName:"stdDeviation" type:"double"` - // The sum of the aggregated fields. If the field data type is String this value - // is indeterminate. + // The sum of the aggregated field values. Sum *float64 `locationName:"sum" type:"double"` // The sum of the squares of the aggregated field values. @@ -38566,16 +42002,21 @@ type TestInvokeAuthorizerInput struct { // AuthorizerName is a required field AuthorizerName *string `location:"uri" locationName:"authorizerName" min:"1" type:"string" required:"true"` + // Specifies a test HTTP authorization request. + HttpContext *HttpContext `locationName:"httpContext" type:"structure"` + + // Specifies a test MQTT authorization request.> + MqttContext *MqttContext `locationName:"mqttContext" type:"structure"` + + // Specifies a test TLS authorization request. + TlsContext *TlsContext `locationName:"tlsContext" type:"structure"` + // The token returned by your custom authentication service. - // - // Token is a required field - Token *string `locationName:"token" min:"1" type:"string" required:"true"` + Token *string `locationName:"token" min:"1" type:"string"` // The signature made with the token and your custom authentication service's // private key. - // - // TokenSignature is a required field - TokenSignature *string `locationName:"tokenSignature" min:"1" type:"string" required:"true"` + TokenSignature *string `locationName:"tokenSignature" min:"1" type:"string"` } // String returns the string representation @@ -38597,18 +42038,27 @@ func (s *TestInvokeAuthorizerInput) Validate() error { if s.AuthorizerName != nil && len(*s.AuthorizerName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AuthorizerName", 1)) } - if s.Token == nil { - invalidParams.Add(request.NewErrParamRequired("Token")) - } if s.Token != nil && len(*s.Token) < 1 { invalidParams.Add(request.NewErrParamMinLen("Token", 1)) } - if s.TokenSignature == nil { - invalidParams.Add(request.NewErrParamRequired("TokenSignature")) - } if s.TokenSignature != nil && len(*s.TokenSignature) < 1 { invalidParams.Add(request.NewErrParamMinLen("TokenSignature", 1)) } + if s.HttpContext != nil { + if err := s.HttpContext.Validate(); err != nil { + invalidParams.AddNested("HttpContext", err.(request.ErrInvalidParams)) + } + } + if s.MqttContext != nil { + if err := s.MqttContext.Validate(); err != nil { + invalidParams.AddNested("MqttContext", err.(request.ErrInvalidParams)) + } + } + if s.TlsContext != nil { + if err := s.TlsContext.Validate(); err != nil { + invalidParams.AddNested("TlsContext", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -38622,6 +42072,24 @@ func (s *TestInvokeAuthorizerInput) SetAuthorizerName(v string) *TestInvokeAutho return s } +// SetHttpContext sets the HttpContext field's value. +func (s *TestInvokeAuthorizerInput) SetHttpContext(v *HttpContext) *TestInvokeAuthorizerInput { + s.HttpContext = v + return s +} + +// SetMqttContext sets the MqttContext field's value. +func (s *TestInvokeAuthorizerInput) SetMqttContext(v *MqttContext) *TestInvokeAuthorizerInput { + s.MqttContext = v + return s +} + +// SetTlsContext sets the TlsContext field's value. +func (s *TestInvokeAuthorizerInput) SetTlsContext(v *TlsContext) *TestInvokeAuthorizerInput { + s.TlsContext = v + return s +} + // SetToken sets the Token field's value. func (s *TestInvokeAuthorizerInput) SetToken(v string) *TestInvokeAuthorizerInput { s.Token = &v @@ -38934,9 +42402,12 @@ type ThingGroupIndexingConfiguration struct { // A list of thing group fields to index. This list cannot contain any managed // fields. Use the GetIndexingConfiguration API to get a list of managed fields. + // + // Contains custom field names and their data type. CustomFields []*Field `locationName:"customFields" type:"list"` - // A list of automatically indexed thing group fields. + // Contains fields that are indexed and whose types are already known by the + // Fleet Indexing service. ManagedFields []*Field `locationName:"managedFields" type:"list"` // Thing group indexing mode. @@ -39066,11 +42537,11 @@ func (s *ThingGroupProperties) SetThingGroupDescription(v string) *ThingGroupPro type ThingIndexingConfiguration struct { _ struct{} `type:"structure"` - // A list of thing fields to index. This list cannot contain any managed fields. - // Use the GetIndexingConfiguration API to get a list of managed fields. + // Contains custom field names and their data type. CustomFields []*Field `locationName:"customFields" type:"list"` - // A list of automatically indexed thing fields. + // Contains fields that are indexed and whose types are already known by the + // Fleet Indexing service. ManagedFields []*Field `locationName:"managedFields" type:"list"` // Thing connectivity indexing mode. Valid values are: @@ -39305,6 +42776,43 @@ func (s *TimeoutConfig) SetInProgressTimeoutInMinutes(v int64) *TimeoutConfig { return s } +// Specifies the TLS context to use for the test authorizer request. +type TlsContext struct { + _ struct{} `type:"structure"` + + // The value of the serverName key in a TLS authorization request. + ServerName *string `locationName:"serverName" min:"1" type:"string"` +} + +// String returns the string representation +func (s TlsContext) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TlsContext) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TlsContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TlsContext"} + if s.ServerName != nil && len(*s.ServerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServerName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetServerName sets the ServerName field's value. +func (s *TlsContext) SetServerName(v string) *TlsContext { + s.ServerName = &v + return s +} + // Describes a rule. type TopicRule struct { _ struct{} `type:"structure"` @@ -40525,6 +44033,111 @@ func (s *UpdateDeviceCertificateParams) SetAction(v string) *UpdateDeviceCertifi return s } +type UpdateDomainConfigurationInput struct { + _ struct{} `type:"structure"` + + // An object that specifies the authorization service for a domain. + AuthorizerConfig *AuthorizerConfig `locationName:"authorizerConfig" type:"structure"` + + // The name of the domain configuration to be updated. + // + // DomainConfigurationName is a required field + DomainConfigurationName *string `location:"uri" locationName:"domainConfigurationName" min:"1" type:"string" required:"true"` + + // The status to which the domain configuration should be updated. + DomainConfigurationStatus *string `locationName:"domainConfigurationStatus" type:"string" enum:"DomainConfigurationStatus"` + + // Removes the authorization configuration from a domain. + RemoveAuthorizerConfig *bool `locationName:"removeAuthorizerConfig" type:"boolean"` +} + +// String returns the string representation +func (s UpdateDomainConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDomainConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDomainConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDomainConfigurationInput"} + if s.DomainConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainConfigurationName")) + } + if s.DomainConfigurationName != nil && len(*s.DomainConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainConfigurationName", 1)) + } + if s.AuthorizerConfig != nil { + if err := s.AuthorizerConfig.Validate(); err != nil { + invalidParams.AddNested("AuthorizerConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthorizerConfig sets the AuthorizerConfig field's value. +func (s *UpdateDomainConfigurationInput) SetAuthorizerConfig(v *AuthorizerConfig) *UpdateDomainConfigurationInput { + s.AuthorizerConfig = v + return s +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *UpdateDomainConfigurationInput) SetDomainConfigurationName(v string) *UpdateDomainConfigurationInput { + s.DomainConfigurationName = &v + return s +} + +// SetDomainConfigurationStatus sets the DomainConfigurationStatus field's value. +func (s *UpdateDomainConfigurationInput) SetDomainConfigurationStatus(v string) *UpdateDomainConfigurationInput { + s.DomainConfigurationStatus = &v + return s +} + +// SetRemoveAuthorizerConfig sets the RemoveAuthorizerConfig field's value. +func (s *UpdateDomainConfigurationInput) SetRemoveAuthorizerConfig(v bool) *UpdateDomainConfigurationInput { + s.RemoveAuthorizerConfig = &v + return s +} + +type UpdateDomainConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the domain configuration that was updated. + DomainConfigurationArn *string `locationName:"domainConfigurationArn" type:"string"` + + // The name of the domain configuration that was updated. + DomainConfigurationName *string `locationName:"domainConfigurationName" min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateDomainConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDomainConfigurationOutput) GoString() string { + return s.String() +} + +// SetDomainConfigurationArn sets the DomainConfigurationArn field's value. +func (s *UpdateDomainConfigurationOutput) SetDomainConfigurationArn(v string) *UpdateDomainConfigurationOutput { + s.DomainConfigurationArn = &v + return s +} + +// SetDomainConfigurationName sets the DomainConfigurationName field's value. +func (s *UpdateDomainConfigurationOutput) SetDomainConfigurationName(v string) *UpdateDomainConfigurationOutput { + s.DomainConfigurationName = &v + return s +} + type UpdateDynamicThingGroupInput struct { _ struct{} `type:"structure"` @@ -40972,6 +44585,101 @@ func (s *UpdateMitigationActionOutput) SetActionId(v string) *UpdateMitigationAc return s } +type UpdateProvisioningTemplateInput struct { + _ struct{} `type:"structure"` + + // The ID of the default provisioning template version. + DefaultVersionId *int64 `locationName:"defaultVersionId" type:"integer"` + + // The description of the fleet provisioning template. + Description *string `locationName:"description" type:"string"` + + // True to enable the fleet provisioning template, otherwise false. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The ARN of the role associated with the provisioning template. This IoT role + // grants permission to provision a device. + ProvisioningRoleArn *string `locationName:"provisioningRoleArn" min:"20" type:"string"` + + // The name of the fleet provisioning template. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"templateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateProvisioningTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateProvisioningTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateProvisioningTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateProvisioningTemplateInput"} + if s.ProvisioningRoleArn != nil && len(*s.ProvisioningRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ProvisioningRoleArn", 20)) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultVersionId sets the DefaultVersionId field's value. +func (s *UpdateProvisioningTemplateInput) SetDefaultVersionId(v int64) *UpdateProvisioningTemplateInput { + s.DefaultVersionId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateProvisioningTemplateInput) SetDescription(v string) *UpdateProvisioningTemplateInput { + s.Description = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *UpdateProvisioningTemplateInput) SetEnabled(v bool) *UpdateProvisioningTemplateInput { + s.Enabled = &v + return s +} + +// SetProvisioningRoleArn sets the ProvisioningRoleArn field's value. +func (s *UpdateProvisioningTemplateInput) SetProvisioningRoleArn(v string) *UpdateProvisioningTemplateInput { + s.ProvisioningRoleArn = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *UpdateProvisioningTemplateInput) SetTemplateName(v string) *UpdateProvisioningTemplateInput { + s.TemplateName = &v + return s +} + +type UpdateProvisioningTemplateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateProvisioningTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateProvisioningTemplateOutput) GoString() string { + return s.String() +} + type UpdateRoleAliasInput struct { _ struct{} `type:"structure"` @@ -41044,7 +44752,7 @@ type UpdateRoleAliasOutput struct { RoleAlias *string `locationName:"roleAlias" min:"1" type:"string"` // The role alias ARN. - RoleAliasArn *string `locationName:"roleAliasArn" type:"string"` + RoleAliasArn *string `locationName:"roleAliasArn" min:"1" type:"string"` } // String returns the string representation @@ -42373,6 +46081,25 @@ const ( DeviceCertificateUpdateActionDeactivate = "DEACTIVATE" ) +const ( + // DomainConfigurationStatusEnabled is a DomainConfigurationStatus enum value + DomainConfigurationStatusEnabled = "ENABLED" + + // DomainConfigurationStatusDisabled is a DomainConfigurationStatus enum value + DomainConfigurationStatusDisabled = "DISABLED" +) + +const ( + // DomainTypeEndpoint is a DomainType enum value + DomainTypeEndpoint = "ENDPOINT" + + // DomainTypeAwsManaged is a DomainType enum value + DomainTypeAwsManaged = "AWS_MANAGED" + + // DomainTypeCustomerManaged is a DomainType enum value + DomainTypeCustomerManaged = "CUSTOMER_MANAGED" +) + const ( // DynamicGroupStatusActive is a DynamicGroupStatus enum value DynamicGroupStatusActive = "ACTIVE" @@ -42601,6 +46328,31 @@ const ( // ResourceTypeAccountSettings is a ResourceType enum value ResourceTypeAccountSettings = "ACCOUNT_SETTINGS" + + // ResourceTypeRoleAlias is a ResourceType enum value + ResourceTypeRoleAlias = "ROLE_ALIAS" + + // ResourceTypeIamRole is a ResourceType enum value + ResourceTypeIamRole = "IAM_ROLE" +) + +const ( + // ServerCertificateStatusInvalid is a ServerCertificateStatus enum value + ServerCertificateStatusInvalid = "INVALID" + + // ServerCertificateStatusValid is a ServerCertificateStatus enum value + ServerCertificateStatusValid = "VALID" +) + +const ( + // ServiceTypeData is a ServiceType enum value + ServiceTypeData = "DATA" + + // ServiceTypeCredentialProvider is a ServiceType enum value + ServiceTypeCredentialProvider = "CREDENTIAL_PROVIDER" + + // ServiceTypeJobs is a ServiceType enum value + ServiceTypeJobs = "JOBS" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/api.go index f547bd1d544f..2c21fd8b8eda 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesisanalyticsv2/api.go @@ -520,6 +520,105 @@ func (c *KinesisAnalyticsV2) AddApplicationReferenceDataSourceWithContext(ctx aw return out, req.Send() } +const opAddApplicationVpcConfiguration = "AddApplicationVpcConfiguration" + +// AddApplicationVpcConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the AddApplicationVpcConfiguration 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 AddApplicationVpcConfiguration for more information on using the AddApplicationVpcConfiguration +// 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 AddApplicationVpcConfigurationRequest method. +// req, resp := client.AddApplicationVpcConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationVpcConfiguration +func (c *KinesisAnalyticsV2) AddApplicationVpcConfigurationRequest(input *AddApplicationVpcConfigurationInput) (req *request.Request, output *AddApplicationVpcConfigurationOutput) { + op := &request.Operation{ + Name: opAddApplicationVpcConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddApplicationVpcConfigurationInput{} + } + + output = &AddApplicationVpcConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddApplicationVpcConfiguration API operation for Amazon Kinesis Analytics. +// +// Adds a Virtual Private Cloud (VPC) configuration to the application. Applications +// can use VPCs to store and access resources securely. +// +// Note the following about VPC configurations for Kinesis Data Analytics applications: +// +// * VPC configurations are not supported for SQL applications. +// +// * When a VPC is added to a Kinesis Data Analytics application, the application +// can no longer be accessed from the Internet directly. To enable Internet +// access to the application, add an Internet gateway to your VPC. +// +// 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 Kinesis Analytics's +// API operation AddApplicationVpcConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/AddApplicationVpcConfiguration +func (c *KinesisAnalyticsV2) AddApplicationVpcConfiguration(input *AddApplicationVpcConfigurationInput) (*AddApplicationVpcConfigurationOutput, error) { + req, out := c.AddApplicationVpcConfigurationRequest(input) + return out, req.Send() +} + +// AddApplicationVpcConfigurationWithContext is the same as AddApplicationVpcConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See AddApplicationVpcConfiguration 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 *KinesisAnalyticsV2) AddApplicationVpcConfigurationWithContext(ctx aws.Context, input *AddApplicationVpcConfigurationInput, opts ...request.Option) (*AddApplicationVpcConfigurationOutput, error) { + req, out := c.AddApplicationVpcConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateApplication = "CreateApplication" // CreateApplicationRequest generates a "aws/request.Request" representing the @@ -1295,6 +1394,96 @@ func (c *KinesisAnalyticsV2) DeleteApplicationSnapshotWithContext(ctx aws.Contex return out, req.Send() } +const opDeleteApplicationVpcConfiguration = "DeleteApplicationVpcConfiguration" + +// DeleteApplicationVpcConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteApplicationVpcConfiguration 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 DeleteApplicationVpcConfiguration for more information on using the DeleteApplicationVpcConfiguration +// 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 DeleteApplicationVpcConfigurationRequest method. +// req, resp := client.DeleteApplicationVpcConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationVpcConfiguration +func (c *KinesisAnalyticsV2) DeleteApplicationVpcConfigurationRequest(input *DeleteApplicationVpcConfigurationInput) (req *request.Request, output *DeleteApplicationVpcConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteApplicationVpcConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteApplicationVpcConfigurationInput{} + } + + output = &DeleteApplicationVpcConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteApplicationVpcConfiguration API operation for Amazon Kinesis Analytics. +// +// Removes a VPC configuration from a Kinesis Data Analytics application. +// +// 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 Kinesis Analytics's +// API operation DeleteApplicationVpcConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// Specified application can't be found. +// +// * ErrCodeResourceInUseException "ResourceInUseException" +// The application is not available for this operation. +// +// * ErrCodeInvalidArgumentException "InvalidArgumentException" +// The specified input parameter value is not valid. +// +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Exception thrown as a result of concurrent modifications to an application. +// This error can be the result of attempting to modify an application without +// using the current application ID. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/DeleteApplicationVpcConfiguration +func (c *KinesisAnalyticsV2) DeleteApplicationVpcConfiguration(input *DeleteApplicationVpcConfigurationInput) (*DeleteApplicationVpcConfigurationOutput, error) { + req, out := c.DeleteApplicationVpcConfigurationRequest(input) + return out, req.Send() +} + +// DeleteApplicationVpcConfigurationWithContext is the same as DeleteApplicationVpcConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteApplicationVpcConfiguration 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 *KinesisAnalyticsV2) DeleteApplicationVpcConfigurationWithContext(ctx aws.Context, input *DeleteApplicationVpcConfigurationInput, opts ...request.Option) (*DeleteApplicationVpcConfigurationOutput, error) { + req, out := c.DeleteApplicationVpcConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeApplication = "DescribeApplication" // DescribeApplicationRequest generates a "aws/request.Request" representing the @@ -1783,7 +1972,8 @@ func (c *KinesisAnalyticsV2) ListTagsForResourceRequest(input *ListTagsForResour // ListTagsForResource API operation for Amazon Kinesis Analytics. // -// Retrieves the list of key-value tags assigned to the application. +// Retrieves the list of key-value tags assigned to the application. For more +// information, see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.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 @@ -2060,7 +2250,8 @@ func (c *KinesisAnalyticsV2) TagResourceRequest(input *TagResourceInput) (req *r // // Adds one or more key-value tags to a Kinesis Analytics application. Note // that the maximum number of application tags includes system tags. The maximum -// number of user-defined application tags is 50. +// number of user-defined application tags is 50. For more information, see +// Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.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 @@ -2156,7 +2347,8 @@ func (c *KinesisAnalyticsV2) UntagResourceRequest(input *UntagResourceInput) (re // UntagResource API operation for Amazon Kinesis Analytics. // -// Removes one or more tags from a Kinesis Analytics application. +// Removes one or more tags from a Kinesis Analytics application. For more information, +// see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.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 @@ -2959,6 +3151,128 @@ func (s *AddApplicationReferenceDataSourceOutput) SetReferenceDataSourceDescript return s } +type AddApplicationVpcConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of an existing application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The version of the application to which you want to add the input processing + // configuration. You can use the DescribeApplication operation to get the current + // application version. If the version specified is not the current version, + // the ConcurrentModificationException is returned. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // Description of the VPC to add to the application. + // + // VpcConfiguration is a required field + VpcConfiguration *VpcConfiguration `type:"structure" required:"true"` +} + +// String returns the string representation +func (s AddApplicationVpcConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationVpcConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddApplicationVpcConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddApplicationVpcConfigurationInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + if s.VpcConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("VpcConfiguration")) + } + if s.VpcConfiguration != nil { + if err := s.VpcConfiguration.Validate(); err != nil { + invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *AddApplicationVpcConfigurationInput) SetApplicationName(v string) *AddApplicationVpcConfigurationInput { + s.ApplicationName = &v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *AddApplicationVpcConfigurationInput) SetCurrentApplicationVersionId(v int64) *AddApplicationVpcConfigurationInput { + s.CurrentApplicationVersionId = &v + return s +} + +// SetVpcConfiguration sets the VpcConfiguration field's value. +func (s *AddApplicationVpcConfigurationInput) SetVpcConfiguration(v *VpcConfiguration) *AddApplicationVpcConfigurationInput { + s.VpcConfiguration = v + return s +} + +type AddApplicationVpcConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the application. + ApplicationARN *string `min:"1" type:"string"` + + // Provides the current application version. Kinesis Data Analytics updates + // the ApplicationVersionId each time you update the application. + ApplicationVersionId *int64 `min:"1" type:"long"` + + // The parameters of the new VPC configuration. + VpcConfigurationDescription *VpcConfigurationDescription `type:"structure"` +} + +// String returns the string representation +func (s AddApplicationVpcConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddApplicationVpcConfigurationOutput) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *AddApplicationVpcConfigurationOutput) SetApplicationARN(v string) *AddApplicationVpcConfigurationOutput { + s.ApplicationARN = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *AddApplicationVpcConfigurationOutput) SetApplicationVersionId(v int64) *AddApplicationVpcConfigurationOutput { + s.ApplicationVersionId = &v + return s +} + +// SetVpcConfigurationDescription sets the VpcConfigurationDescription field's value. +func (s *AddApplicationVpcConfigurationOutput) SetVpcConfigurationDescription(v *VpcConfigurationDescription) *AddApplicationVpcConfigurationOutput { + s.VpcConfigurationDescription = v + return s +} + // Describes code configuration for a Java-based Kinesis Data Analytics application. type ApplicationCodeConfiguration struct { _ struct{} `type:"structure"` @@ -3119,6 +3433,9 @@ type ApplicationConfiguration struct { // The creation and update parameters for an SQL-based Kinesis Data Analytics // application. SqlApplicationConfiguration *SqlApplicationConfiguration `type:"structure"` + + // The array of descriptions of VPC configurations available to the application. + VpcConfigurations []*VpcConfiguration `type:"list"` } // String returns the string representation @@ -3162,6 +3479,16 @@ func (s *ApplicationConfiguration) Validate() error { invalidParams.AddNested("SqlApplicationConfiguration", err.(request.ErrInvalidParams)) } } + if s.VpcConfigurations != nil { + for i, v := range s.VpcConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3199,6 +3526,12 @@ func (s *ApplicationConfiguration) SetSqlApplicationConfiguration(v *SqlApplicat return s } +// SetVpcConfigurations sets the VpcConfigurations field's value. +func (s *ApplicationConfiguration) SetVpcConfigurations(v []*VpcConfiguration) *ApplicationConfiguration { + s.VpcConfigurations = v + return s +} + // Describes details about the application code and starting parameters for // an Amazon Kinesis Data Analytics application. type ApplicationConfigurationDescription struct { @@ -3224,6 +3557,9 @@ type ApplicationConfigurationDescription struct { // The details about inputs, outputs, and reference data sources for an SQL-based // Kinesis Data Analytics application. SqlApplicationConfigurationDescription *SqlApplicationConfigurationDescription `type:"structure"` + + // The array of descriptions of VPC configurations available to the application. + VpcConfigurationDescriptions []*VpcConfigurationDescription `type:"list"` } // String returns the string representation @@ -3272,6 +3608,12 @@ func (s *ApplicationConfigurationDescription) SetSqlApplicationConfigurationDesc return s } +// SetVpcConfigurationDescriptions sets the VpcConfigurationDescriptions field's value. +func (s *ApplicationConfigurationDescription) SetVpcConfigurationDescriptions(v []*VpcConfigurationDescription) *ApplicationConfigurationDescription { + s.VpcConfigurationDescriptions = v + return s +} + // Describes updates to an application's configuration. type ApplicationConfigurationUpdate struct { _ struct{} `type:"structure"` @@ -3293,6 +3635,10 @@ type ApplicationConfigurationUpdate struct { // Describes updates to an SQL-based Kinesis Data Analytics application's configuration. SqlApplicationConfigurationUpdate *SqlApplicationConfigurationUpdate `type:"structure"` + + // Updates to the array of descriptions of VPC configurations available to the + // application. + VpcConfigurationUpdates []*VpcConfigurationUpdate `type:"list"` } // String returns the string representation @@ -3333,6 +3679,16 @@ func (s *ApplicationConfigurationUpdate) Validate() error { invalidParams.AddNested("SqlApplicationConfigurationUpdate", err.(request.ErrInvalidParams)) } } + if s.VpcConfigurationUpdates != nil { + for i, v := range s.VpcConfigurationUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcConfigurationUpdates", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3370,6 +3726,12 @@ func (s *ApplicationConfigurationUpdate) SetSqlApplicationConfigurationUpdate(v return s } +// SetVpcConfigurationUpdates sets the VpcConfigurationUpdates field's value. +func (s *ApplicationConfigurationUpdate) SetVpcConfigurationUpdates(v []*VpcConfigurationUpdate) *ApplicationConfigurationUpdate { + s.VpcConfigurationUpdates = v + return s +} + // Describes the application, including the application Amazon Resource Name // (ARN), status, latest version, and input and output configurations. type ApplicationDetail struct { @@ -3807,14 +4169,33 @@ type CheckpointConfiguration struct { _ struct{} `type:"structure"` // Describes the interval in milliseconds between checkpoint operations. - CheckpointInterval *int64 `type:"long"` + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a CheckpointInterval vaue of 60000, even if this value is set to + // another value using this API or in application code. + CheckpointInterval *int64 `min:"1" type:"long"` // Describes whether checkpointing is enabled for a Java-based Kinesis Data // Analytics application. + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a CheckpointingEnabled value of true, even if this value is set + // to another value using this API or in application code. CheckpointingEnabled *bool `type:"boolean"` // Describes whether the application uses Amazon Kinesis Data Analytics' default - // checkpointing behavior. + // checkpointing behavior. You must set this property to CUSTOM in order to + // set the CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints + // parameters. + // + // If this value is set to DEFAULT, the application will use the following values, + // even if they are set to other values using APIs or application code: + // + // * CheckpointingEnabled: true + // + // * CheckpointInterval: 60000 + // + // * MinPauseBetweenCheckpoints: 5000 // // ConfigurationType is a required field ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"` @@ -3824,6 +4205,10 @@ type CheckpointConfiguration struct { // longer than the CheckpointInterval, the application otherwise performs continual // checkpoint operations. For more information, see Tuning Checkpointing (https://ci.apache.org/projects/flink/flink-docs-stable/ops/state/large_state_tuning.html#tuning-checkpointing) // in the Apache Flink Documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.6/). + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a MinPauseBetweenCheckpoints value of 5000, even if this value is + // set using this API or in application code. MinPauseBetweenCheckpoints *int64 `type:"long"` } @@ -3840,6 +4225,9 @@ func (s CheckpointConfiguration) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CheckpointConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CheckpointConfiguration"} + if s.CheckpointInterval != nil && *s.CheckpointInterval < 1 { + invalidParams.Add(request.NewErrParamMinValue("CheckpointInterval", 1)) + } if s.ConfigurationType == nil { invalidParams.Add(request.NewErrParamRequired("ConfigurationType")) } @@ -3880,18 +4268,39 @@ type CheckpointConfigurationDescription struct { _ struct{} `type:"structure"` // Describes the interval in milliseconds between checkpoint operations. - CheckpointInterval *int64 `type:"long"` + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a CheckpointInterval vaue of 60000, even if this value is set to + // another value using this API or in application code. + CheckpointInterval *int64 `min:"1" type:"long"` // Describes whether checkpointing is enabled for a Java-based Kinesis Data // Analytics application. + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a CheckpointingEnabled value of true, even if this value is set + // to another value using this API or in application code. CheckpointingEnabled *bool `type:"boolean"` // Describes whether the application uses the default checkpointing behavior // in Kinesis Data Analytics. + // + // If this value is set to DEFAULT, the application will use the following values, + // even if they are set to other values using APIs or application code: + // + // * CheckpointingEnabled: true + // + // * CheckpointInterval: 60000 + // + // * MinPauseBetweenCheckpoints: 5000 ConfigurationType *string `type:"string" enum:"ConfigurationType"` // Describes the minimum time in milliseconds after a checkpoint operation completes // that a new checkpoint operation can start. + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a MinPauseBetweenCheckpoints value of 5000, even if this value is + // set using this API or in application code. MinPauseBetweenCheckpoints *int64 `type:"long"` } @@ -3935,17 +4344,40 @@ type CheckpointConfigurationUpdate struct { _ struct{} `type:"structure"` // Describes updates to the interval in milliseconds between checkpoint operations. - CheckpointIntervalUpdate *int64 `type:"long"` + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a CheckpointInterval vaue of 60000, even if this value is set to + // another value using this API or in application code. + CheckpointIntervalUpdate *int64 `min:"1" type:"long"` // Describes updates to whether checkpointing is enabled for an application. + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a CheckpointingEnabled value of true, even if this value is set + // to another value using this API or in application code. CheckpointingEnabledUpdate *bool `type:"boolean"` // Describes updates to whether the application uses the default checkpointing - // behavior of Kinesis Data Analytics. + // behavior of Kinesis Data Analytics. You must set this property to CUSTOM + // in order to set the CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints + // parameters. + // + // If this value is set to DEFAULT, the application will use the following values, + // even if they are set to other values using APIs or application code: + // + // * CheckpointingEnabled: true + // + // * CheckpointInterval: 60000 + // + // * MinPauseBetweenCheckpoints: 5000 ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"` // Describes updates to the minimum time in milliseconds after a checkpoint // operation completes that a new checkpoint operation can start. + // + // If CheckpointConfiguration.ConfigurationType is DEFAULT, the application + // will use a MinPauseBetweenCheckpoints value of 5000, even if this value is + // set using this API or in application code. MinPauseBetweenCheckpointsUpdate *int64 `type:"long"` } @@ -3959,6 +4391,19 @@ func (s CheckpointConfigurationUpdate) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CheckpointConfigurationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CheckpointConfigurationUpdate"} + if s.CheckpointIntervalUpdate != nil && *s.CheckpointIntervalUpdate < 1 { + invalidParams.Add(request.NewErrParamMinValue("CheckpointIntervalUpdate", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCheckpointIntervalUpdate sets the CheckpointIntervalUpdate field's value. func (s *CheckpointConfigurationUpdate) SetCheckpointIntervalUpdate(v int64) *CheckpointConfigurationUpdate { s.CheckpointIntervalUpdate = &v @@ -4335,8 +4780,7 @@ type CreateApplicationInput struct { // A list of one or more tags to assign to the application. A tag is a key-value // pair that identifies an application. Note that the maximum number of application // tags includes system tags. The maximum number of user-defined application - // tags is 50. For more information, see Using Cost Allocation Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) - // in the AWS Billing and Cost Management Guide. + // tags is 50. For more information, see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html). Tags []*Tag `min:"1" type:"list"` } @@ -5156,6 +5600,114 @@ func (s DeleteApplicationSnapshotOutput) GoString() string { return s.String() } +type DeleteApplicationVpcConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name of an existing application. + // + // ApplicationName is a required field + ApplicationName *string `min:"1" type:"string" required:"true"` + + // The current application version ID. You can retrieve the application version + // ID using DescribeApplication. + // + // CurrentApplicationVersionId is a required field + CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"` + + // The ID of the VPC configuration to delete. + // + // VpcConfigurationId is a required field + VpcConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteApplicationVpcConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationVpcConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteApplicationVpcConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationVpcConfigurationInput"} + if s.ApplicationName == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationName")) + } + if s.ApplicationName != nil && len(*s.ApplicationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1)) + } + if s.CurrentApplicationVersionId == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentApplicationVersionId")) + } + if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 { + invalidParams.Add(request.NewErrParamMinValue("CurrentApplicationVersionId", 1)) + } + if s.VpcConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcConfigurationId")) + } + if s.VpcConfigurationId != nil && len(*s.VpcConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VpcConfigurationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationName sets the ApplicationName field's value. +func (s *DeleteApplicationVpcConfigurationInput) SetApplicationName(v string) *DeleteApplicationVpcConfigurationInput { + s.ApplicationName = &v + return s +} + +// SetCurrentApplicationVersionId sets the CurrentApplicationVersionId field's value. +func (s *DeleteApplicationVpcConfigurationInput) SetCurrentApplicationVersionId(v int64) *DeleteApplicationVpcConfigurationInput { + s.CurrentApplicationVersionId = &v + return s +} + +// SetVpcConfigurationId sets the VpcConfigurationId field's value. +func (s *DeleteApplicationVpcConfigurationInput) SetVpcConfigurationId(v string) *DeleteApplicationVpcConfigurationInput { + s.VpcConfigurationId = &v + return s +} + +type DeleteApplicationVpcConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the Kinesis Data Analytics application. + ApplicationARN *string `min:"1" type:"string"` + + // The updated version ID of the application. + ApplicationVersionId *int64 `min:"1" type:"long"` +} + +// String returns the string representation +func (s DeleteApplicationVpcConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteApplicationVpcConfigurationOutput) GoString() string { + return s.String() +} + +// SetApplicationARN sets the ApplicationARN field's value. +func (s *DeleteApplicationVpcConfigurationOutput) SetApplicationARN(v string) *DeleteApplicationVpcConfigurationOutput { + s.ApplicationARN = &v + return s +} + +// SetApplicationVersionId sets the ApplicationVersionId field's value. +func (s *DeleteApplicationVpcConfigurationOutput) SetApplicationVersionId(v int64) *DeleteApplicationVpcConfigurationOutput { + s.ApplicationVersionId = &v + return s +} + type DescribeApplicationInput struct { _ struct{} `type:"structure"` @@ -5785,6 +6337,11 @@ func (s FlinkApplicationConfigurationUpdate) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *FlinkApplicationConfigurationUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "FlinkApplicationConfigurationUpdate"} + if s.CheckpointConfigurationUpdate != nil { + if err := s.CheckpointConfigurationUpdate.Validate(); err != nil { + invalidParams.AddNested("CheckpointConfigurationUpdate", err.(request.ErrInvalidParams)) + } + } if s.ParallelismConfigurationUpdate != nil { if err := s.ParallelismConfigurationUpdate.Validate(); err != nil { invalidParams.AddNested("ParallelismConfigurationUpdate", err.(request.ErrInvalidParams)) @@ -5815,6 +6372,36 @@ func (s *FlinkApplicationConfigurationUpdate) SetParallelismConfigurationUpdate( return s } +// Describes the starting parameters for an Apache Flink-based Kinesis Data +// Analytics application. +type FlinkRunConfiguration struct { + _ struct{} `type:"structure"` + + // When restoring from a savepoint, specifies whether the runtime is allowed + // to skip a state that cannot be mapped to the new program. This will happen + // if the program is updated between savepoints to remove stateful parameters, + // and state data in the savepoint no longer corresponds to valid application + // data. For more information, see Allowing Non-Restored State (https://ci.apache.org/projects/flink/flink-docs-release-1.8/ops/state/savepoints.html#allowing-non-restored-state) + // in the Apache Flink documentation (https://ci.apache.org/projects/flink/flink-docs-release-1.8/). + AllowNonRestoredState *bool `type:"boolean"` +} + +// String returns the string representation +func (s FlinkRunConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FlinkRunConfiguration) GoString() string { + return s.String() +} + +// SetAllowNonRestoredState sets the AllowNonRestoredState field's value. +func (s *FlinkRunConfiguration) SetAllowNonRestoredState(v bool) *FlinkRunConfiguration { + s.AllowNonRestoredState = &v + return s +} + // When you configure the application input for an SQL-based Amazon Kinesis // Data Analytics application, you specify the streaming source, the in-application // stream name that is created, and the mapping between the two. @@ -7651,7 +8238,8 @@ type MonitoringConfiguration struct { _ struct{} `type:"structure"` // Describes whether to use the default CloudWatch logging configuration for - // an application. + // an application. You must set this property to CUSTOM in order to set the + // LogLevel or MetricsLevel parameters. // // ConfigurationType is a required field ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"` @@ -7754,7 +8342,8 @@ type MonitoringConfigurationUpdate struct { _ struct{} `type:"structure"` // Describes updates to whether to use the default CloudWatch logging configuration - // for an application. + // for an application. You must set this property to CUSTOM in order to set + // the LogLevel or MetricsLevel parameters. ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"` // Describes updates to the verbosity of the CloudWatch Logs for an application. @@ -8098,15 +8687,22 @@ type ParallelismConfiguration struct { AutoScalingEnabled *bool `type:"boolean"` // Describes whether the application uses the default parallelism for the Kinesis - // Data Analytics service. + // Data Analytics service. You must set this property to CUSTOM in order to + // change your application's AutoScalingEnabled, Parallelism, or ParallelismPerKPU + // properties. // // ConfigurationType is a required field ConfigurationType *string `type:"string" required:"true" enum:"ConfigurationType"` // Describes the initial number of parallel tasks that a Java-based Kinesis - // Data Analytics application can perform. The Kinesis Data Analytics service - // can increase this number automatically if ParallelismConfiguration$AutoScalingEnabled - // is set to true. + // Data Analytics application can perform. If AutoScalingEnabled is set to True, + // Kinesis Data Analytics increases the CurrentParallelism value in response + // to application load. The service can increase the CurrentParallelism value + // up to the maximum parallelism, which is ParalellismPerKPU times the maximum + // KPUs for the application. The maximum KPUs for an application is 32 by default, + // and can be increased by requesting a limit increase. If application load + // is reduced, the service can reduce the CurrentParallelism value down to the + // Parallelism setting. Parallelism *int64 `min:"1" type:"integer"` // Describes the number of parallel tasks that a Java-based Kinesis Data Analytics @@ -8183,11 +8779,24 @@ type ParallelismConfigurationDescription struct { ConfigurationType *string `type:"string" enum:"ConfigurationType"` // Describes the current number of parallel tasks that a Java-based Kinesis - // Data Analytics application can perform. + // Data Analytics application can perform. If AutoScalingEnabled is set to True, + // Kinesis Data Analytics can increase this value in response to application + // load. The service can increase this value up to the maximum parallelism, + // which is ParalellismPerKPU times the maximum KPUs for the application. The + // maximum KPUs for an application is 32 by default, and can be increased by + // requesting a limit increase. If application load is reduced, the service + // can reduce the CurrentParallelism value down to the Parallelism setting. CurrentParallelism *int64 `min:"1" type:"integer"` // Describes the initial number of parallel tasks that a Java-based Kinesis - // Data Analytics application can perform. + // Data Analytics application can perform. If AutoScalingEnabled is set to True, + // then Kinesis Data Analytics can increase the CurrentParallelism value in + // response to application load. The service can increase CurrentParallelism + // up to the maximum parallelism, which is ParalellismPerKPU times the maximum + // KPUs for the application. The maximum KPUs for an application is 32 by default, + // and can be increased by requesting a limit increase. If application load + // is reduced, the service can reduce the CurrentParallelism value down to the + // Parallelism setting. Parallelism *int64 `min:"1" type:"integer"` // Describes the number of parallel tasks that a Java-based Kinesis Data Analytics @@ -8246,6 +8855,8 @@ type ParallelismConfigurationUpdate struct { // Describes updates to whether the application uses the default parallelism // for the Kinesis Data Analytics service, or if a custom parallelism is used. + // You must set this property to CUSTOM in order to change your application's + // AutoScalingEnabled, Parallelism, or ParallelismPerKPU properties. ConfigurationTypeUpdate *string `type:"string" enum:"ConfigurationType"` // Describes updates to the number of parallel tasks an application can perform @@ -8253,7 +8864,13 @@ type ParallelismConfigurationUpdate struct { ParallelismPerKPUUpdate *int64 `min:"1" type:"integer"` // Describes updates to the initial number of parallel tasks an application - // can perform. + // can perform. If AutoScalingEnabled is set to True, then Kinesis Data Analytics + // can increase the CurrentParallelism value in response to application load. + // The service can increase CurrentParallelism up to the maximum parallelism, + // which is ParalellismPerKPU times the maximum KPUs for the application. The + // maximum KPUs for an application is 32 by default, and can be increased by + // requesting a limit increase. If application load is reduced, the service + // will reduce CurrentParallelism down to the Parallelism setting. ParallelismUpdate *int64 `min:"1" type:"integer"` } @@ -8741,6 +9358,10 @@ type RunConfiguration struct { // Describes the restore behavior of a restarting application. ApplicationRestoreConfiguration *ApplicationRestoreConfiguration `type:"structure"` + // Describes the starting parameters for an Apache Flink-based Kinesis Data + // Analytics application. + FlinkRunConfiguration *FlinkRunConfiguration `type:"structure"` + // Describes the starting parameters for an SQL-based Kinesis Data Analytics // application. SqlRunConfigurations []*SqlRunConfiguration `type:"list"` @@ -8787,6 +9408,12 @@ func (s *RunConfiguration) SetApplicationRestoreConfiguration(v *ApplicationRest return s } +// SetFlinkRunConfiguration sets the FlinkRunConfiguration field's value. +func (s *RunConfiguration) SetFlinkRunConfiguration(v *FlinkRunConfiguration) *RunConfiguration { + s.FlinkRunConfiguration = v + return s +} + // SetSqlRunConfigurations sets the SqlRunConfigurations field's value. func (s *RunConfiguration) SetSqlRunConfigurations(v []*SqlRunConfiguration) *RunConfiguration { s.SqlRunConfigurations = v @@ -8824,6 +9451,10 @@ type RunConfigurationUpdate struct { // Describes updates to the restore behavior of a restarting application. ApplicationRestoreConfiguration *ApplicationRestoreConfiguration `type:"structure"` + + // Describes the starting parameters for an Apache Flink-based Kinesis Data + // Analytics application. + FlinkRunConfiguration *FlinkRunConfiguration `type:"structure"` } // String returns the string representation @@ -8857,6 +9488,12 @@ func (s *RunConfigurationUpdate) SetApplicationRestoreConfiguration(v *Applicati return s } +// SetFlinkRunConfiguration sets the FlinkRunConfiguration field's value. +func (s *RunConfigurationUpdate) SetFlinkRunConfiguration(v *FlinkRunConfiguration) *RunConfigurationUpdate { + s.FlinkRunConfiguration = v + return s +} + // Describes the location of a Java-based Amazon Kinesis Data Analytics application's // code stored in an S3 bucket. type S3ApplicationCodeLocationDescription struct { @@ -9806,9 +10443,7 @@ func (s StopApplicationOutput) GoString() string { // AWS resources. If you specify a tag that already exists, the tag value is // replaced with the value that you specify in the request. Note that the maximum // number of application tags includes system tags. The maximum number of user-defined -// application tags is 50. For more information, see Using Cost Allocation Tags -// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) -// in the AWS Billing and Cost Management Guide. +// application tags is 50. For more information, see Using Tagging (https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html). type Tag struct { _ struct{} `type:"structure"` @@ -10158,6 +10793,196 @@ func (s *UpdateApplicationOutput) SetApplicationDetail(v *ApplicationDetail) *Up return s } +// Describes the parameters of a VPC used by the application. +type VpcConfiguration struct { + _ struct{} `type:"structure"` + + // The array of SecurityGroup (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SecurityGroup.html) + // IDs used by the VPC configuration. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `min:"1" type:"list" required:"true"` + + // The array of Subnet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Subnet.html) + // IDs used by the VPC configuration. + // + // SubnetIds is a required field + SubnetIds []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s VpcConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VpcConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VpcConfiguration"} + if s.SecurityGroupIds == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) + } + if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1)) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.SubnetIds != nil && len(s.SubnetIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *VpcConfiguration) SetSecurityGroupIds(v []*string) *VpcConfiguration { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *VpcConfiguration) SetSubnetIds(v []*string) *VpcConfiguration { + s.SubnetIds = v + return s +} + +// Describes the parameters of a VPC used by the application. +type VpcConfigurationDescription struct { + _ struct{} `type:"structure"` + + // The array of SecurityGroup (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SecurityGroup.html) + // IDs used by the VPC configuration. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `min:"1" type:"list" required:"true"` + + // The array of Subnet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Subnet.html) + // IDs used by the VPC configuration. + // + // SubnetIds is a required field + SubnetIds []*string `min:"1" type:"list" required:"true"` + + // The ID of the VPC configuration. + // + // VpcConfigurationId is a required field + VpcConfigurationId *string `min:"1" type:"string" required:"true"` + + // The ID of the associated VPC. + // + // VpcId is a required field + VpcId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s VpcConfigurationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcConfigurationDescription) GoString() string { + return s.String() +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *VpcConfigurationDescription) SetSecurityGroupIds(v []*string) *VpcConfigurationDescription { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *VpcConfigurationDescription) SetSubnetIds(v []*string) *VpcConfigurationDescription { + s.SubnetIds = v + return s +} + +// SetVpcConfigurationId sets the VpcConfigurationId field's value. +func (s *VpcConfigurationDescription) SetVpcConfigurationId(v string) *VpcConfigurationDescription { + s.VpcConfigurationId = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *VpcConfigurationDescription) SetVpcId(v string) *VpcConfigurationDescription { + s.VpcId = &v + return s +} + +// Describes updates to the VPC configuration used by the application. +type VpcConfigurationUpdate struct { + _ struct{} `type:"structure"` + + // Describes updates to the array of SecurityGroup (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SecurityGroup.html) + // IDs used by the VPC configuration. + SecurityGroupIdUpdates []*string `min:"1" type:"list"` + + // Describes updates to the array of Subnet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Subnet.html) + // IDs used by the VPC configuration. + SubnetIdUpdates []*string `min:"1" type:"list"` + + // Describes an update to the ID of the VPC configuration. + // + // VpcConfigurationId is a required field + VpcConfigurationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s VpcConfigurationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcConfigurationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VpcConfigurationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VpcConfigurationUpdate"} + if s.SecurityGroupIdUpdates != nil && len(s.SecurityGroupIdUpdates) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIdUpdates", 1)) + } + if s.SubnetIdUpdates != nil && len(s.SubnetIdUpdates) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetIdUpdates", 1)) + } + if s.VpcConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcConfigurationId")) + } + if s.VpcConfigurationId != nil && len(*s.VpcConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VpcConfigurationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSecurityGroupIdUpdates sets the SecurityGroupIdUpdates field's value. +func (s *VpcConfigurationUpdate) SetSecurityGroupIdUpdates(v []*string) *VpcConfigurationUpdate { + s.SecurityGroupIdUpdates = v + return s +} + +// SetSubnetIdUpdates sets the SubnetIdUpdates field's value. +func (s *VpcConfigurationUpdate) SetSubnetIdUpdates(v []*string) *VpcConfigurationUpdate { + s.SubnetIdUpdates = v + return s +} + +// SetVpcConfigurationId sets the VpcConfigurationId field's value. +func (s *VpcConfigurationUpdate) SetVpcConfigurationId(v string) *VpcConfigurationUpdate { + s.VpcConfigurationId = &v + return s +} + const ( // ApplicationRestoreTypeSkipRestoreFromSnapshot is a ApplicationRestoreType enum value ApplicationRestoreTypeSkipRestoreFromSnapshot = "SKIP_RESTORE_FROM_SNAPSHOT" 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 d1375b226069..b53a52263052 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 @@ -58,16 +58,15 @@ func (c *KMS) CancelKeyDeletionRequest(input *CancelKeyDeletionInput) (req *requ // CancelKeyDeletion API operation for AWS Key Management Service. // // Cancels the deletion of a customer master key (CMK). When this operation -// is successful, the CMK is set to the Disabled state. To enable a CMK, use -// EnableKey. You cannot perform this operation on a CMK in a different AWS -// account. +// succeeds, the key state of the CMK is Disabled. To enable the CMK, use EnableKey. +// You cannot perform this operation on a CMK in a different AWS account. // // For more information about scheduling and canceling deletion of a CMK, see // Deleting Customer Master Keys (https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) // in the AWS Key Management Service Developer Guide. // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -100,7 +99,7 @@ func (c *KMS) CancelKeyDeletionRequest(input *CancelKeyDeletionInput) (req *requ // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CancelKeyDeletion func (c *KMS) CancelKeyDeletion(input *CancelKeyDeletionInput) (*CancelKeyDeletionOutput, error) { @@ -350,32 +349,68 @@ 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 selected operations, such as Encrypt -// and GenerateDataKey. +// 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. +// +// 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 +// change the CMK your code uses by associating a given alias with a different +// CMK. +// +// To run the same code in multiple AWS regions, use an alias in your code, +// such as alias/ApplicationKey. Then, in each AWS Region, create an alias/ApplicationKey +// alias that is associated with a CMK in that Region. When you run your code, +// it uses the alias/ApplicationKey CMK for that AWS Region without any Region-specific +// code. +// +// This operation does not return a response. To get the alias that you created, +// use the ListAliases operation. // -// Each CMK can have multiple aliases, but each alias points to only one CMK. -// The alias name must be unique in the AWS account and region. To simplify -// code that runs in multiple regions, use the same alias name, but point it -// to a different CMK in each region. +// To use aliases successfully, be aware of the following information. // -// 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 -// the response from the DescribeKey operation. To get the aliases of all CMKs, -// use the ListAliases operation. +// * Each alias points to only one CMK at a time, although a single CMK can +// have multiple aliases. The alias and its associated CMK must be in the +// same AWS account and Region. // -// The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias. -// It can contain only alphanumeric characters, forward slashes (/), underscores -// (_), and dashes (-). The alias name cannot begin with alias/aws/. The alias/aws/ -// prefix is reserved for AWS managed CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk). +// * You can associate an alias with any customer managed CMK in the same +// AWS account and Region. However, you do not have permission to associate +// an alias with an AWS managed CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) +// or an AWS owned CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk). // -// The alias and the CMK it is mapped to must be in the same AWS account and -// the same region. You cannot perform this operation on an alias in a different -// AWS account. +// * To change the CMK associated with an alias, use the UpdateAlias operation. +// The current CMK and the new CMK must be the same type (both symmetric +// or both asymmetric) and they must have the same key usage (ENCRYPT_DECRYPT +// or SIGN_VERIFY). This restriction prevents cryptographic errors in code +// that uses aliases. // -// To map an existing alias to a different CMK, call UpdateAlias. +// * The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias. +// It can contain only alphanumeric characters, forward slashes (/), underscores +// (_), and dashes (-). The alias name cannot begin with alias/aws/. The +// alias/aws/ prefix is reserved for AWS managed CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk). // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// * The alias name must be unique within an AWS Region. However, you can +// use the same alias name in multiple Regions of the same AWS account. Each +// instance of the alias is associated with a CMK in its Region. +// +// * After you create an alias, you cannot change its alias name. However, +// you can use the DeleteAlias operation to delete the alias and then create +// 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. +// +// 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 +// the response from the DescribeKey operation. To get the aliases and alias +// ARNs of CMKs in each AWS account and Region, use the ListAliases operation. +// +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -416,7 +451,7 @@ func (c *KMS) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateAlias func (c *KMS) CreateAlias(input *CreateAliasInput) (*CreateAliasOutput, error) { @@ -657,17 +692,44 @@ 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 encryption -// context in the operation request matches or includes a specified encryption -// context, use the Constraints parameter. For details, see GrantConstraints. +// 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), +// use the Constraints parameter. For details, see GrantConstraints. +// +// You can create grants on symmetric and asymmetric CMKs. However, if the grant +// allows an operation that the CMK does not support, CreateGrant fails with +// a ValidationException. +// +// * Grants for symmetric CMKs cannot allow operations that are not supported +// for symmetric CMKs, including Sign, Verify, and GetPublicKey. (There are +// limited exceptions to this rule for legacy operations, but you should +// not create a grant for an operation that AWS KMS does not support.) +// +// * Grants for asymmetric CMKs cannot allow operations that are not supported +// for asymmetric CMKs, including operations that generate data keys (https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey) +// or data key pairs (https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair), +// or operations related to automatic key rotation (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html), +// imported key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html), +// or CMKs in custom key stores (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). +// +// * Grants for asymmetric CMKs with a KeyUsage of ENCRYPT_DECRYPT cannot +// allow the Sign or Verify operations. Grants for asymmetric CMKs with a +// KeyUsage of SIGN_VERIFY cannot allow the Encrypt or Decrypt operations. +// +// * Grants for asymmetric CMKs cannot include an encryption context grant +// constraint. An encryption context is not supported on asymmetric CMKs. +// +// For information about symmetric and asymmetric CMKs, see Using Symmetric +// and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) +// in the AWS Key Management Service Developer Guide. // // To perform this operation on a CMK in a different AWS account, specify the // key ARN in the value of the KeyId parameter. For more information about grants, // see Grants (https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) // in the AWS Key Management Service Developer Guide . // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -711,7 +773,7 @@ func (c *KMS) CreateGrantRequest(input *CreateGrantInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateGrant func (c *KMS) CreateGrant(input *CreateGrantInput) (*CreateGrantOutput, error) { @@ -779,23 +841,67 @@ func (c *KMS) CreateKeyRequest(input *CreateKeyInput) (req *request.Request, out // CreateKey API operation for AWS Key Management Service. // -// Creates a customer managed customer master key (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys) -// (CMK) in your AWS account. +// Creates a unique customer managed customer master key (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master-keys) +// (CMK) in your AWS account and Region. You cannot use this operation to create +// a CMK in a different AWS account. +// +// You can use the CreateKey operation to create symmetric or asymmetric CMKs. +// +// * Symmetric CMKs contain a 256-bit symmetric key that never leaves AWS +// KMS unencrypted. To use the CMK, you must call AWS KMS. You can use a +// symmetric CMK to encrypt and decrypt small amounts of data, but they are +// typically used to generate data keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) +// or data key pairs. For details, see GenerateDataKey and GenerateDataKeyPair. +// +// * Asymmetric CMKs can contain an RSA key pair or an Elliptic Curve (ECC) +// key pair. The private key in an asymmetric CMK never leaves AWS KMS unencrypted. +// However, you can use the GetPublicKey operation to download the public +// key so it can be used outside of AWS KMS. CMKs with RSA key pairs can +// be used to encrypt or decrypt data or sign and verify messages (but not +// both). CMKs with ECC key pairs can be used only to sign and verify messages. +// +// For information about symmetric and asymmetric CMKs, see Using Symmetric +// and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) +// in the AWS Key Management Service Developer Guide. +// +// To create different types of CMKs, use the following guidance: +// +// Asymmetric CMKs +// +// To create an asymmetric CMK, use the CustomerMasterKeySpec parameter to specify +// the type of key material in the CMK. Then, use the KeyUsage parameter to +// determine whether the CMK will be used to encrypt and decrypt or sign and +// verify. You can't change these properties after the CMK is created. // -// You can use a CMK to encrypt small amounts of data (up to 4096 bytes) directly. -// But CMKs are more commonly used to encrypt the data keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) -// that are used to encrypt data. +// Symmetric CMKs // -// To create a CMK for imported key material, use the Origin parameter with -// a value of EXTERNAL. +// When creating a symmetric CMK, you don't need to specify the CustomerMasterKeySpec +// or KeyUsage parameters. The default value for CustomerMasterKeySpec, SYMMETRIC_DEFAULT, +// and the default value for KeyUsage, ENCRYPT_DECRYPT, are the only valid values +// for symmetric CMKs. // -// To create a CMK in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html), +// Imported Key Material +// +// To import your own key material, begin by creating a symmetric CMK with no +// key material. To do this, use the Origin parameter of CreateKey with a value +// of EXTERNAL. Next, use GetParametersForImport operation to get a public key +// and import token, and use the public key to encrypt your key material. Then, +// use ImportKeyMaterial with your import token to import the key material. +// For step-by-step instructions, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) +// in the AWS Key Management Service Developer Guide . You cannot import the +// key material into an asymmetric CMK. +// +// Custom Key Stores +// +// To create a symmetric CMK in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html), // use the CustomKeyStoreId parameter to specify the custom key store. You must // also use the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM // cluster that is associated with the custom key store must have at least two // active HSMs in different Availability Zones in the AWS Region. // -// You cannot use this operation to create a CMK in a different AWS account. +// You cannot create an asymmetric CMK in a custom key store. For information +// about custom key stores in AWS KMS see Using Custom Key Stores (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html) +// in the AWS Key Management 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 @@ -954,25 +1060,51 @@ func (c *KMS) DecryptRequest(input *DecryptInput) (req *request.Request, output // Decrypt API operation for AWS Key Management Service. // -// Decrypts ciphertext. Ciphertext is plaintext that has been previously encrypted -// by using any of the following operations: +// Decrypts ciphertext that was encrypted by a AWS KMS customer master key (CMK) +// using any of the following operations: +// +// * Encrypt // // * GenerateDataKey // +// * GenerateDataKeyPair +// // * GenerateDataKeyWithoutPlaintext // -// * Encrypt +// * GenerateDataKeyPairWithoutPlaintext +// +// You can use this operation to decrypt ciphertext that was encrypted under +// a symmetric or asymmetric CMK. When the CMK is asymmetric, you must specify +// the CMK and the encryption algorithm that was used to encrypt the ciphertext. +// For information about symmetric and asymmetric CMKs, see Using Symmetric +// and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) +// in the AWS Key Management Service Developer Guide. +// +// The Decrypt operation also decrypts ciphertext that was encrypted outside +// of AWS KMS by the public key in an AWS KMS asymmetric CMK. 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. +// +// If the ciphertext was encrypted under a symmetric CMK, you do not need to +// specify the CMK or the encryption algorithm. AWS KMS can get this information +// from metadata that it adds to the symmetric ciphertext blob. However, if +// you prefer, you can specify the KeyId to ensure that a particular CMK is +// used to decrypt the ciphertext. If you specify a different CMK than the one +// used to encrypt the ciphertext, the Decrypt operation fails. // // Whenever possible, use key policies to give users permission to call the -// Decrypt operation on the CMK, instead of IAM policies. Otherwise, you might -// create an IAM user policy that gives the user Decrypt permission on all CMKs. -// This user could decrypt ciphertext that was encrypted by CMKs in other accounts -// if the key policy for the cross-account CMK permits it. If you must use an -// IAM policy for Decrypt permissions, limit the user to particular CMKs or -// particular trusted accounts. -// -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// Decrypt operation on a particular CMK, instead of using IAM policies. Otherwise, +// you might create an IAM user policy that gives the user Decrypt permission +// on all CMKs. This user could decrypt ciphertext that was encrypted by CMKs +// in other accounts if the key policy for the cross-account CMK permits it. +// If you must use an IAM policy for Decrypt permissions, limit the user to +// particular CMKs or particular trusted accounts. +// +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -991,13 +1123,37 @@ func (c *KMS) DecryptRequest(input *DecryptInput) (req *request.Request, output // The request was rejected because the specified CMK is not enabled. // // * ErrCodeInvalidCiphertextException "InvalidCiphertextException" -// The request was rejected because the specified ciphertext, or additional -// authenticated data incorporated into the ciphertext, such as the encryption -// context, is corrupted, missing, or otherwise invalid. +// From the Decrypt or ReEncrypt operation, the request was rejected because +// the specified ciphertext, or additional authenticated data incorporated into +// the ciphertext, such as the encryption context, is corrupted, missing, or +// otherwise invalid. +// +// From the ImportKeyMaterial operation, the request was rejected because AWS +// KMS could not decrypt the encrypted (wrapped) key material. // // * ErrCodeKeyUnavailableException "KeyUnavailableException" -// The request was rejected because the specified CMK was not available. The -// request can be retried. +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// +// * ErrCodeIncorrectKeyException "IncorrectKeyException" +// The request was rejected because the specified CMK cannot decrypt the data. +// The KeyId in a Decrypt request and the SourceKeyId in a ReEncrypt request +// must identify the same CMK that was used to encrypt the ciphertext. +// +// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. // // * ErrCodeDependencyTimeoutException "DependencyTimeoutException" // The system timed out while trying to fulfill the request. The request can @@ -1016,7 +1172,7 @@ func (c *KMS) DecryptRequest(input *DecryptInput) (req *request.Request, output // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Decrypt func (c *KMS) Decrypt(input *DecryptInput) (*DecryptOutput, error) { @@ -1123,7 +1279,7 @@ func (c *KMS) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteAlias func (c *KMS) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) { @@ -1342,8 +1498,8 @@ func (c *KMS) DeleteImportedKeyMaterialRequest(input *DeleteImportedKeyMaterialI // After you delete key material, you can use ImportKeyMaterial to reimport // the same key material into the CMK. // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1380,7 +1536,7 @@ func (c *KMS) DeleteImportedKeyMaterialRequest(input *DeleteImportedKeyMaterialI // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterial func (c *KMS) DeleteImportedKeyMaterial(input *DeleteImportedKeyMaterialInput) (*DeleteImportedKeyMaterialOutput, error) { @@ -1558,12 +1714,38 @@ func (c *KMS) DescribeKeyRequest(input *DescribeKeyInput) (req *request.Request, // DescribeKey API operation for AWS Key Management Service. // -// Provides detailed information about the specified customer master key (CMK). +// Provides detailed information about a customer master key (CMK). You can +// run DescribeKey on a customer managed CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) +// or an AWS managed CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk). +// +// This detailed information includes the key ARN, creation date (and deletion +// date, if applicable), the key state, and the origin and expiration date (if +// any) of the key material. For CMKs in custom key stores, it includes information +// about the custom key store, such as the key store ID and the AWS CloudHSM +// cluster ID. It includes fields, like KeySpec, that help you distinguish symmetric +// from asymmetric CMKs. It also provides information that is particularly important +// to asymmetric CMKs, such as the key usage (encryption or signing) and the +// encryption algorithms or signing algorithms that the CMK supports. +// +// DescribeKey does not return the following information: // -// You can use DescribeKey on a predefined AWS alias, that is, an AWS alias -// with no key ID. When you do, AWS KMS associates the alias with an AWS managed -// CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys) -// and returns its KeyId and Arn in the response. +// * Aliases associated with the CMK. To get this information, use ListAliases. +// +// * Whether automatic key rotation is enabled on the CMK. To get this information, +// use GetKeyRotationStatus. Also, some key states prevent a CMK from being +// automatically rotated. For details, see How Automatic Key Rotation Works +// (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works) +// in AWS Key Management Service Developer Guide. +// +// * Tags on the CMK. To get this information, use ListResourceTags. +// +// * Key policies and grants on the CMK. To get this information, use GetKeyPolicy +// and ListGrants. +// +// If you call the DescribeKey operation on a predefined AWS alias, that is, +// an AWS alias with no key ID, AWS KMS creates an AWS managed CMK (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). +// Then, it associates the alias with the new CMK, and returns the KeyId and +// Arn of the new CMK in the response. // // To perform this operation on a CMK in a different AWS account, specify the // key ARN or alias ARN in the value of the KeyId parameter. @@ -1667,8 +1849,8 @@ func (c *KMS) DisableKeyRequest(input *DisableKeyInput) (req *request.Request, o // Key State Affects the 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 . // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1701,7 +1883,7 @@ func (c *KMS) DisableKeyRequest(input *DisableKeyInput) (req *request.Request, o // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DisableKey func (c *KMS) DisableKey(input *DisableKeyInput) (*DisableKeyOutput, error) { @@ -1771,11 +1953,14 @@ func (c *KMS) DisableKeyRotationRequest(input *DisableKeyRotationInput) (req *re // DisableKeyRotation API operation for AWS Key Management Service. // // Disables automatic rotation of the key material (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) -// for the specified customer master key (CMK). You cannot perform this operation -// on a CMK in a different AWS account. +// for the specified symmetric customer master key (CMK). +// +// You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported +// key material, or CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). +// You cannot perform this operation on a CMK in a different AWS account. // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1811,7 +1996,7 @@ func (c *KMS) DisableKeyRotationRequest(input *DisableKeyRotationInput) (req *re // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" // The request was rejected because a specified parameter is not supported or @@ -2011,8 +2196,8 @@ func (c *KMS) EnableKeyRequest(input *EnableKeyInput) (req *request.Request, out // you to use the CMK for cryptographic operations. You cannot perform this // operation on a CMK in a different AWS account. // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2050,7 +2235,7 @@ func (c *KMS) EnableKeyRequest(input *EnableKeyInput) (req *request.Request, out // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EnableKey func (c *KMS) EnableKey(input *EnableKeyInput) (*EnableKeyOutput, error) { @@ -2120,14 +2305,14 @@ func (c *KMS) EnableKeyRotationRequest(input *EnableKeyRotationInput) (req *requ // EnableKeyRotation API operation for AWS Key Management Service. // // Enables automatic rotation of the key material (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) -// for the specified customer master key (CMK). You cannot perform this operation -// on a CMK in a different AWS account. +// for the specified symmetric customer master key (CMK). You cannot perform +// this operation on a CMK in a different AWS account. // -// You cannot enable automatic rotation of CMKs with imported key material or -// CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). +// You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported +// key material, or CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2163,7 +2348,7 @@ func (c *KMS) EnableKeyRotationRequest(input *EnableKeyRotationInput) (req *requ // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" // The request was rejected because a specified parameter is not supported or @@ -2238,8 +2423,8 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output // Encrypts plaintext into ciphertext by using a customer master key (CMK). // The Encrypt operation has two primary use cases: // -// * You can encrypt up to 4 kilobytes (4096 bytes) of arbitrary data such -// as an RSA key, a database password, or other sensitive information. +// * You can encrypt small amounts of arbitrary data, such as a personal +// 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 @@ -2248,16 +2433,50 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output // data and encrypted data key to the new region, and decrypt in the new // region when necessary. // -// You don't need use this operation to encrypt a data key within a region. -// The GenerateDataKey and GenerateDataKeyWithoutPlaintext operations return -// an encrypted data key. +// 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 +// copy of that data key. +// +// When you encrypt data, you must specify a symmetric or asymmetric CMK to +// use in the encryption operation. The CMK must have a KeyUsage value of ENCRYPT_DECRYPT. +// To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// If you use a symmetric CMK, you can use an encryption context to add additional +// security to your encryption operation. If you specify an EncryptionContext +// when encrypting data, you must specify the same encryption context (a case-sensitive +// exact match) when decrypting the data. Otherwise, the request to decrypt +// fails with an InvalidCiphertextException. For more information, see Encryption +// Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) +// in the AWS Key Management Service Developer Guide. +// +// If you specify an asymmetric CMK, you must also specify the encryption algorithm. +// The algorithm must be compatible with the CMK type. +// +// When you use an asymmetric CMK to encrypt or reencrypt data, be sure to record +// the CMK and encryption algorithm that you choose. You will be required to +// provide the same CMK and encryption algorithm when you decrypt the data. +// If the CMK and algorithm do not match the values used to encrypt the data, +// the decrypt operation fails. +// +// You are not required to supply the CMK ID and encryption algorithm when you +// decrypt with symmetric CMKs because AWS KMS stores this information in the +// ciphertext blob. AWS KMS cannot store metadata in ciphertext generated with +// asymmetric keys. The standard format for asymmetric key ciphertext does not +// include configurable fields. // -// Also, you don't need to use this operation to encrypt data in your application. -// You can use the plaintext and encrypted data keys that the GenerateDataKey -// operation returns. +// The maximum size of the data that you can encrypt varies with the type of +// CMK and the encryption algorithm that you choose. // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// * Symmetric CMKs SYMMETRIC_DEFAULT: 4096 bytes +// +// * RSA_2048 RSAES_OAEP_SHA_1: 214 bytes RSAES_OAEP_SHA_256: 190 bytes +// +// * RSA_3072 RSAES_OAEP_SHA_1: 342 bytes RSAES_OAEP_SHA_256: 318 bytes +// +// * RSA_4096 RSAES_OAEP_SHA_1: 470 bytes RSAES_OAEP_SHA_256: 446 bytes +// +// 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) // in the AWS Key Management Service Developer Guide. // // To perform this operation on a CMK in a different AWS account, specify the @@ -2279,15 +2498,27 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output // The request was rejected because the specified CMK is not enabled. // // * ErrCodeKeyUnavailableException "KeyUnavailableException" -// The request was rejected because the specified CMK was not available. The -// request can be retried. +// The request was rejected because the specified CMK was not available. You +// can retry the request. // // * ErrCodeDependencyTimeoutException "DependencyTimeoutException" // The system timed out while trying to fulfill the request. The request can // be retried. // // * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" -// The request was rejected because the specified KeySpec value is not valid. +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. // // * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" // The request was rejected because the specified grant token is not valid. @@ -2302,7 +2533,7 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Encrypt func (c *KMS) Encrypt(input *EncryptInput) (*EncryptOutput, error) { @@ -2370,26 +2601,42 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request. // GenerateDataKey API operation for AWS Key Management Service. // -// Generates a unique 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 -// KMS and store the encrypted data key with the encrypted data. +// 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. // // 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. // -// To generate a data key, you need to specify the customer master key (CMK) -// that will be used to encrypt the data key. You must also specify the length -// of the data key using either the KeySpec or NumberOfBytes field (but not -// both). For common key lengths (128-bit and 256-bit symmetric keys), we recommend -// that you use KeySpec. To perform this operation on a CMK in a different AWS -// account, specify the key ARN or alias ARN in the value of the KeyId parameter. +// 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. +// +// 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. // -// You will find the plaintext copy of the data key in the Plaintext field of -// the response, and the encrypted copy of the data key in the CiphertextBlob +// 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. // +// To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. +// To generate an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext +// operation. To get a cryptographically secure random byte string, use GenerateRandom. +// +// You can use the optional encryption context to add additional security to +// the encryption operation. If you specify an EncryptionContext, you must specify +// the same encryption context (a case-sensitive exact match) when decrypting +// the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. +// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) +// in the AWS Key Management Service Developer Guide. +// +// 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) +// in the AWS Key Management Service Developer Guide. +// // We recommend that you use the following pattern to encrypt data locally in // your application: // @@ -2409,21 +2656,6 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request. // Use the plaintext data key to decrypt data locally, then erase the plaintext // data key from memory. // -// To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. -// To get a cryptographically secure random byte string, use GenerateRandom. -// -// You can use the optional encryption context to add additional security to -// your encryption operation. When you specify an EncryptionContext in the GenerateDataKey -// operation, you must specify the same encryption context (a case-sensitive -// exact match) in your request to Decrypt the data key. Otherwise, the request -// to decrypt fails with an InvalidCiphertextException. For more information, -// see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) -// in the AWS Key Management Service Developer Guide . -// -// The result of this operation varies with the key state of the CMK. 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. -// // 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. @@ -2440,15 +2672,27 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request. // The request was rejected because the specified CMK is not enabled. // // * ErrCodeKeyUnavailableException "KeyUnavailableException" -// The request was rejected because the specified CMK was not available. The -// request can be retried. +// The request was rejected because the specified CMK was not available. You +// can retry the request. // // * ErrCodeDependencyTimeoutException "DependencyTimeoutException" // The system timed out while trying to fulfill the request. The request can // be retried. // // * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" -// The request was rejected because the specified KeySpec value is not valid. +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. // // * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" // The request was rejected because the specified grant token is not valid. @@ -2463,7 +2707,7 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request. // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKey func (c *KMS) GenerateDataKey(input *GenerateDataKeyInput) (*GenerateDataKeyOutput, error) { @@ -2487,74 +2731,85 @@ func (c *KMS) GenerateDataKeyWithContext(ctx aws.Context, input *GenerateDataKey return out, req.Send() } -const opGenerateDataKeyWithoutPlaintext = "GenerateDataKeyWithoutPlaintext" +const opGenerateDataKeyPair = "GenerateDataKeyPair" -// GenerateDataKeyWithoutPlaintextRequest generates a "aws/request.Request" representing the -// client's request for the GenerateDataKeyWithoutPlaintext operation. The "output" return +// GenerateDataKeyPairRequest generates a "aws/request.Request" representing the +// client's request for the GenerateDataKeyPair 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 GenerateDataKeyWithoutPlaintext for more information on using the GenerateDataKeyWithoutPlaintext +// See GenerateDataKeyPair for more information on using the GenerateDataKeyPair // 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 GenerateDataKeyWithoutPlaintextRequest method. -// req, resp := client.GenerateDataKeyWithoutPlaintextRequest(params) +// // Example sending a request using the GenerateDataKeyPairRequest method. +// req, resp := client.GenerateDataKeyPairRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext -func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWithoutPlaintextInput) (req *request.Request, output *GenerateDataKeyWithoutPlaintextOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair +func (c *KMS) GenerateDataKeyPairRequest(input *GenerateDataKeyPairInput) (req *request.Request, output *GenerateDataKeyPairOutput) { op := &request.Operation{ - Name: opGenerateDataKeyWithoutPlaintext, + Name: opGenerateDataKeyPair, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GenerateDataKeyWithoutPlaintextInput{} + input = &GenerateDataKeyPairInput{} } - output = &GenerateDataKeyWithoutPlaintextOutput{} + output = &GenerateDataKeyPairOutput{} req = c.newRequest(op, input, output) return } -// GenerateDataKeyWithoutPlaintext API operation for AWS Key Management Service. +// GenerateDataKeyPair API operation for AWS Key Management Service. // -// Generates a unique data key. This operation returns a data key that is encrypted -// under a customer master key (CMK) that you specify. GenerateDataKeyWithoutPlaintext -// is identical to GenerateDataKey except that returns only the encrypted copy -// of the data key. +// Generates a unique asymmetric data key pair. The GenerateDataKeyPair operation +// returns a plaintext public key, a plaintext private key, and a copy of the +// private key that is encrypted under the symmetric CMK you specify. You can +// use the data key pair to perform asymmetric cryptography outside of AWS KMS. // -// Like GenerateDataKey, GenerateDataKeyWithoutPlaintext 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. +// GenerateDataKeyPair returns a unique data key pair for each request. The +// bytes in the keys are not related to the caller or the CMK that is used to +// encrypt the private key. // -// This operation is useful for systems that need to encrypt data at some point, -// but not immediately. When you need to encrypt the data, you call the Decrypt -// operation on the encrypted copy of the key. +// You can use the public key that GenerateDataKeyPair returns to encrypt data +// or verify a signature outside of AWS KMS. Then, store the encrypted private +// key with the data. When you are ready to decrypt data or sign a message, +// you can use the Decrypt operation to decrypt the encrypted private key. // -// It's also useful in distributed systems with different levels of trust. For -// example, you might store encrypted data in containers. One component of your -// system creates new containers and stores an encrypted data key with each -// container. Then, a different component puts the data into the containers. -// That component first decrypts the data key, uses the plaintext data key to -// encrypt data, puts the encrypted data into the container, and then destroys -// the plaintext data key. In this system, the component that creates the containers -// never sees the plaintext data key. +// 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. +// +// 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 +// operation. GenerateDataKeyPairWithoutPlaintext returns a plaintext public +// key and an encrypted private key, but omits the plaintext private key that +// you need only to decrypt ciphertext or sign a message. Later, when you need +// to decrypt the data or sign a message, use the Decrypt operation to decrypt +// the encrypted private key in the data key pair. +// +// You can use the optional encryption context to add additional security to +// the encryption operation. If you specify an EncryptionContext, you must specify +// the same encryption context (a case-sensitive exact match) when decrypting +// the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. +// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) +// in the AWS Key Management Service Developer Guide. // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2562,7 +2817,7 @@ func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWitho // the error. // // See the AWS API reference guide for AWS Key Management Service's -// API operation GenerateDataKeyWithoutPlaintext for usage and error information. +// API operation GenerateDataKeyPair for usage and error information. // // Returned Error Codes: // * ErrCodeNotFoundException "NotFoundException" @@ -2573,15 +2828,27 @@ func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWitho // The request was rejected because the specified CMK is not enabled. // // * ErrCodeKeyUnavailableException "KeyUnavailableException" -// The request was rejected because the specified CMK was not available. The -// request can be retried. +// The request was rejected because the specified CMK was not available. You +// can retry the request. // // * ErrCodeDependencyTimeoutException "DependencyTimeoutException" // The system timed out while trying to fulfill the request. The request can // be retried. // // * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" -// The request was rejected because the specified KeySpec value is not valid. +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. // // * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" // The request was rejected because the specified grant token is not valid. @@ -2596,202 +2863,518 @@ func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWitho // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext -func (c *KMS) GenerateDataKeyWithoutPlaintext(input *GenerateDataKeyWithoutPlaintextInput) (*GenerateDataKeyWithoutPlaintextOutput, error) { - req, out := c.GenerateDataKeyWithoutPlaintextRequest(input) +// 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) return out, req.Send() } -// GenerateDataKeyWithoutPlaintextWithContext is the same as GenerateDataKeyWithoutPlaintext with the addition of +// GenerateDataKeyPairWithContext is the same as GenerateDataKeyPair with the addition of // the ability to pass a context and additional request options. // -// See GenerateDataKeyWithoutPlaintext for details on how to use this API operation. +// See GenerateDataKeyPair 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 *KMS) GenerateDataKeyWithoutPlaintextWithContext(ctx aws.Context, input *GenerateDataKeyWithoutPlaintextInput, opts ...request.Option) (*GenerateDataKeyWithoutPlaintextOutput, error) { - req, out := c.GenerateDataKeyWithoutPlaintextRequest(input) +func (c *KMS) GenerateDataKeyPairWithContext(ctx aws.Context, input *GenerateDataKeyPairInput, opts ...request.Option) (*GenerateDataKeyPairOutput, error) { + req, out := c.GenerateDataKeyPairRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGenerateRandom = "GenerateRandom" +const opGenerateDataKeyPairWithoutPlaintext = "GenerateDataKeyPairWithoutPlaintext" -// GenerateRandomRequest generates a "aws/request.Request" representing the -// client's request for the GenerateRandom operation. The "output" return +// GenerateDataKeyPairWithoutPlaintextRequest generates a "aws/request.Request" representing the +// client's request for the GenerateDataKeyPairWithoutPlaintext 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 GenerateRandom for more information on using the GenerateRandom +// See GenerateDataKeyPairWithoutPlaintext for more information on using the GenerateDataKeyPairWithoutPlaintext // 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 GenerateRandomRequest method. -// req, resp := client.GenerateRandomRequest(params) +// // Example sending a request using the GenerateDataKeyPairWithoutPlaintextRequest method. +// req, resp := client.GenerateDataKeyPairWithoutPlaintextRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandom -func (c *KMS) GenerateRandomRequest(input *GenerateRandomInput) (req *request.Request, output *GenerateRandomOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext +func (c *KMS) GenerateDataKeyPairWithoutPlaintextRequest(input *GenerateDataKeyPairWithoutPlaintextInput) (req *request.Request, output *GenerateDataKeyPairWithoutPlaintextOutput) { op := &request.Operation{ - Name: opGenerateRandom, + Name: opGenerateDataKeyPairWithoutPlaintext, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GenerateRandomInput{} + input = &GenerateDataKeyPairWithoutPlaintextInput{} } - output = &GenerateRandomOutput{} + output = &GenerateDataKeyPairWithoutPlaintextOutput{} req = c.newRequest(op, input, output) return } -// GenerateRandom API operation for AWS Key Management Service. +// GenerateDataKeyPairWithoutPlaintext API operation for AWS Key Management Service. // -// Returns a random byte string that is cryptographically secure. +// Generates a unique asymmetric data key pair. The GenerateDataKeyPairWithoutPlaintext +// operation returns a plaintext public key and a copy of the private key that +// is encrypted under the symmetric CMK you specify. Unlike GenerateDataKeyPair, +// this operation does not return a plaintext private key. // -// By default, the random byte string is generated in AWS KMS. To generate the -// byte string in the AWS CloudHSM cluster that is associated with a custom -// key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html), -// specify the custom key store ID. +// 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. // -// For more information about entropy and random number generation, see the -// AWS Key Management Service Cryptographic Details (https://d0.awsstatic.com/whitepapers/KMS-Cryptographic-Details.pdf) -// whitepaper. +// You can use the public key that GenerateDataKeyPairWithoutPlaintext returns +// to encrypt data or verify a signature outside of AWS KMS. Then, store the +// encrypted private key with the data. When you are ready to decrypt data or +// sign a message, you can use the Decrypt operation to decrypt the encrypted +// private key. +// +// GenerateDataKeyPairWithoutPlaintext returns a unique data key pair for each +// request. The bytes in the key are not related to the caller or CMK that is +// used to encrypt the private key. +// +// You can use the optional encryption context to add additional security to +// the encryption operation. If you specify an EncryptionContext, you must specify +// the same encryption context (a case-sensitive exact match) when decrypting +// the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. +// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) +// in the AWS Key Management Service Developer Guide. +// +// 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) +// in the AWS Key Management 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. // // See the AWS API reference guide for AWS Key Management Service's -// API operation GenerateRandom for usage and error information. +// API operation GenerateDataKeyPairWithoutPlaintext for usage and error information. // // Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The request was rejected because the specified entity or resource could not +// be found. +// +// * ErrCodeDisabledException "DisabledException" +// The request was rejected because the specified CMK is not enabled. +// +// * ErrCodeKeyUnavailableException "KeyUnavailableException" +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// // * ErrCodeDependencyTimeoutException "DependencyTimeoutException" // The system timed out while trying to fulfill the request. The request can // be retried. // -// * ErrCodeInternalException "KMSInternalException" -// The request was rejected because an internal exception occurred. The request -// can be retried. +// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" +// The request was rejected for one of the following reasons: // -// * ErrCodeCustomKeyStoreNotFoundException "CustomKeyStoreNotFoundException" -// The request was rejected because AWS KMS cannot find a custom key store with -// the specified key store name or ID. +// * The KeyUsage value of the CMK is incompatible with the API operation. // -// * ErrCodeCustomKeyStoreInvalidStateException "CustomKeyStoreInvalidStateException" -// The request was rejected because of the ConnectionState of the custom key -// store. To get the ConnectionState of a custom key store, use the DescribeCustomKeyStores -// operation. +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). // -// This exception is thrown under the following conditions: +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. // -// * You requested the CreateKey or GenerateRandom operation in a custom -// key store that is not connected. These operations are valid only when -// the custom key store ConnectionState is CONNECTED. +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. // -// * You requested the UpdateCustomKeyStore or DeleteCustomKeyStore operation -// on a custom key store that is not disconnected. This operation is valid -// only when the custom key store ConnectionState is DISCONNECTED. +// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" +// The request was rejected because the specified grant token is not valid. // -// * You requested the ConnectCustomKeyStore operation on a custom key store -// with a ConnectionState of DISCONNECTING or FAILED. This operation is valid -// for all other ConnectionState values. +// * ErrCodeInternalException "KMSInternalException" +// The request was rejected because an internal exception occurred. The request +// can be retried. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandom -func (c *KMS) GenerateRandom(input *GenerateRandomInput) (*GenerateRandomOutput, error) { - req, out := c.GenerateRandomRequest(input) +// * ErrCodeInvalidStateException "KMSInvalidStateException" +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, 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 . +// +// 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) return out, req.Send() } -// GenerateRandomWithContext is the same as GenerateRandom with the addition of +// GenerateDataKeyPairWithoutPlaintextWithContext is the same as GenerateDataKeyPairWithoutPlaintext with the addition of // the ability to pass a context and additional request options. // -// See GenerateRandom for details on how to use this API operation. +// See GenerateDataKeyPairWithoutPlaintext 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 *KMS) GenerateRandomWithContext(ctx aws.Context, input *GenerateRandomInput, opts ...request.Option) (*GenerateRandomOutput, error) { - req, out := c.GenerateRandomRequest(input) +func (c *KMS) GenerateDataKeyPairWithoutPlaintextWithContext(ctx aws.Context, input *GenerateDataKeyPairWithoutPlaintextInput, opts ...request.Option) (*GenerateDataKeyPairWithoutPlaintextOutput, error) { + req, out := c.GenerateDataKeyPairWithoutPlaintextRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetKeyPolicy = "GetKeyPolicy" +const opGenerateDataKeyWithoutPlaintext = "GenerateDataKeyWithoutPlaintext" -// GetKeyPolicyRequest generates a "aws/request.Request" representing the -// client's request for the GetKeyPolicy operation. The "output" return +// GenerateDataKeyWithoutPlaintextRequest generates a "aws/request.Request" representing the +// client's request for the GenerateDataKeyWithoutPlaintext 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 GetKeyPolicy for more information on using the GetKeyPolicy +// See GenerateDataKeyWithoutPlaintext for more information on using the GenerateDataKeyWithoutPlaintext // 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 GetKeyPolicyRequest method. -// req, resp := client.GetKeyPolicyRequest(params) +// // Example sending a request using the GenerateDataKeyWithoutPlaintextRequest method. +// req, resp := client.GenerateDataKeyWithoutPlaintextRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyPolicy -func (c *KMS) GetKeyPolicyRequest(input *GetKeyPolicyInput) (req *request.Request, output *GetKeyPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext +func (c *KMS) GenerateDataKeyWithoutPlaintextRequest(input *GenerateDataKeyWithoutPlaintextInput) (req *request.Request, output *GenerateDataKeyWithoutPlaintextOutput) { op := &request.Operation{ - Name: opGetKeyPolicy, + Name: opGenerateDataKeyWithoutPlaintext, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetKeyPolicyInput{} + input = &GenerateDataKeyWithoutPlaintextInput{} } - output = &GetKeyPolicyOutput{} + output = &GenerateDataKeyWithoutPlaintextOutput{} req = c.newRequest(op, input, output) return } -// GetKeyPolicy API operation for AWS Key Management Service. +// GenerateDataKeyWithoutPlaintext API operation for AWS Key Management Service. // -// Gets a key policy attached to the specified customer master key (CMK). You -// cannot perform this operation on a CMK in a different AWS account. +// Generates a unique symmetric data key. This operation returns a data key +// that is encrypted under a customer master key (CMK) that you specify. To +// request an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext +// operations. // -// 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. +// GenerateDataKeyWithoutPlaintext is identical to the GenerateDataKey operation +// except that returns only the encrypted copy of the data key. This operation +// is useful for systems that need to encrypt data at some point, but not immediately. +// When you need to encrypt the data, you call the Decrypt operation on the +// encrypted copy of the key. // -// See the AWS API reference guide for AWS Key Management Service's -// API operation GetKeyPolicy for usage and error information. +// It's also useful in distributed systems with different levels of trust. For +// example, you might store encrypted data in containers. One component of your +// system creates new containers and stores an encrypted data key with each +// container. Then, a different component puts the data into the containers. +// That component first decrypts the data key, uses the plaintext data key to +// encrypt data, puts the encrypted data into the container, and then destroys +// the plaintext data key. In this system, the component that creates the containers +// never sees the plaintext data key. // -// Returned Error Codes: -// * ErrCodeNotFoundException "NotFoundException" +// GenerateDataKeyWithoutPlaintext returns a unique data key for each request. +// The bytes in the keys are not related to the caller or CMK that is used to +// encrypt the private key. +// +// To generate a data key, you must specify the symmetric customer master key +// (CMK) that is used to encrypt the data key. You cannot use an asymmetric +// CMK to generate a data key. To get the type of your CMK, use the KeySpec +// field in the DescribeKey response. You must also specify the length of the +// data key using either the KeySpec or NumberOfBytes field (but not both). +// For common key lengths (128-bit and 256-bit symmetric keys), use the KeySpec +// parameter. +// +// If the operation succeeds, you will find the plaintext copy of the data key +// in the Plaintext field of the response, and the encrypted copy of the data +// key in the CiphertextBlob field. +// +// You can use the optional encryption context to add additional security to +// the encryption operation. If you specify an EncryptionContext, you must specify +// the same encryption context (a case-sensitive exact match) when decrypting +// the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. +// For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) +// in the AWS Key Management Service Developer Guide. +// +// 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) +// in the AWS Key Management 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. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation GenerateDataKeyWithoutPlaintext for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The request was rejected because the specified entity or resource could not +// be found. +// +// * ErrCodeDisabledException "DisabledException" +// The request was rejected because the specified CMK is not enabled. +// +// * ErrCodeKeyUnavailableException "KeyUnavailableException" +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// +// * ErrCodeDependencyTimeoutException "DependencyTimeoutException" +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. +// +// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" +// The request was rejected because the specified grant token is not valid. +// +// * ErrCodeInternalException "KMSInternalException" +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * ErrCodeInvalidStateException "KMSInvalidStateException" +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, 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 . +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext +func (c *KMS) GenerateDataKeyWithoutPlaintext(input *GenerateDataKeyWithoutPlaintextInput) (*GenerateDataKeyWithoutPlaintextOutput, error) { + req, out := c.GenerateDataKeyWithoutPlaintextRequest(input) + return out, req.Send() +} + +// GenerateDataKeyWithoutPlaintextWithContext is the same as GenerateDataKeyWithoutPlaintext with the addition of +// the ability to pass a context and additional request options. +// +// See GenerateDataKeyWithoutPlaintext 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 *KMS) GenerateDataKeyWithoutPlaintextWithContext(ctx aws.Context, input *GenerateDataKeyWithoutPlaintextInput, opts ...request.Option) (*GenerateDataKeyWithoutPlaintextOutput, error) { + req, out := c.GenerateDataKeyWithoutPlaintextRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGenerateRandom = "GenerateRandom" + +// GenerateRandomRequest generates a "aws/request.Request" representing the +// client's request for the GenerateRandom 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 GenerateRandom for more information on using the GenerateRandom +// 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 GenerateRandomRequest method. +// req, resp := client.GenerateRandomRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandom +func (c *KMS) GenerateRandomRequest(input *GenerateRandomInput) (req *request.Request, output *GenerateRandomOutput) { + op := &request.Operation{ + Name: opGenerateRandom, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GenerateRandomInput{} + } + + output = &GenerateRandomOutput{} + req = c.newRequest(op, input, output) + return +} + +// GenerateRandom API operation for AWS Key Management Service. +// +// Returns a random byte string that is cryptographically secure. +// +// By default, the random byte string is generated in AWS KMS. To generate the +// byte string in the AWS CloudHSM cluster that is associated with a custom +// key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html), +// specify the custom key store ID. +// +// For more information about entropy and random number generation, see the +// AWS Key Management Service Cryptographic Details (https://d0.awsstatic.com/whitepapers/KMS-Cryptographic-Details.pdf) +// whitepaper. +// +// 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 Key Management Service's +// API operation GenerateRandom for usage and error information. +// +// Returned Error Codes: +// * ErrCodeDependencyTimeoutException "DependencyTimeoutException" +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * ErrCodeInternalException "KMSInternalException" +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * ErrCodeCustomKeyStoreNotFoundException "CustomKeyStoreNotFoundException" +// The request was rejected because AWS KMS cannot find a custom key store with +// the specified key store name or ID. +// +// * ErrCodeCustomKeyStoreInvalidStateException "CustomKeyStoreInvalidStateException" +// The request was rejected because of the ConnectionState of the custom key +// store. To get the ConnectionState of a custom key store, use the DescribeCustomKeyStores +// operation. +// +// This exception is thrown under the following conditions: +// +// * You requested the CreateKey or GenerateRandom operation in a custom +// key store that is not connected. These operations are valid only when +// the custom key store ConnectionState is CONNECTED. +// +// * You requested the UpdateCustomKeyStore or DeleteCustomKeyStore operation +// on a custom key store that is not disconnected. This operation is valid +// only when the custom key store ConnectionState is DISCONNECTED. +// +// * You requested the ConnectCustomKeyStore operation on a custom key store +// with a ConnectionState of DISCONNECTING or FAILED. This operation is valid +// for all other ConnectionState values. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandom +func (c *KMS) GenerateRandom(input *GenerateRandomInput) (*GenerateRandomOutput, error) { + req, out := c.GenerateRandomRequest(input) + return out, req.Send() +} + +// GenerateRandomWithContext is the same as GenerateRandom with the addition of +// the ability to pass a context and additional request options. +// +// See GenerateRandom 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 *KMS) GenerateRandomWithContext(ctx aws.Context, input *GenerateRandomInput, opts ...request.Option) (*GenerateRandomOutput, error) { + req, out := c.GenerateRandomRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetKeyPolicy = "GetKeyPolicy" + +// GetKeyPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetKeyPolicy 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 GetKeyPolicy for more information on using the GetKeyPolicy +// 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 GetKeyPolicyRequest method. +// req, resp := client.GetKeyPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyPolicy +func (c *KMS) GetKeyPolicyRequest(input *GetKeyPolicyInput) (req *request.Request, output *GetKeyPolicyOutput) { + op := &request.Operation{ + Name: opGetKeyPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetKeyPolicyInput{} + } + + output = &GetKeyPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetKeyPolicy API operation for AWS Key Management Service. +// +// Gets a key policy attached to the specified customer master key (CMK). You +// cannot perform this operation on a CMK in a different 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 AWS Key Management Service's +// API operation GetKeyPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" // The request was rejected because the specified entity or resource could not // be found. // @@ -2813,7 +3396,7 @@ func (c *KMS) GetKeyPolicyRequest(input *GetKeyPolicyInput) (req *request.Reques // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyPolicy func (c *KMS) GetKeyPolicy(input *GetKeyPolicyInput) (*GetKeyPolicyOutput, error) { @@ -2885,8 +3468,12 @@ func (c *KMS) GetKeyRotationStatusRequest(input *GetKeyRotationStatusInput) (req // material (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) // is enabled for the specified customer master key (CMK). // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported +// key material, or CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). +// The key rotation status for these CMKs is always false. +// +// 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) // in the AWS Key Management Service Developer Guide. // // * Disabled: The key rotation status does not change when you disable a @@ -2930,7 +3517,7 @@ func (c *KMS) GetKeyRotationStatusRequest(input *GetKeyRotationStatusInput) (req // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // * ErrCodeUnsupportedOperationException "UnsupportedOperationException" // The request was rejected because a specified parameter is not supported or @@ -3002,26 +3589,29 @@ func (c *KMS) GetParametersForImportRequest(input *GetParametersForImportInput) // GetParametersForImport API operation for AWS Key Management Service. // -// Returns the items you need in order to import key material into AWS KMS from -// your existing key management infrastructure. For more information about importing -// key material into AWS KMS, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) +// Returns the items you need to import key material into a symmetric, customer +// managed customer master key (CMK). For more information about importing key +// material into AWS KMS, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) // in the AWS Key Management Service Developer Guide. // -// You must specify the key ID of the customer master key (CMK) into which you -// will import key material. This CMK's Origin must be EXTERNAL. You must also -// specify the wrapping algorithm and type of wrapping key (public key) that -// you will use to encrypt the key material. You cannot perform this operation -// on a CMK in a different AWS account. -// // This operation returns a public key and an import token. Use the public key -// to encrypt the key material. Store the import token to send with a subsequent -// ImportKeyMaterial request. The public key and import token from the same -// response must be used together. These items are valid for 24 hours. When -// they expire, they cannot be used for a subsequent ImportKeyMaterial request. -// To get new ones, send another GetParametersForImport request. -// -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// to encrypt the symmetric key material. Store the import token to send with +// a subsequent ImportKeyMaterial request. +// +// You must specify the key ID of the symmetric CMK into which you will import +// key material. This CMK's Origin must be EXTERNAL. You must also specify the +// wrapping algorithm and type of wrapping key (public key) that you will use +// to encrypt the key material. You cannot perform this operation on an asymmetric +// CMK or on any CMK in a different AWS account. +// +// To import key material, you must use the public key and import token from +// the same response. These items are valid for 24 hours. The expiration date +// and time appear in the GetParametersForImport response. You cannot use an +// expired token in an ImportKeyMaterial request. If your key and token expire, +// send another GetParametersForImport request. +// +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3058,7 +3648,7 @@ func (c *KMS) GetParametersForImportRequest(input *GetParametersForImportInput) // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetParametersForImport func (c *KMS) GetParametersForImport(input *GetParametersForImportInput) (*GetParametersForImportOutput, error) { @@ -3082,33 +3672,202 @@ func (c *KMS) GetParametersForImportWithContext(ctx aws.Context, input *GetParam return out, req.Send() } -const opImportKeyMaterial = "ImportKeyMaterial" +const opGetPublicKey = "GetPublicKey" -// ImportKeyMaterialRequest generates a "aws/request.Request" representing the -// client's request for the ImportKeyMaterial operation. The "output" return +// GetPublicKeyRequest generates a "aws/request.Request" representing the +// client's request for the GetPublicKey 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 ImportKeyMaterial for more information on using the ImportKeyMaterial +// See GetPublicKey for more information on using the GetPublicKey // 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 ImportKeyMaterialRequest method. -// req, resp := client.ImportKeyMaterialRequest(params) +// // Example sending a request using the GetPublicKeyRequest method. +// req, resp := client.GetPublicKeyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterial -func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *request.Request, output *ImportKeyMaterialOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetPublicKey +func (c *KMS) GetPublicKeyRequest(input *GetPublicKeyInput) (req *request.Request, output *GetPublicKeyOutput) { + op := &request.Operation{ + Name: opGetPublicKey, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetPublicKeyInput{} + } + + output = &GetPublicKeyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPublicKey API operation for AWS Key Management Service. +// +// Returns the public key of an asymmetric CMK. Unlike the private key of a +// asymmetric CMK, which never leaves AWS KMS unencrypted, callers with kms:GetPublicKey +// permission can download the public key of an asymmetric CMK. You can share +// the public key to allow others to encrypt messages and verify signatures +// outside of AWS KMS. For information about symmetric and asymmetric CMKs, +// see Using Symmetric and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) +// in the AWS Key Management Service Developer Guide. +// +// You do not need to download the public key. Instead, you can use the public +// key within AWS KMS by calling the Encrypt, ReEncrypt, or Verify operations +// with the identifier of an asymmetric CMK. When you use the public key within +// AWS KMS, you benefit from the authentication, authorization, and logging +// that are part of every AWS KMS operation. You also reduce of risk of encrypting +// data that cannot be decrypted. These features are not effective outside of +// AWS KMS. For details, see Special Considerations for Downloading Public Keys +// (kms/latest/developerguide/get-public-key.html#get-public-key-considerations). +// +// To help you use the public key safely outside of AWS KMS, GetPublicKey returns +// important information about the public key in the response, including: +// +// * CustomerMasterKeySpec (https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-CustomerMasterKeySpec): +// The type of key material in the public key, such as RSA_4096 or ECC_NIST_P521. +// +// * KeyUsage (https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeyUsage): +// Whether the key is used for encryption or signing. +// +// * EncryptionAlgorithms (https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-EncryptionAlgorithms) +// or SigningAlgorithms (https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-SigningAlgorithms): +// A list of the encryption algorithms or the signing algorithms for the +// key. +// +// Although AWS KMS cannot enforce these restrictions on external operations, +// it is crucial that you use this information to prevent the public key from +// being used improperly. For example, you can prevent a public signing key +// from being used encrypt data, or prevent a public key from being used with +// an encryption algorithm that is not supported by AWS KMS. You can also avoid +// errors, such as using the wrong signing algorithm in a verification operation. +// +// 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) +// in the AWS Key Management 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. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation GetPublicKey for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The request was rejected because the specified entity or resource could not +// be found. +// +// * ErrCodeDisabledException "DisabledException" +// The request was rejected because the specified CMK is not enabled. +// +// * ErrCodeKeyUnavailableException "KeyUnavailableException" +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// +// * ErrCodeDependencyTimeoutException "DependencyTimeoutException" +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * ErrCodeUnsupportedOperationException "UnsupportedOperationException" +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// +// * ErrCodeInvalidArnException "InvalidArnException" +// The request was rejected because a specified ARN, or an ARN in a key policy, +// is not valid. +// +// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" +// The request was rejected because the specified grant token is not valid. +// +// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. +// +// * ErrCodeInternalException "KMSInternalException" +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// * ErrCodeInvalidStateException "KMSInvalidStateException" +// The request was rejected because the state of the specified resource is not +// valid for this request. +// +// For more information about how key state affects the use of a CMK, 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 . +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetPublicKey +func (c *KMS) GetPublicKey(input *GetPublicKeyInput) (*GetPublicKeyOutput, error) { + req, out := c.GetPublicKeyRequest(input) + return out, req.Send() +} + +// GetPublicKeyWithContext is the same as GetPublicKey with the addition of +// the ability to pass a context and additional request options. +// +// See GetPublicKey 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 *KMS) GetPublicKeyWithContext(ctx aws.Context, input *GetPublicKeyInput, opts ...request.Option) (*GetPublicKeyOutput, error) { + req, out := c.GetPublicKeyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opImportKeyMaterial = "ImportKeyMaterial" + +// ImportKeyMaterialRequest generates a "aws/request.Request" representing the +// client's request for the ImportKeyMaterial 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 ImportKeyMaterial for more information on using the ImportKeyMaterial +// 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 ImportKeyMaterialRequest method. +// req, resp := client.ImportKeyMaterialRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterial +func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *request.Request, output *ImportKeyMaterialOutput) { op := &request.Operation{ Name: opImportKeyMaterial, HTTPMethod: "POST", @@ -3127,11 +3886,14 @@ func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *requ // ImportKeyMaterial API operation for AWS Key Management Service. // -// Imports key material into an existing AWS KMS customer master key (CMK) that -// was created without key material. You cannot perform this operation on a -// CMK in a different AWS account. For more information about creating CMKs -// with no key material and then importing key material, see Importing Key Material -// (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) +// Imports key material into an existing symmetric AWS KMS customer master key +// (CMK) that was created without key material. After you successfully import +// key material into a CMK, you can reimport the same key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material) +// into that CMK, but you cannot import different key material. +// +// You cannot perform this operation on an asymmetric CMK or on any CMK in a +// different AWS account. For more information about creating CMKs with no key +// material and then importing key material, see Importing Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) // in the AWS Key Management Service Developer Guide. // // Before using this operation, call GetParametersForImport. Its response includes @@ -3148,23 +3910,27 @@ func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *requ // * The encrypted key material. To get the public key to encrypt the key // material, call GetParametersForImport. // -// * The import token that GetParametersForImport returned. This token and -// the public key used to encrypt the key material must have come from the -// same response. +// * The import token that GetParametersForImport returned. You must use +// a public key and token from the same GetParametersForImport response. // // * Whether the key material expires and if so, when. If you set an expiration -// date, you can change it only by reimporting the same key material and -// specifying a new expiration date. If the key material expires, AWS KMS -// deletes the key material and the CMK becomes unusable. To use the CMK -// again, you must reimport the same key material. +// date, AWS KMS deletes the key material from the CMK on the specified date, +// and the CMK becomes unusable. To use the CMK again, you must reimport +// the same key material. The only way to change an expiration date is by +// reimporting the same key material and specifying a new expiration date. // // When this operation is successful, the key state of the CMK changes from -// PendingImport to Enabled, and you can use the CMK. After you successfully -// import key material into a CMK, you can reimport the same key material into -// that CMK, but you cannot import different key material. +// PendingImport to Enabled, and you can use the CMK. +// +// If this operation fails, use the exception to help determine the problem. +// If the error is related to the key material, the import token, or wrapping +// key, use GetParametersForImport to get a new public key and import token +// for the CMK and repeat the import procedure. For help, see How To Import +// Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#importing-keys-overview) +// in the AWS Key Management Service Developer Guide. // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3201,20 +3967,24 @@ func (c *KMS) ImportKeyMaterialRequest(input *ImportKeyMaterialInput) (req *requ // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // * ErrCodeInvalidCiphertextException "InvalidCiphertextException" -// The request was rejected because the specified ciphertext, or additional -// authenticated data incorporated into the ciphertext, such as the encryption -// context, is corrupted, missing, or otherwise invalid. +// From the Decrypt or ReEncrypt operation, the request was rejected because +// the specified ciphertext, or additional authenticated data incorporated into +// the ciphertext, such as the encryption context, is corrupted, missing, or +// otherwise invalid. +// +// From the ImportKeyMaterial operation, the request was rejected because AWS +// KMS could not decrypt the encrypted (wrapped) key material. // // * ErrCodeIncorrectKeyMaterialException "IncorrectKeyMaterialException" -// The request was rejected because the provided key material is invalid or -// is not the same key material that was previously imported into this customer -// master key (CMK). +// The request was rejected because the key material in the request is, expired, +// invalid, or is not the same key material that was previously imported into +// this customer master key (CMK). // // * ErrCodeExpiredImportTokenException "ExpiredImportTokenException" -// The request was rejected because the provided import token is expired. Use +// The request was rejected because the specified import token is expired. Use // GetParametersForImport to get a new import token and public key, use the // new public key to encrypt the key material, and then try the request again. // @@ -3502,7 +4272,7 @@ func (c *KMS) ListGrantsRequest(input *ListGrantsInput) (req *request.Request, o // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListGrants func (c *KMS) ListGrants(input *ListGrantsInput) (*ListGrantsResponse, error) { @@ -3663,7 +4433,7 @@ func (c *KMS) ListKeyPoliciesRequest(input *ListKeyPoliciesInput) (req *request. // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListKeyPolicies func (c *KMS) ListKeyPolicies(input *ListKeyPoliciesInput) (*ListKeyPoliciesOutput, error) { @@ -3790,7 +4560,7 @@ func (c *KMS) ListKeysRequest(input *ListKeysInput) (req *request.Request, outpu // ListKeys API operation for AWS Key Management Service. // // Gets a list of all customer master keys (CMKs) in the caller's AWS account -// and region. +// and Region. // // 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 @@ -4174,7 +4944,7 @@ func (c *KMS) PutKeyPolicyRequest(input *PutKeyPolicyInput) (req *request.Reques // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/PutKeyPolicy func (c *KMS) PutKeyPolicy(input *PutKeyPolicyInput) (*PutKeyPolicyOutput, error) { @@ -4242,23 +5012,66 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out // ReEncrypt API operation for AWS Key Management Service. // -// Encrypts data on the server side with a new customer master key (CMK) without -// exposing the plaintext of the data on the client side. The data is first -// decrypted and then reencrypted. You can also use this operation to change -// the encryption context of a ciphertext. -// -// You can reencrypt data using CMKs in different AWS accounts. -// -// Unlike other operations, ReEncrypt is authorized twice, once as ReEncryptFrom -// on the source CMK and once as ReEncryptTo on the destination CMK. We recommend -// that you include the "kms:ReEncrypt*" permission in your key policies (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) -// to permit reencryption from or to the CMK. This permission is automatically -// included in the key policy when you create a CMK through the console. But -// you must include it manually when you create a CMK programmatically or when -// you set a key policy with the PutKeyPolicy operation. -// -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// Decrypts ciphertext and then reencrypts it entirely within AWS KMS. You can +// use this operation to change the customer master key (CMK) under which data +// is encrypted, such as when you manually rotate (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. +// +// 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/) +// 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. +// +// When you use the ReEncrypt operation, you need to provide information for +// the decrypt operation and the subsequent encrypt operation. +// +// * If your ciphertext was encrypted under an asymmetric CMK, you must identify +// the source CMK, that is, the CMK that encrypted the ciphertext. You must +// also supply the encryption algorithm that was used. This information is +// required to decrypt the data. +// +// * It is optional, but you can specify a source CMK even when the ciphertext +// was encrypted under a symmetric CMK. This ensures that the ciphertext +// is decrypted only by using a particular CMK. If the CMK that you specify +// cannot decrypt the ciphertext, the ReEncrypt operation fails. +// +// * To reencrypt the data, you must specify the destination CMK, that is, +// the CMK that re-encrypts the data after it is decrypted. You can select +// a symmetric or asymmetric CMK. If the destination CMK is an asymmetric +// CMK, you must also provide the encryption algorithm. The algorithm that +// you choose must be compatible with the CMK. When you use an asymmetric +// CMK to encrypt or reencrypt data, be sure to record the CMK and encryption +// algorithm that you choose. You will be required to provide the same CMK +// and encryption algorithm when you decrypt the data. If the CMK and algorithm +// do not match the values used to encrypt the data, the decrypt operation +// fails. You are not required to supply the CMK ID and encryption algorithm +// when you decrypt with symmetric CMKs because AWS KMS stores this information +// in the ciphertext blob. AWS KMS cannot store metadata in ciphertext generated +// with asymmetric keys. The standard format for asymmetric key ciphertext +// does not include configurable fields. +// +// 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 +// +// 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. +// +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4277,20 +5090,41 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out // The request was rejected because the specified CMK is not enabled. // // * ErrCodeInvalidCiphertextException "InvalidCiphertextException" -// The request was rejected because the specified ciphertext, or additional -// authenticated data incorporated into the ciphertext, such as the encryption -// context, is corrupted, missing, or otherwise invalid. +// From the Decrypt or ReEncrypt operation, the request was rejected because +// the specified ciphertext, or additional authenticated data incorporated into +// the ciphertext, such as the encryption context, is corrupted, missing, or +// otherwise invalid. +// +// From the ImportKeyMaterial operation, the request was rejected because AWS +// KMS could not decrypt the encrypted (wrapped) key material. // // * ErrCodeKeyUnavailableException "KeyUnavailableException" -// The request was rejected because the specified CMK was not available. The -// request can be retried. +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// +// * ErrCodeIncorrectKeyException "IncorrectKeyException" +// The request was rejected because the specified CMK cannot decrypt the data. +// The KeyId in a Decrypt request and the SourceKeyId in a ReEncrypt request +// must identify the same CMK that was used to encrypt the ciphertext. // // * ErrCodeDependencyTimeoutException "DependencyTimeoutException" // The system timed out while trying to fulfill the request. The request can // be retried. // // * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" -// The request was rejected because the specified KeySpec value is not valid. +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. // // * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" // The request was rejected because the specified grant token is not valid. @@ -4305,7 +5139,7 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncrypt func (c *KMS) ReEncrypt(input *ReEncryptInput) (*ReEncryptOutput, error) { @@ -4427,7 +5261,7 @@ func (c *KMS) RetireGrantRequest(input *RetireGrantInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RetireGrant func (c *KMS) RetireGrant(input *RetireGrantInput) (*RetireGrantOutput, error) { @@ -4535,7 +5369,7 @@ func (c *KMS) RevokeGrantRequest(input *RevokeGrantInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RevokeGrant func (c *KMS) RevokeGrant(input *RevokeGrantInput) (*RevokeGrantOutput, error) { @@ -4629,8 +5463,8 @@ func (c *KMS) ScheduleKeyDeletionRequest(input *ScheduleKeyDeletionInput) (req * // Master Keys (https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) // in the AWS Key Management Service Developer Guide. // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4663,7 +5497,7 @@ func (c *KMS) ScheduleKeyDeletionRequest(input *ScheduleKeyDeletionInput) (req * // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ScheduleKeyDeletion func (c *KMS) ScheduleKeyDeletion(input *ScheduleKeyDeletionInput) (*ScheduleKeyDeletionOutput, error) { @@ -4687,6 +5521,156 @@ func (c *KMS) ScheduleKeyDeletionWithContext(ctx aws.Context, input *ScheduleKey return out, req.Send() } +const opSign = "Sign" + +// SignRequest generates a "aws/request.Request" representing the +// client's request for the Sign 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 Sign for more information on using the Sign +// 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 SignRequest method. +// req, resp := client.SignRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign +func (c *KMS) SignRequest(input *SignInput) (req *request.Request, output *SignOutput) { + op := &request.Operation{ + Name: opSign, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SignInput{} + } + + output = &SignOutput{} + req = c.newRequest(op, input, output) + return +} + +// Sign API operation for AWS Key Management Service. +// +// Creates a digital signature (https://en.wikipedia.org/wiki/Digital_signature) +// for a message or message digest by using the private key in an asymmetric +// CMK. To verify the signature, use the Verify operation, or use the public +// key in the same asymmetric CMK outside of AWS KMS. For information about +// symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) +// in the AWS Key Management Service Developer Guide. +// +// Digital signatures are generated and verified by using asymmetric key pair, +// such as an RSA or ECC pair that is represented by an asymmetric customer +// master key (CMK). The key owner (or an authorized user) uses their private +// key to sign a message. Anyone with the public key can verify that the message +// was signed with that particular private key and that the message hasn't changed +// since it was signed. +// +// To use the Sign operation, provide the following information: +// +// * Use the KeyId parameter to identify an asymmetric CMK with a KeyUsage +// value of SIGN_VERIFY. To get the KeyUsage value of a CMK, use the DescribeKey +// operation. The caller must have kms:Sign permission on the CMK. +// +// * Use the Message parameter to specify the message or message digest to +// sign. You can submit messages of up to 4096 bytes. To sign a larger message, +// generate a hash digest of the message, and then provide the hash digest +// in the Message parameter. To indicate whether the message is a full message +// or a digest, use the MessageType parameter. +// +// * Choose a signing algorithm that is compatible with the CMK. +// +// When signing a message, be sure to record the CMK and the signing algorithm. +// This information is required to verify the signature. +// +// To verify the signature that this operation generates, use the Verify operation. +// Or use the GetPublicKey operation to download the public key and then use +// the public key to verify the signature outside of AWS KMS. +// +// 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) +// in the AWS Key Management 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. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation Sign for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The request was rejected because the specified entity or resource could not +// be found. +// +// * ErrCodeDisabledException "DisabledException" +// The request was rejected because the specified CMK is not enabled. +// +// * ErrCodeKeyUnavailableException "KeyUnavailableException" +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// +// * ErrCodeDependencyTimeoutException "DependencyTimeoutException" +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. +// +// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" +// The request was rejected because the specified grant token is not valid. +// +// * ErrCodeInternalException "KMSInternalException" +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign +func (c *KMS) Sign(input *SignInput) (*SignOutput, error) { + req, out := c.SignRequest(input) + return out, req.Send() +} + +// SignWithContext is the same as Sign with the addition of +// the ability to pass a context and additional request options. +// +// See Sign 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 *KMS) SignWithContext(ctx aws.Context, input *SignInput, opts ...request.Option) (*SignOutput, error) { + req, out := c.SignRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -4745,8 +5729,8 @@ func (c *KMS) TagResourceRequest(input *TagResourceInput) (req *request.Request, // User-Defined Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) // in the AWS Billing and Cost Management User Guide. // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4775,7 +5759,7 @@ func (c *KMS) TagResourceRequest(input *TagResourceInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // * ErrCodeLimitExceededException "LimitExceededException" // The request was rejected because a limit was exceeded. For more information, @@ -4858,8 +5842,8 @@ func (c *KMS) UntagResourceRequest(input *UntagResourceInput) (req *request.Requ // To remove a tag, specify the tag key. To change the tag value of an existing // tag key, use TagResource. // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4888,7 +5872,7 @@ func (c *KMS) UntagResourceRequest(input *UntagResourceInput) (req *request.Requ // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // * ErrCodeTagException "TagException" // The request was rejected because one or more tags are not valid. @@ -4960,27 +5944,28 @@ func (c *KMS) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, // UpdateAlias API operation for AWS Key Management Service. // -// Associates an existing alias with a different customer master key (CMK). -// Each CMK can have multiple aliases, but the aliases must be unique within -// the account and region. You cannot perform this operation on an alias in -// a different AWS account. +// Associates an existing AWS KMS alias with a different customer master key +// (CMK). Each alias is associated with only one CMK at a time, although a CMK +// can have multiple aliases. The alias and the CMK must be in the same AWS +// account and region. You cannot perform this operation on an alias in a different +// AWS account. +// +// The current and new CMK must be the same type (both symmetric or both asymmetric), +// and they must have the same key usage (ENCRYPT_DECRYPT or SIGN_VERIFY). This +// restriction prevents errors in code that uses aliases. If you must assign +// an alias to a different type of CMK, use DeleteAlias to delete the old alias +// and CreateAlias to create a new alias. // -// This operation works only on existing aliases. To change the alias of a CMK -// to a new value, use CreateAlias to create a new alias and DeleteAlias to -// delete the old alias. +// You cannot use UpdateAlias to change an alias name. To change an alias name, +// use DeleteAlias to delete the old alias and CreateAlias to create a new alias. // // Because an alias is not a property of a CMK, you can create, update, and // delete the aliases of a CMK without affecting the CMK. Also, aliases do not // appear in the response from the DescribeKey operation. To get the aliases // of all CMKs in the account, use the ListAliases operation. // -// The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias. -// It can contain only alphanumeric characters, forward slashes (/), underscores -// (_), and dashes (-). The alias name cannot begin with alias/aws/. The alias/aws/ -// prefix is reserved for AWS managed CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk). -// -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5009,7 +5994,7 @@ func (c *KMS) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/UpdateAlias func (c *KMS) UpdateAlias(input *UpdateAliasInput) (*UpdateAliasOutput, error) { @@ -5125,6 +6110,11 @@ func (c *KMS) UpdateCustomKeyStoreRequest(input *UpdateCustomKeyStoreInput) (req // The request was rejected because AWS KMS cannot find a custom key store with // the specified key store name or ID. // +// * ErrCodeCustomKeyStoreNameInUseException "CustomKeyStoreNameInUseException" +// The request was rejected because the specified custom key store name is already +// assigned to another custom key store in the account. Try again with a custom +// key store name that is unique in the account. +// // * ErrCodeCloudHsmClusterNotFoundException "CloudHsmClusterNotFoundException" // The request was rejected because AWS KMS cannot find the AWS CloudHSM cluster // with the specified cluster ID. Retry the request with a different cluster @@ -5278,8 +6268,8 @@ func (c *KMS) UpdateKeyDescriptionRequest(input *UpdateKeyDescriptionInput) (req // // You cannot perform this operation on a CMK in a different AWS account. // -// The result of this operation varies with the key state of the CMK. For details, -// see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// 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) // in the AWS Key Management Service Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5312,7 +6302,7 @@ func (c *KMS) UpdateKeyDescriptionRequest(input *UpdateKeyDescriptionInput) (req // // For more information about how key state affects the use of a CMK, 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. +// in the AWS Key Management Service Developer Guide . // // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/UpdateKeyDescription func (c *KMS) UpdateKeyDescription(input *UpdateKeyDescriptionInput) (*UpdateKeyDescriptionOutput, error) { @@ -5336,24 +6326,169 @@ func (c *KMS) UpdateKeyDescriptionWithContext(ctx aws.Context, input *UpdateKeyD return out, req.Send() } -// Contains information about an alias. -type AliasListEntry struct { - _ struct{} `type:"structure"` - - // String that contains the key ARN. - AliasArn *string `min:"20" type:"string"` - - // String that contains the alias. This value begins with alias/. - AliasName *string `min:"1" type:"string"` - - // String that contains the key identifier referred to by the alias. - TargetKeyId *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s AliasListEntry) String() string { - return awsutil.Prettify(s) -} +const opVerify = "Verify" + +// VerifyRequest generates a "aws/request.Request" representing the +// client's request for the Verify 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 Verify for more information on using the Verify +// 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 VerifyRequest method. +// req, resp := client.VerifyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify +func (c *KMS) VerifyRequest(input *VerifyInput) (req *request.Request, output *VerifyOutput) { + op := &request.Operation{ + Name: opVerify, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &VerifyInput{} + } + + output = &VerifyOutput{} + req = c.newRequest(op, input, output) + return +} + +// Verify API operation for AWS Key Management Service. +// +// Verifies a digital signature that was generated by the Sign operation. This +// operation requires an asymmetric CMK with a KeyUsage value of SIGN_VERIFY. +// +// Verification confirms that an authorized user signed the message with the +// specified key and signing algorithm, and the message hasn't changed since +// it was signed. A digital signature is generated by using the private key +// in an asymmetric CMK. The signature is verified by using the public key in +// the same asymmetric CMK. For information about symmetric and asymmetric CMKs, +// see Using Symmetric and Asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) +// in the AWS Key Management Service Developer Guide. +// +// To verify a digital signature, you can use the Verify operation. Specify +// the same asymmetric CMK that was used by the Sign operation to generate the +// digital signature. +// +// You can also verify the digital signature by using the public key of the +// CMK outside of AWS KMS. Use the GetPublicKey operation to download the public +// key in the asymmetric CMK and then use the public key to verify the signature +// outside of AWS KMS. +// +// The advantage of using the Verify operation is that it is performed within +// AWS KMS. As a result, it's easy to call, the operation is performed within +// the FIPS boundary, it is logged in AWS CloudTrail, and you can use key policy +// and IAM policy to determine who is authorized to use the CMK to verify signatures. +// +// The result of the Verify operation, which is represented by its HTTP status +// code, does not indicate whether the signature verification succeeded or failed. +// To determine whether the signature was verified, see the SignatureValid field +// in the response. +// +// 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) +// in the AWS Key Management 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. +// +// See the AWS API reference guide for AWS Key Management Service's +// API operation Verify for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// The request was rejected because the specified entity or resource could not +// be found. +// +// * ErrCodeDisabledException "DisabledException" +// The request was rejected because the specified CMK is not enabled. +// +// * ErrCodeKeyUnavailableException "KeyUnavailableException" +// The request was rejected because the specified CMK was not available. You +// can retry the request. +// +// * ErrCodeDependencyTimeoutException "DependencyTimeoutException" +// The system timed out while trying to fulfill the request. The request can +// be retried. +// +// * ErrCodeInvalidKeyUsageException "InvalidKeyUsageException" +// The request was rejected for one of the following reasons: +// +// * The KeyUsage value of the CMK is incompatible with the API operation. +// +// * The encryption algorithm or signing algorithm specified for the operation +// is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). +// +// For encrypting, decrypting, re-encrypting, and generating data keys, the +// KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage +// must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. +// +// To find the encryption or signing algorithms supported for a particular CMK, +// use the DescribeKey operation. +// +// * ErrCodeInvalidGrantTokenException "InvalidGrantTokenException" +// The request was rejected because the specified grant token is not valid. +// +// * ErrCodeInternalException "KMSInternalException" +// The request was rejected because an internal exception occurred. The request +// can be retried. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify +func (c *KMS) Verify(input *VerifyInput) (*VerifyOutput, error) { + req, out := c.VerifyRequest(input) + return out, req.Send() +} + +// VerifyWithContext is the same as Verify with the addition of +// the ability to pass a context and additional request options. +// +// See Verify 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 *KMS) VerifyWithContext(ctx aws.Context, input *VerifyInput, opts ...request.Option) (*VerifyOutput, error) { + req, out := c.VerifyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Contains information about an alias. +type AliasListEntry struct { + _ struct{} `type:"structure"` + + // String that contains the key ARN. + AliasArn *string `min:"20" type:"string"` + + // String that contains the alias. This value begins with alias/. + AliasName *string `min:"1" type:"string"` + + // String that contains the key identifier referred to by the alias. + TargetKeyId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s AliasListEntry) String() string { + return awsutil.Prettify(s) +} // GoString returns the string representation func (s AliasListEntry) GoString() string { @@ -5933,6 +7068,9 @@ type CreateKeyInput struct { // the custom key store must have at least two active HSMs, each in a different // Availability Zone in the Region. // + // This parameter is valid only for symmetric CMKs. You cannot create an asymmetric + // CMK in a custom key store. + // // To find the ID of a custom key store, use the DescribeCustomKeyStores operation. // // The response includes the custom key store ID and the ID of the AWS CloudHSM @@ -5943,33 +7081,69 @@ type CreateKeyInput struct { // of AWS KMS with the isolation and control of a single-tenant key store. CustomKeyStoreId *string `min:"1" type:"string"` + // Specifies the type of CMK to create. The CustomerMasterKeySpec determines + // whether the CMK contains a symmetric key or an asymmetric key pair. It also + // determines the encryption algorithms or signing algorithms that the CMK supports. + // You can't change the CustomerMasterKeySpec after the CMK is created. To further + // restrict the algorithms that can be used with the CMK, use its key policy + // or IAM policy. + // + // For help with choosing a key spec for your CMK, see Selecting a Customer + // Master Key Spec (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#cmk-key-spec) + // in the AWS Key Management Service Developer Guide. + // + // The default value, SYMMETRIC_DEFAULT, creates a CMK with a 256-bit symmetric + // key. + // + // AWS KMS supports the following key specs for CMKs: + // + // * Symmetric key (default) SYMMETRIC_DEFAULT (AES-256-GCM) + // + // * Asymmetric RSA key pairs RSA_2048 RSA_3072 RSA_4096 + // + // * Asymmetric NIST-recommended elliptic curve key pairs ECC_NIST_P256 (secp256r1) + // ECC_NIST_P384 (secp384r1) ECC_NIST_P521 (secp521r1) + // + // * Other asymmetric elliptic curve key pairs ECC_SECG_P256K1 (secp256k1), + // commonly used for cryptocurrencies. + CustomerMasterKeySpec *string `type:"string" enum:"CustomerMasterKeySpec"` + // A description of the CMK. // // Use a description that helps you decide whether the CMK is appropriate for // a task. Description *string `type:"string"` - // The cryptographic operations for which you can use the CMK. The only valid - // value is ENCRYPT_DECRYPT, which means you can use the CMK to encrypt and - // decrypt data. + // 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. + // + // Select only one valid value. + // + // * For symmetric CMKs, omit the parameter or specify ENCRYPT_DECRYPT. + // + // * For asymmetric CMKs with RSA key material, specify ENCRYPT_DECRYPT or + // SIGN_VERIFY. + // + // * For asymmetric CMKs with ECC key material, specify SIGN_VERIFY. KeyUsage *string `type:"string" enum:"KeyUsageType"` // The source of the key material for the CMK. You cannot change the origin - // after you create the CMK. - // - // The default is AWS_KMS, which means AWS KMS creates the key material in its - // own key store. + // after you create the CMK. The default is AWS_KMS, which means AWS KMS creates + // the key material. // // When the parameter value is EXTERNAL, AWS KMS creates a CMK without key material // so that you can import key material from your existing key management infrastructure. // For more information about importing key material into AWS KMS, see Importing // Key Material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) - // in the AWS Key Management Service Developer Guide. + // in the AWS Key Management Service Developer Guide. This value is valid only + // for symmetric CMKs. // // When the parameter value is AWS_CLOUDHSM, AWS KMS creates the CMK in an AWS // KMS custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html) // and creates its key material in the associated AWS CloudHSM cluster. You // must also use the CustomKeyStoreId parameter to identify the custom key store. + // This value is valid only for symmetric CMKs. Origin *string `type:"string" enum:"OriginType"` // The key policy to attach to the CMK. @@ -5999,11 +7173,16 @@ type CreateKeyInput struct { // The key policy size limit is 32 kilobytes (32768 bytes). Policy *string `min:"1" type:"string"` - // One or more tags. Each tag consists of a tag key and a tag value. Tag keys - // and tag values are both required, but tag values can be empty (null) strings. + // One or more tags. Each tag consists of a tag key and a tag value. Both the + // tag key and the tag value are required, but the tag value can be an empty + // (null) string. + // + // When you add tags to an AWS resource, AWS generates a cost allocation report + // with usage and costs aggregated by tags. For information about adding, changing, + // deleting and listing tags for CMKs, see Tagging Keys (https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html). // - // Use this parameter to tag the CMK when it is created. Alternately, you can - // omit this parameter and instead tag the CMK after it is created using TagResource. + // Use this parameter to tag the CMK when it is created. To add tags to an existing + // CMK, use the TagResource operation. Tags []*Tag `type:"list"` } @@ -6055,6 +7234,12 @@ func (s *CreateKeyInput) SetCustomKeyStoreId(v string) *CreateKeyInput { return s } +// SetCustomerMasterKeySpec sets the CustomerMasterKeySpec field's value. +func (s *CreateKeyInput) SetCustomerMasterKeySpec(v string) *CreateKeyInput { + s.CustomerMasterKeySpec = &v + return s +} + // SetDescription sets the Description field's value. func (s *CreateKeyInput) SetDescription(v string) *CreateKeyInput { s.Description = &v @@ -6241,9 +7426,28 @@ type DecryptInput struct { // CiphertextBlob is a required field CiphertextBlob []byte `min:"1" type:"blob" required:"true"` - // The encryption context. If this was specified in the Encrypt function, it - // must be specified here or the decryption operation will fail. For more information, - // see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context). + // Specifies the encryption algorithm that will be used to decrypt the ciphertext. + // Specify the same algorithm that was used to encrypt the data. If you specify + // a different algorithm, the Decrypt operation fails. + // + // This parameter is required only when the ciphertext was encrypted under an + // asymmetric CMK. The default value, SYMMETRIC_DEFAULT, represents the only + // supported algorithm that is valid for symmetric CMKs. + 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. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. + // + // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the AWS Key Management Service Developer Guide. EncryptionContext map[string]*string `type:"map"` // A list of grant tokens. @@ -6251,6 +7455,35 @@ type DecryptInput struct { // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` + + // Specifies the customer master key (CMK) that AWS KMS will use to decrypt + // the ciphertext. Enter a key ID of the CMK that was used to encrypt the ciphertext. + // + // If you specify a KeyId value, the Decrypt operation succeeds only if the + // specified CMK was used to encrypt the ciphertext. + // + // This parameter is required only when the ciphertext was encrypted under an + // asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the + // ciphertext blob to determine which CMK was used to encrypt the ciphertext. + // However, you can use this parameter to ensure that a particular CMK (of any + // kind) is used to decrypt the ciphertext. + // + // 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. + KeyId *string `min:"1" type:"string"` } // String returns the string representation @@ -6272,6 +7505,9 @@ func (s *DecryptInput) Validate() error { if s.CiphertextBlob != nil && len(s.CiphertextBlob) < 1 { invalidParams.Add(request.NewErrParamMinLen("CiphertextBlob", 1)) } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -6285,6 +7521,12 @@ func (s *DecryptInput) SetCiphertextBlob(v []byte) *DecryptInput { return s } +// SetEncryptionAlgorithm sets the EncryptionAlgorithm field's value. +func (s *DecryptInput) SetEncryptionAlgorithm(v string) *DecryptInput { + s.EncryptionAlgorithm = &v + return s +} + // SetEncryptionContext sets the EncryptionContext field's value. func (s *DecryptInput) SetEncryptionContext(v map[string]*string) *DecryptInput { s.EncryptionContext = v @@ -6297,15 +7539,23 @@ func (s *DecryptInput) SetGrantTokens(v []*string) *DecryptInput { return s } +// SetKeyId sets the KeyId field's value. +func (s *DecryptInput) SetKeyId(v string) *DecryptInput { + s.KeyId = &v + return s +} + type DecryptOutput struct { _ struct{} `type:"structure"` - // ARN of the key used to perform the decryption. This value is returned if - // no errors are encountered during the operation. + // 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. KeyId *string `min:"1" type:"string"` // Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value - // is Base64-encoded. Otherwise, it is not encoded. + // is Base64-encoded. Otherwise, it is not Base64-encoded. // // Plaintext is automatically base64 encoded/decoded by the SDK. Plaintext []byte `min:"1" type:"blob" sensitive:"true"` @@ -6321,6 +7571,12 @@ func (s DecryptOutput) GoString() string { return s.String() } +// SetEncryptionAlgorithm sets the EncryptionAlgorithm field's value. +func (s *DecryptOutput) SetEncryptionAlgorithm(v string) *DecryptOutput { + s.EncryptionAlgorithm = &v + return s +} + // SetKeyId sets the KeyId field's value. func (s *DecryptOutput) SetKeyId(v string) *DecryptOutput { s.KeyId = &v @@ -6809,7 +8065,10 @@ func (s DisableKeyOutput) GoString() string { type DisableKeyRotationInput struct { _ struct{} `type:"structure"` - // A unique identifier for the customer master key (CMK). + // Identifies a symmetric customer master key (CMK). You cannot enable automatic + // rotation of asymmetric CMKs (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks), + // CMKs with imported key material (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html), + // or CMKs in a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). // // Specify the key ID or the Amazon Resource Name (ARN) of the CMK. // @@ -6995,7 +8254,9 @@ func (s EnableKeyOutput) GoString() string { type EnableKeyRotationInput struct { _ struct{} `type:"structure"` - // A unique identifier for the customer master key (CMK). + // Identifies a symmetric customer master key (CMK). You cannot enable automatic + // rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in + // a custom key store (https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html). // // Specify the key ID or the Amazon Resource Name (ARN) of the CMK. // @@ -7060,10 +8321,27 @@ func (s EnableKeyRotationOutput) GoString() string { type EncryptInput struct { _ struct{} `type:"structure"` - // Name-value pair that specifies the encryption context to be used for authenticated - // encryption. If used here, the same value must be supplied to the Decrypt - // API or decryption will fail. For more information, see Encryption Context - // (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context). + // Specifies the encryption algorithm that AWS KMS will use to encrypt the plaintext + // message. The algorithm must be compatible with the CMK that you specify. + // + // This parameter is required only for asymmetric CMKs. The default value, SYMMETRIC_DEFAULT, + // is the algorithm used for symmetric CMKs. If you are using an asymmetric + // CMK, we recommend RSAES_OAEP_SHA_256. + 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. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. + // + // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the AWS Key Management Service Developer Guide. EncryptionContext map[string]*string `type:"map"` // A list of grant tokens. @@ -7134,6 +8412,12 @@ func (s *EncryptInput) Validate() error { return nil } +// SetEncryptionAlgorithm sets the EncryptionAlgorithm field's value. +func (s *EncryptInput) SetEncryptionAlgorithm(v string) *EncryptInput { + s.EncryptionAlgorithm = &v + return s +} + // SetEncryptionContext sets the EncryptionContext field's value. func (s *EncryptInput) SetEncryptionContext(v map[string]*string) *EncryptInput { s.EncryptionContext = v @@ -7158,45 +8442,405 @@ func (s *EncryptInput) SetPlaintext(v []byte) *EncryptInput { return s } -type EncryptOutput struct { +type EncryptOutput struct { + _ struct{} `type:"structure"` + + // The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value + // is Base64-encoded. Otherwise, it is not Base64-encoded. + // + // CiphertextBlob is automatically base64 encoded/decoded by the SDK. + CiphertextBlob []byte `min:"1" type:"blob"` + + // The encryption algorithm that was used to encrypt the plaintext. + EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` + + // The ID of the key used during encryption. + KeyId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s EncryptOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncryptOutput) GoString() string { + return s.String() +} + +// SetCiphertextBlob sets the CiphertextBlob field's value. +func (s *EncryptOutput) SetCiphertextBlob(v []byte) *EncryptOutput { + s.CiphertextBlob = v + return s +} + +// SetEncryptionAlgorithm sets the EncryptionAlgorithm field's value. +func (s *EncryptOutput) SetEncryptionAlgorithm(v string) *EncryptOutput { + s.EncryptionAlgorithm = &v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *EncryptOutput) SetKeyId(v string) *EncryptOutput { + s.KeyId = &v + return s +} + +type GenerateDataKeyInput struct { + _ struct{} `type:"structure"` + + // Specifies the encryption context that will be used when encrypting the data + // key. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. + // + // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the AWS Key Management Service Developer Guide. + EncryptionContext map[string]*string `type:"map"` + + // A list of grant tokens. + // + // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // in the AWS Key Management Service Developer Guide. + GrantTokens []*string `type:"list"` + + // Identifies the symmetric CMK that encrypts the data key. + // + // 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 + // a CMK in a different AWS account, you must use the key ARN or alias ARN. + // + // 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. + // + // KeyId is a required field + KeyId *string `min:"1" type:"string" required:"true"` + + // Specifies the length of the data key. Use AES_128 to generate a 128-bit symmetric + // key, or AES_256 to generate a 256-bit symmetric key. + // + // You must specify either the KeySpec or the NumberOfBytes parameter (but not + // both) in every GenerateDataKey request. + KeySpec *string `type:"string" enum:"DataKeySpec"` + + // Specifies the length of the data key in bytes. For example, use the value + // 64 to generate a 512-bit data key (64 bytes is 512 bits). For 128-bit (16-byte) + // and 256-bit (32-byte) data keys, use the KeySpec parameter. + // + // You must specify either the KeySpec or the NumberOfBytes parameter (but not + // both) in every GenerateDataKey request. + NumberOfBytes *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s GenerateDataKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GenerateDataKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GenerateDataKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GenerateDataKeyInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } + if s.NumberOfBytes != nil && *s.NumberOfBytes < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumberOfBytes", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryptionContext sets the EncryptionContext field's value. +func (s *GenerateDataKeyInput) SetEncryptionContext(v map[string]*string) *GenerateDataKeyInput { + s.EncryptionContext = v + return s +} + +// SetGrantTokens sets the GrantTokens field's value. +func (s *GenerateDataKeyInput) SetGrantTokens(v []*string) *GenerateDataKeyInput { + s.GrantTokens = v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *GenerateDataKeyInput) SetKeyId(v string) *GenerateDataKeyInput { + s.KeyId = &v + return s +} + +// SetKeySpec sets the KeySpec field's value. +func (s *GenerateDataKeyInput) SetKeySpec(v string) *GenerateDataKeyInput { + s.KeySpec = &v + return s +} + +// SetNumberOfBytes sets the NumberOfBytes field's value. +func (s *GenerateDataKeyInput) SetNumberOfBytes(v int64) *GenerateDataKeyInput { + s.NumberOfBytes = &v + return s +} + +type GenerateDataKeyOutput struct { + _ struct{} `type:"structure"` + + // The encrypted copy of the data key. When you use the HTTP API or the AWS + // CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. + // + // 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. + KeyId *string `min:"1" type:"string"` + + // The plaintext data key. When you use the HTTP API or the AWS CLI, the value + // is Base64-encoded. Otherwise, it is not Base64-encoded. Use this data key + // to encrypt your data outside of KMS. Then, remove it from memory as soon + // as possible. + // + // Plaintext is automatically base64 encoded/decoded by the SDK. + Plaintext []byte `min:"1" type:"blob" sensitive:"true"` +} + +// String returns the string representation +func (s GenerateDataKeyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GenerateDataKeyOutput) GoString() string { + return s.String() +} + +// SetCiphertextBlob sets the CiphertextBlob field's value. +func (s *GenerateDataKeyOutput) SetCiphertextBlob(v []byte) *GenerateDataKeyOutput { + s.CiphertextBlob = v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *GenerateDataKeyOutput) SetKeyId(v string) *GenerateDataKeyOutput { + s.KeyId = &v + return s +} + +// SetPlaintext sets the Plaintext field's value. +func (s *GenerateDataKeyOutput) SetPlaintext(v []byte) *GenerateDataKeyOutput { + s.Plaintext = v + return s +} + +type GenerateDataKeyPairInput struct { + _ struct{} `type:"structure"` + + // Specifies the encryption context that will be used when encrypting the private + // key in the data key pair. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. + // + // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the AWS Key Management Service Developer Guide. + EncryptionContext map[string]*string `type:"map"` + + // A list of grant tokens. + // + // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // in the AWS Key Management Service Developer Guide. + GrantTokens []*string `type:"list"` + + // Specifies the symmetric CMK that encrypts the private key in the data key + // pair. You cannot specify an asymmetric CMKs. + // + // 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 + // a CMK in a different AWS account, you must use the key ARN or alias ARN. + // + // 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. + // + // KeyId is a required field + KeyId *string `min:"1" type:"string" required:"true"` + + // Determines the type of data key pair that is generated. + // + // The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt + // and decrypt or to sign and verify (but not both), and the rule that permits + // you to use ECC CMKs only to sign and verify, are not effective outside of + // AWS KMS. + // + // KeyPairSpec is a required field + KeyPairSpec *string `type:"string" required:"true" enum:"DataKeyPairSpec"` +} + +// String returns the string representation +func (s GenerateDataKeyPairInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GenerateDataKeyPairInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GenerateDataKeyPairInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GenerateDataKeyPairInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } + if s.KeyPairSpec == nil { + invalidParams.Add(request.NewErrParamRequired("KeyPairSpec")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryptionContext sets the EncryptionContext field's value. +func (s *GenerateDataKeyPairInput) SetEncryptionContext(v map[string]*string) *GenerateDataKeyPairInput { + s.EncryptionContext = v + return s +} + +// SetGrantTokens sets the GrantTokens field's value. +func (s *GenerateDataKeyPairInput) SetGrantTokens(v []*string) *GenerateDataKeyPairInput { + s.GrantTokens = v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *GenerateDataKeyPairInput) SetKeyId(v string) *GenerateDataKeyPairInput { + s.KeyId = &v + return s +} + +// SetKeyPairSpec sets the KeyPairSpec field's value. +func (s *GenerateDataKeyPairInput) SetKeyPairSpec(v string) *GenerateDataKeyPairInput { + s.KeyPairSpec = &v + return s +} + +type GenerateDataKeyPairOutput struct { _ struct{} `type:"structure"` - // The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value - // is Base64-encoded. Otherwise, it is not encoded. + // The identifier of the CMK that encrypted the private key. + KeyId *string `min:"1" type:"string"` + + // The type of data key pair that was generated. + KeyPairSpec *string `type:"string" enum:"DataKeyPairSpec"` + + // The encrypted copy of the private key. When you use the HTTP API or the AWS + // CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. // - // CiphertextBlob is automatically base64 encoded/decoded by the SDK. - CiphertextBlob []byte `min:"1" type:"blob"` + // PrivateKeyCiphertextBlob is automatically base64 encoded/decoded by the SDK. + PrivateKeyCiphertextBlob []byte `min:"1" type:"blob"` - // The ID of the key used during encryption. - KeyId *string `min:"1" type:"string"` + // The plaintext copy of the private key. When you use the HTTP API or the AWS + // CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. + // + // PrivateKeyPlaintext is automatically base64 encoded/decoded by the SDK. + PrivateKeyPlaintext []byte `min:"1" type:"blob" sensitive:"true"` + + // The public key (in plaintext). + // + // PublicKey is automatically base64 encoded/decoded by the SDK. + PublicKey []byte `min:"1" type:"blob"` } // String returns the string representation -func (s EncryptOutput) String() string { +func (s GenerateDataKeyPairOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EncryptOutput) GoString() string { +func (s GenerateDataKeyPairOutput) GoString() string { return s.String() } -// SetCiphertextBlob sets the CiphertextBlob field's value. -func (s *EncryptOutput) SetCiphertextBlob(v []byte) *EncryptOutput { - s.CiphertextBlob = v +// SetKeyId sets the KeyId field's value. +func (s *GenerateDataKeyPairOutput) SetKeyId(v string) *GenerateDataKeyPairOutput { + s.KeyId = &v return s } -// SetKeyId sets the KeyId field's value. -func (s *EncryptOutput) SetKeyId(v string) *EncryptOutput { - s.KeyId = &v +// SetKeyPairSpec sets the KeyPairSpec field's value. +func (s *GenerateDataKeyPairOutput) SetKeyPairSpec(v string) *GenerateDataKeyPairOutput { + s.KeyPairSpec = &v return s } -type GenerateDataKeyInput struct { +// SetPrivateKeyCiphertextBlob sets the PrivateKeyCiphertextBlob field's value. +func (s *GenerateDataKeyPairOutput) SetPrivateKeyCiphertextBlob(v []byte) *GenerateDataKeyPairOutput { + s.PrivateKeyCiphertextBlob = v + return s +} + +// SetPrivateKeyPlaintext sets the PrivateKeyPlaintext field's value. +func (s *GenerateDataKeyPairOutput) SetPrivateKeyPlaintext(v []byte) *GenerateDataKeyPairOutput { + s.PrivateKeyPlaintext = v + return s +} + +// SetPublicKey sets the PublicKey field's value. +func (s *GenerateDataKeyPairOutput) SetPublicKey(v []byte) *GenerateDataKeyPairOutput { + s.PublicKey = v + return s +} + +type GenerateDataKeyPairWithoutPlaintextInput struct { _ struct{} `type:"structure"` - // A set of key-value pairs that represents additional authenticated data. + // Specifies the encryption context that will be used when encrypting the private + // key in the data key pair. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. // // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) // in the AWS Key Management Service Developer Guide. @@ -7208,11 +8852,11 @@ type GenerateDataKeyInput struct { // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` - // An identifier for the CMK that encrypts the data key. + // 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 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 - // a CMK in a different AWS account, you must use the key ARN or alias ARN. + // or alias ARN. When using an alias name, prefix it with "alias/". // // For example: // @@ -7230,38 +8874,38 @@ type GenerateDataKeyInput struct { // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` - // The length of the data key. Use AES_128 to generate a 128-bit symmetric key, - // or AES_256 to generate a 256-bit symmetric key. - KeySpec *string `type:"string" enum:"DataKeySpec"` - - // The length of the data key in bytes. For example, use the value 64 to generate - // a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit - // and 256-bit symmetric keys), we recommend that you use the KeySpec field - // instead of this one. - NumberOfBytes *int64 `min:"1" type:"integer"` + // Determines the type of data key pair that is generated. + // + // The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt + // and decrypt or to sign and verify (but not both), and the rule that permits + // you to use ECC CMKs only to sign and verify, are not effective outside of + // AWS KMS. + // + // KeyPairSpec is a required field + KeyPairSpec *string `type:"string" required:"true" enum:"DataKeyPairSpec"` } // String returns the string representation -func (s GenerateDataKeyInput) String() string { +func (s GenerateDataKeyPairWithoutPlaintextInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GenerateDataKeyInput) GoString() string { +func (s GenerateDataKeyPairWithoutPlaintextInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GenerateDataKeyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GenerateDataKeyInput"} +func (s *GenerateDataKeyPairWithoutPlaintextInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GenerateDataKeyPairWithoutPlaintextInput"} if s.KeyId == nil { invalidParams.Add(request.NewErrParamRequired("KeyId")) } if s.KeyId != nil && len(*s.KeyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) } - if s.NumberOfBytes != nil && *s.NumberOfBytes < 1 { - invalidParams.Add(request.NewErrParamMinValue("NumberOfBytes", 1)) + if s.KeyPairSpec == nil { + invalidParams.Add(request.NewErrParamRequired("KeyPairSpec")) } if invalidParams.Len() > 0 { @@ -7271,87 +8915,112 @@ func (s *GenerateDataKeyInput) Validate() error { } // SetEncryptionContext sets the EncryptionContext field's value. -func (s *GenerateDataKeyInput) SetEncryptionContext(v map[string]*string) *GenerateDataKeyInput { +func (s *GenerateDataKeyPairWithoutPlaintextInput) SetEncryptionContext(v map[string]*string) *GenerateDataKeyPairWithoutPlaintextInput { s.EncryptionContext = v return s } // SetGrantTokens sets the GrantTokens field's value. -func (s *GenerateDataKeyInput) SetGrantTokens(v []*string) *GenerateDataKeyInput { +func (s *GenerateDataKeyPairWithoutPlaintextInput) SetGrantTokens(v []*string) *GenerateDataKeyPairWithoutPlaintextInput { s.GrantTokens = v return s } // SetKeyId sets the KeyId field's value. -func (s *GenerateDataKeyInput) SetKeyId(v string) *GenerateDataKeyInput { +func (s *GenerateDataKeyPairWithoutPlaintextInput) SetKeyId(v string) *GenerateDataKeyPairWithoutPlaintextInput { s.KeyId = &v return s } -// SetKeySpec sets the KeySpec field's value. -func (s *GenerateDataKeyInput) SetKeySpec(v string) *GenerateDataKeyInput { - s.KeySpec = &v - return s -} - -// SetNumberOfBytes sets the NumberOfBytes field's value. -func (s *GenerateDataKeyInput) SetNumberOfBytes(v int64) *GenerateDataKeyInput { - s.NumberOfBytes = &v +// SetKeyPairSpec sets the KeyPairSpec field's value. +func (s *GenerateDataKeyPairWithoutPlaintextInput) SetKeyPairSpec(v string) *GenerateDataKeyPairWithoutPlaintextInput { + s.KeyPairSpec = &v return s } -type GenerateDataKeyOutput struct { +type GenerateDataKeyPairWithoutPlaintextOutput struct { _ struct{} `type:"structure"` - // The encrypted copy of the data key. When you use the HTTP API or the AWS - // CLI, the value is Base64-encoded. Otherwise, it is not encoded. + // 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. // - // 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. + // 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. KeyId *string `min:"1" type:"string"` - // The plaintext data key. When you use the HTTP API or the AWS CLI, the value - // is Base64-encoded. Otherwise, it is not encoded. Use this data key to encrypt - // your data outside of KMS. Then, remove it from memory as soon as possible. + // The type of data key pair that was generated. + KeyPairSpec *string `type:"string" enum:"DataKeyPairSpec"` + + // The encrypted copy of the private key. When you use the HTTP API or the AWS + // CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. // - // Plaintext is automatically base64 encoded/decoded by the SDK. - Plaintext []byte `min:"1" type:"blob" sensitive:"true"` + // PrivateKeyCiphertextBlob is automatically base64 encoded/decoded by the SDK. + PrivateKeyCiphertextBlob []byte `min:"1" type:"blob"` + + // The public key (in plaintext). + // + // PublicKey is automatically base64 encoded/decoded by the SDK. + PublicKey []byte `min:"1" type:"blob"` } // String returns the string representation -func (s GenerateDataKeyOutput) String() string { +func (s GenerateDataKeyPairWithoutPlaintextOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GenerateDataKeyOutput) GoString() string { +func (s GenerateDataKeyPairWithoutPlaintextOutput) GoString() string { return s.String() } -// SetCiphertextBlob sets the CiphertextBlob field's value. -func (s *GenerateDataKeyOutput) SetCiphertextBlob(v []byte) *GenerateDataKeyOutput { - s.CiphertextBlob = v +// SetKeyId sets the KeyId field's value. +func (s *GenerateDataKeyPairWithoutPlaintextOutput) SetKeyId(v string) *GenerateDataKeyPairWithoutPlaintextOutput { + s.KeyId = &v return s } -// SetKeyId sets the KeyId field's value. -func (s *GenerateDataKeyOutput) SetKeyId(v string) *GenerateDataKeyOutput { - s.KeyId = &v +// SetKeyPairSpec sets the KeyPairSpec field's value. +func (s *GenerateDataKeyPairWithoutPlaintextOutput) SetKeyPairSpec(v string) *GenerateDataKeyPairWithoutPlaintextOutput { + s.KeyPairSpec = &v return s } -// SetPlaintext sets the Plaintext field's value. -func (s *GenerateDataKeyOutput) SetPlaintext(v []byte) *GenerateDataKeyOutput { - s.Plaintext = v +// SetPrivateKeyCiphertextBlob sets the PrivateKeyCiphertextBlob field's value. +func (s *GenerateDataKeyPairWithoutPlaintextOutput) SetPrivateKeyCiphertextBlob(v []byte) *GenerateDataKeyPairWithoutPlaintextOutput { + s.PrivateKeyCiphertextBlob = v + return s +} + +// SetPublicKey sets the PublicKey field's value. +func (s *GenerateDataKeyPairWithoutPlaintextOutput) SetPublicKey(v []byte) *GenerateDataKeyPairWithoutPlaintextOutput { + s.PublicKey = v return s } type GenerateDataKeyWithoutPlaintextInput struct { _ struct{} `type:"structure"` - // A set of key-value pairs that represents additional authenticated data. + // Specifies the encryption context that will be used when encrypting the data + // key. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. // // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) // in the AWS Key Management Service Developer Guide. @@ -7363,7 +9032,8 @@ type GenerateDataKeyWithoutPlaintextInput struct { // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` - // The identifier of the customer master key (CMK) that encrypts the data key. + // The identifier of the symmetric customer master key (CMK) that encrypts the + // data key. // // 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 @@ -7459,7 +9129,7 @@ type GenerateDataKeyWithoutPlaintextOutput struct { _ struct{} `type:"structure"` // The encrypted data key. When you use the HTTP API or the AWS CLI, the value - // is Base64-encoded. Otherwise, it is not encoded. + // is Base64-encoded. Otherwise, it is not Base64-encoded. // // CiphertextBlob is automatically base64 encoded/decoded by the SDK. CiphertextBlob []byte `min:"1" type:"blob"` @@ -7544,7 +9214,7 @@ type GenerateRandomOutput struct { _ struct{} `type:"structure"` // The random byte string. When you use the HTTP API or the AWS CLI, the value - // is Base64-encoded. Otherwise, it is not encoded. + // is Base64-encoded. Otherwise, it is not Base64-encoded. // // Plaintext is automatically base64 encoded/decoded by the SDK. Plaintext []byte `min:"1" type:"blob" sensitive:"true"` @@ -7736,8 +9406,8 @@ func (s *GetKeyRotationStatusOutput) SetKeyRotationEnabled(v bool) *GetKeyRotati type GetParametersForImportInput struct { _ struct{} `type:"structure"` - // The identifier of the CMK into which you will import key material. The CMK's - // Origin must be EXTERNAL. + // The identifier of the symmetric CMK into which you will import key material. + // The Origin of the CMK must be EXTERNAL. // // Specify the key ID or the Amazon Resource Name (ARN) of the CMK. // @@ -7757,41 +9427,175 @@ type GetParametersForImportInput struct { // (https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-encrypt-key-material.html) // in the AWS Key Management Service Developer Guide. // - // WrappingAlgorithm is a required field - WrappingAlgorithm *string `type:"string" required:"true" enum:"AlgorithmSpec"` - - // The type of wrapping key (public key) to return in the response. Only 2048-bit - // RSA public keys are supported. + // WrappingAlgorithm is a required field + WrappingAlgorithm *string `type:"string" required:"true" enum:"AlgorithmSpec"` + + // The type of wrapping key (public key) to return in the response. Only 2048-bit + // RSA public keys are supported. + // + // WrappingKeySpec is a required field + WrappingKeySpec *string `type:"string" required:"true" enum:"WrappingKeySpec"` +} + +// String returns the string representation +func (s GetParametersForImportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetParametersForImportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetParametersForImportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetParametersForImportInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } + if s.WrappingAlgorithm == nil { + invalidParams.Add(request.NewErrParamRequired("WrappingAlgorithm")) + } + if s.WrappingKeySpec == nil { + invalidParams.Add(request.NewErrParamRequired("WrappingKeySpec")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyId sets the KeyId field's value. +func (s *GetParametersForImportInput) SetKeyId(v string) *GetParametersForImportInput { + s.KeyId = &v + return s +} + +// SetWrappingAlgorithm sets the WrappingAlgorithm field's value. +func (s *GetParametersForImportInput) SetWrappingAlgorithm(v string) *GetParametersForImportInput { + s.WrappingAlgorithm = &v + return s +} + +// SetWrappingKeySpec sets the WrappingKeySpec field's value. +func (s *GetParametersForImportInput) SetWrappingKeySpec(v string) *GetParametersForImportInput { + s.WrappingKeySpec = &v + return s +} + +type GetParametersForImportOutput struct { + _ struct{} `type:"structure"` + + // The import token to send in a subsequent ImportKeyMaterial request. + // + // ImportToken is automatically base64 encoded/decoded by the SDK. + ImportToken []byte `min:"1" type:"blob"` + + // The identifier of the CMK to use in a subsequent ImportKeyMaterial request. + // This is the same CMK specified in the GetParametersForImport request. + KeyId *string `min:"1" type:"string"` + + // The time at which the import token and public key are no longer valid. After + // this time, you cannot use them to make an ImportKeyMaterial request and you + // must send another GetParametersForImport request to get new ones. + ParametersValidTo *time.Time `type:"timestamp"` + + // The public key to use to encrypt the key material before importing it with + // ImportKeyMaterial. + // + // PublicKey is automatically base64 encoded/decoded by the SDK. + PublicKey []byte `min:"1" type:"blob" sensitive:"true"` +} + +// String returns the string representation +func (s GetParametersForImportOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetParametersForImportOutput) GoString() string { + return s.String() +} + +// SetImportToken sets the ImportToken field's value. +func (s *GetParametersForImportOutput) SetImportToken(v []byte) *GetParametersForImportOutput { + s.ImportToken = v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *GetParametersForImportOutput) SetKeyId(v string) *GetParametersForImportOutput { + s.KeyId = &v + return s +} + +// SetParametersValidTo sets the ParametersValidTo field's value. +func (s *GetParametersForImportOutput) SetParametersValidTo(v time.Time) *GetParametersForImportOutput { + s.ParametersValidTo = &v + return s +} + +// SetPublicKey sets the PublicKey field's value. +func (s *GetParametersForImportOutput) SetPublicKey(v []byte) *GetParametersForImportOutput { + s.PublicKey = v + return s +} + +type GetPublicKeyInput struct { + _ struct{} `type:"structure"` + + // A list of grant tokens. + // + // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // in the AWS Key Management Service Developer Guide. + GrantTokens []*string `type:"list"` + + // Identifies the asymmetric CMK that includes the public key. + // + // 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 + // a CMK in a different AWS account, you must use the key ARN or alias ARN. + // + // 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. // - // WrappingKeySpec is a required field - WrappingKeySpec *string `type:"string" required:"true" enum:"WrappingKeySpec"` + // KeyId is a required field + KeyId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetParametersForImportInput) String() string { +func (s GetPublicKeyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetParametersForImportInput) GoString() string { +func (s GetPublicKeyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetParametersForImportInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetParametersForImportInput"} +func (s *GetPublicKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyInput"} if s.KeyId == nil { invalidParams.Add(request.NewErrParamRequired("KeyId")) } if s.KeyId != nil && len(*s.KeyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) } - if s.WrappingAlgorithm == nil { - invalidParams.Add(request.NewErrParamRequired("WrappingAlgorithm")) - } - if s.WrappingKeySpec == nil { - invalidParams.Add(request.NewErrParamRequired("WrappingKeySpec")) - } if invalidParams.Len() > 0 { return invalidParams @@ -7799,82 +9603,106 @@ func (s *GetParametersForImportInput) Validate() error { return nil } -// SetKeyId sets the KeyId field's value. -func (s *GetParametersForImportInput) SetKeyId(v string) *GetParametersForImportInput { - s.KeyId = &v - return s -} - -// SetWrappingAlgorithm sets the WrappingAlgorithm field's value. -func (s *GetParametersForImportInput) SetWrappingAlgorithm(v string) *GetParametersForImportInput { - s.WrappingAlgorithm = &v +// SetGrantTokens sets the GrantTokens field's value. +func (s *GetPublicKeyInput) SetGrantTokens(v []*string) *GetPublicKeyInput { + s.GrantTokens = v return s } -// SetWrappingKeySpec sets the WrappingKeySpec field's value. -func (s *GetParametersForImportInput) SetWrappingKeySpec(v string) *GetParametersForImportInput { - s.WrappingKeySpec = &v +// SetKeyId sets the KeyId field's value. +func (s *GetPublicKeyInput) SetKeyId(v string) *GetPublicKeyInput { + s.KeyId = &v return s } -type GetParametersForImportOutput struct { +type GetPublicKeyOutput struct { _ struct{} `type:"structure"` - // The import token to send in a subsequent ImportKeyMaterial request. + // The type of the of the public key that was downloaded. + CustomerMasterKeySpec *string `type:"string" enum:"CustomerMasterKeySpec"` + + // The encryption algorithms that AWS KMS supports for this key. // - // ImportToken is automatically base64 encoded/decoded by the SDK. - ImportToken []byte `min:"1" type:"blob"` + // This information is critical. If a public key encrypts data outside of AWS + // KMS by using an unsupported encryption algorithm, the ciphertext cannot be + // decrypted. + // + // This field appears in the response only when the KeyUsage of the public key + // is ENCRYPT_DECRYPT. + EncryptionAlgorithms []*string `type:"list"` - // The identifier of the CMK to use in a subsequent ImportKeyMaterial request. - // This is the same CMK specified in the GetParametersForImport request. + // The identifier of the asymmetric CMK from which the public key was downloaded. KeyId *string `min:"1" type:"string"` - // The time at which the import token and public key are no longer valid. After - // this time, you cannot use them to make an ImportKeyMaterial request and you - // must send another GetParametersForImport request to get new ones. - ParametersValidTo *time.Time `type:"timestamp"` + // The permitted use of the public key. Valid values are ENCRYPT_DECRYPT or + // SIGN_VERIFY. + // + // This information is critical. If a public key with SIGN_VERIFY key usage + // encrypts data outside of AWS KMS, the ciphertext cannot be decrypted. + KeyUsage *string `type:"string" enum:"KeyUsageType"` - // The public key to use to encrypt the key material before importing it with - // ImportKeyMaterial. + // The exported public key. + // + // This value is returned as a binary Distinguished Encoding Rules (https://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf) + // (DER)-encoded object. To decode it, use an ASN.1 parsing tool, such as OpenSSL + // asn1parse (https://www.openssl.org/docs/man1.0.2/man1/asn1parse.html). // // PublicKey is automatically base64 encoded/decoded by the SDK. - PublicKey []byte `min:"1" type:"blob" sensitive:"true"` + PublicKey []byte `min:"1" type:"blob"` + + // The signing algorithms that AWS KMS supports for this key. + // + // This field appears in the response only when the KeyUsage of the public key + // is SIGN_VERIFY. + SigningAlgorithms []*string `type:"list"` } // String returns the string representation -func (s GetParametersForImportOutput) String() string { +func (s GetPublicKeyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetParametersForImportOutput) GoString() string { +func (s GetPublicKeyOutput) GoString() string { return s.String() } -// SetImportToken sets the ImportToken field's value. -func (s *GetParametersForImportOutput) SetImportToken(v []byte) *GetParametersForImportOutput { - s.ImportToken = v +// SetCustomerMasterKeySpec sets the CustomerMasterKeySpec field's value. +func (s *GetPublicKeyOutput) SetCustomerMasterKeySpec(v string) *GetPublicKeyOutput { + s.CustomerMasterKeySpec = &v + return s +} + +// SetEncryptionAlgorithms sets the EncryptionAlgorithms field's value. +func (s *GetPublicKeyOutput) SetEncryptionAlgorithms(v []*string) *GetPublicKeyOutput { + s.EncryptionAlgorithms = v return s } // SetKeyId sets the KeyId field's value. -func (s *GetParametersForImportOutput) SetKeyId(v string) *GetParametersForImportOutput { +func (s *GetPublicKeyOutput) SetKeyId(v string) *GetPublicKeyOutput { s.KeyId = &v return s } -// SetParametersValidTo sets the ParametersValidTo field's value. -func (s *GetParametersForImportOutput) SetParametersValidTo(v time.Time) *GetParametersForImportOutput { - s.ParametersValidTo = &v +// SetKeyUsage sets the KeyUsage field's value. +func (s *GetPublicKeyOutput) SetKeyUsage(v string) *GetPublicKeyOutput { + s.KeyUsage = &v return s } // SetPublicKey sets the PublicKey field's value. -func (s *GetParametersForImportOutput) SetPublicKey(v []byte) *GetParametersForImportOutput { +func (s *GetPublicKeyOutput) SetPublicKey(v []byte) *GetPublicKeyOutput { s.PublicKey = v return s } +// SetSigningAlgorithms sets the SigningAlgorithms field's value. +func (s *GetPublicKeyOutput) SetSigningAlgorithms(v []*string) *GetPublicKeyOutput { + s.SigningAlgorithms = v + 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). // @@ -8047,9 +9875,10 @@ func (s *GrantListEntry) SetRetiringPrincipal(v string) *GrantListEntry { type ImportKeyMaterialInput struct { _ struct{} `type:"structure"` - // The encrypted key material to import. It must be encrypted with the public - // key that you received in the response to a previous GetParametersForImport - // request, using the wrapping algorithm that you specified in that request. + // The encrypted key material to import. The key material must be encrypted + // with the public wrapping key that GetParametersForImport returned, using + // the wrapping algorithm that you specified in the same GetParametersForImport + // request. // // EncryptedKeyMaterial is automatically base64 encoded/decoded by the SDK. // @@ -8070,8 +9899,9 @@ type ImportKeyMaterialInput struct { // ImportToken is a required field ImportToken []byte `min:"1" type:"blob" required:"true"` - // The identifier of the CMK to import the key material into. The CMK's Origin - // must be EXTERNAL. + // The identifier of the symmetric CMK that receives the imported key material. + // The CMK's Origin must be EXTERNAL. This must be the same CMK specified in + // the KeyID parameter of the corresponding GetParametersForImport request. // // Specify the key ID or the Amazon Resource Name (ARN) of the CMK. // @@ -8238,6 +10068,9 @@ type KeyMetadata struct { // in a custom key store. CustomKeyStoreId *string `min:"1" type:"string"` + // Describes the type of key material in the CMK. + CustomerMasterKeySpec *string `type:"string" enum:"CustomerMasterKeySpec"` + // The date and time after which AWS KMS deletes the CMK. This value is present // only when KeyState is PendingDeletion. DeletionDate *time.Time `type:"timestamp"` @@ -8249,6 +10082,12 @@ 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. + // + // This field appears only when the KeyUsage of the CMK is ENCRYPT_DECRYPT. + EncryptionAlgorithms []*string `type:"list"` + // Specifies whether the CMK's key material expires. This value is present only // when Origin is EXTERNAL, otherwise this value is omitted. ExpirationModel *string `type:"string" enum:"ExpirationModelType"` @@ -8271,9 +10110,7 @@ type KeyMetadata struct { // 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 only valid - // value is ENCRYPT_DECRYPT, which means you can use the CMK to encrypt and - // decrypt data. + // The 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 @@ -8283,6 +10120,12 @@ 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. + // + // This field appears only when the KeyUsage of the CMK is SIGN_VERIFY. + SigningAlgorithms []*string `type:"list"` + // The time at which the imported key material expires. When the key material // expires, AWS KMS deletes the key material and the CMK becomes unusable. This // value is present only for CMKs whose Origin is EXTERNAL and whose ExpirationModel @@ -8330,6 +10173,12 @@ func (s *KeyMetadata) SetCustomKeyStoreId(v string) *KeyMetadata { return s } +// SetCustomerMasterKeySpec sets the CustomerMasterKeySpec field's value. +func (s *KeyMetadata) SetCustomerMasterKeySpec(v string) *KeyMetadata { + s.CustomerMasterKeySpec = &v + return s +} + // SetDeletionDate sets the DeletionDate field's value. func (s *KeyMetadata) SetDeletionDate(v time.Time) *KeyMetadata { s.DeletionDate = &v @@ -8348,6 +10197,12 @@ func (s *KeyMetadata) SetEnabled(v bool) *KeyMetadata { return s } +// SetEncryptionAlgorithms sets the EncryptionAlgorithms field's value. +func (s *KeyMetadata) SetEncryptionAlgorithms(v []*string) *KeyMetadata { + s.EncryptionAlgorithms = v + return s +} + // SetExpirationModel sets the ExpirationModel field's value. func (s *KeyMetadata) SetExpirationModel(v string) *KeyMetadata { s.ExpirationModel = &v @@ -8384,6 +10239,12 @@ func (s *KeyMetadata) SetOrigin(v string) *KeyMetadata { return s } +// SetSigningAlgorithms sets the SigningAlgorithms field's value. +func (s *KeyMetadata) SetSigningAlgorithms(v []*string) *KeyMetadata { + s.SigningAlgorithms = v + return s +} + // SetValidTo sets the ValidTo field's value. func (s *KeyMetadata) SetValidTo(v time.Time) *KeyMetadata { s.ValidTo = &v @@ -9224,10 +11085,33 @@ type ReEncryptInput struct { // CiphertextBlob is a required field CiphertextBlob []byte `min:"1" type:"blob" required:"true"` - // Encryption context to use when the data is reencrypted. + // Specifies the encryption algorithm that AWS KMS will use to reecrypt the + // data after it has decrypted it. The default value, SYMMETRIC_DEFAULT, represents + // the encryption algorithm used for symmetric CMKs. + // + // This parameter is required only when the destination CMK is an asymmetric + // CMK. + DestinationEncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` + + // Specifies that encryption context to use when the reencrypting the data. + // + // A destination encryption context is valid only when the destination CMK is + // a symmetric CMK. The standard ciphertext format for asymmetric CMKs does + // not include fields for metadata. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. + // + // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the AWS Key Management Service Developer Guide. DestinationEncryptionContext map[string]*string `type:"map"` - // A unique identifier for the CMK that is used to reencrypt the data. + // A unique identifier for the CMK that is used to reencrypt the data. Specify + // a symmetric or asymmetric CMK with a KeyUsage value of ENCRYPT_DECRYPT. To + // find the KeyUsage value of a 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 @@ -9255,9 +11139,58 @@ type ReEncryptInput struct { // in the AWS Key Management Service Developer Guide. GrantTokens []*string `type:"list"` - // Encryption context used to encrypt and decrypt the data specified in the - // CiphertextBlob parameter. + // Specifies the encryption algorithm that AWS KMS will use to decrypt the ciphertext + // before it is reencrypted. The default value, SYMMETRIC_DEFAULT, represents + // the algorithm used for symmetric CMKs. + // + // Specify the same algorithm that was used to encrypt the ciphertext. If you + // specify a different algorithm, the decrypt attempt fails. + // + // This parameter is required only when the ciphertext was encrypted under an + // asymmetric CMK. + SourceEncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` + + // Specifies the encryption context to use to decrypt the ciphertext. Enter + // the same encryption context that was used to encrypt the ciphertext. + // + // An encryption context is a collection of non-secret key-value pairs that + // represents additional authenticated data. When you use an encryption context + // to encrypt data, you must specify the same (an exact case-sensitive match) + // encryption context to decrypt the data. An encryption context is optional + // when encrypting with a symmetric CMK, but it is highly recommended. + // + // For more information, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // in the AWS Key Management Service Developer Guide. SourceEncryptionContext map[string]*string `type:"map"` + + // A unique identifier for the CMK that is used to decrypt the ciphertext before + // it reencrypts it using the destination CMK. + // + // This parameter is required only when the ciphertext was encrypted under an + // asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the + // ciphertext blob to determine which CMK was used to encrypt the ciphertext. + // However, you can use this parameter to ensure that a particular CMK (of any + // kind) is used to decrypt the ciphertext before it is reencrypted. + // + // If you specify a KeyId value, the decrypt part of the ReEncrypt operation + // succeeds only if the specified CMK was used to encrypt the ciphertext. + // + // 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. + SourceKeyId *string `min:"1" type:"string"` } // String returns the string representation @@ -9285,6 +11218,9 @@ func (s *ReEncryptInput) Validate() error { if s.DestinationKeyId != nil && len(*s.DestinationKeyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DestinationKeyId", 1)) } + if s.SourceKeyId != nil && len(*s.SourceKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceKeyId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -9298,6 +11234,12 @@ func (s *ReEncryptInput) SetCiphertextBlob(v []byte) *ReEncryptInput { return s } +// SetDestinationEncryptionAlgorithm sets the DestinationEncryptionAlgorithm field's value. +func (s *ReEncryptInput) SetDestinationEncryptionAlgorithm(v string) *ReEncryptInput { + s.DestinationEncryptionAlgorithm = &v + return s +} + // SetDestinationEncryptionContext sets the DestinationEncryptionContext field's value. func (s *ReEncryptInput) SetDestinationEncryptionContext(v map[string]*string) *ReEncryptInput { s.DestinationEncryptionContext = v @@ -9316,24 +11258,43 @@ func (s *ReEncryptInput) SetGrantTokens(v []*string) *ReEncryptInput { return s } +// SetSourceEncryptionAlgorithm sets the SourceEncryptionAlgorithm field's value. +func (s *ReEncryptInput) SetSourceEncryptionAlgorithm(v string) *ReEncryptInput { + s.SourceEncryptionAlgorithm = &v + return s +} + // SetSourceEncryptionContext sets the SourceEncryptionContext field's value. func (s *ReEncryptInput) SetSourceEncryptionContext(v map[string]*string) *ReEncryptInput { s.SourceEncryptionContext = v return s } +// SetSourceKeyId sets the SourceKeyId field's value. +func (s *ReEncryptInput) SetSourceKeyId(v string) *ReEncryptInput { + s.SourceKeyId = &v + return s +} + type ReEncryptOutput struct { _ struct{} `type:"structure"` // The reencrypted data. When you use the HTTP API or the AWS CLI, the value - // is Base64-encoded. Otherwise, it is not encoded. + // is Base64-encoded. Otherwise, it is not Base64-encoded. // // CiphertextBlob is automatically base64 encoded/decoded by the SDK. CiphertextBlob []byte `min:"1" type:"blob"` + // 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. KeyId *string `min:"1" type:"string"` + // The encryption algorithm that was used to decrypt the ciphertext before it + // was reencrypted. + SourceEncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` + // Unique identifier of the CMK used to originally encrypt the data. SourceKeyId *string `min:"1" type:"string"` } @@ -9354,12 +11315,24 @@ func (s *ReEncryptOutput) SetCiphertextBlob(v []byte) *ReEncryptOutput { return s } +// SetDestinationEncryptionAlgorithm sets the DestinationEncryptionAlgorithm field's value. +func (s *ReEncryptOutput) SetDestinationEncryptionAlgorithm(v string) *ReEncryptOutput { + s.DestinationEncryptionAlgorithm = &v + return s +} + // SetKeyId sets the KeyId field's value. func (s *ReEncryptOutput) SetKeyId(v string) *ReEncryptOutput { s.KeyId = &v return s } +// SetSourceEncryptionAlgorithm sets the SourceEncryptionAlgorithm field's value. +func (s *ReEncryptOutput) SetSourceEncryptionAlgorithm(v string) *ReEncryptOutput { + s.SourceEncryptionAlgorithm = &v + return s +} + // SetSourceKeyId sets the SourceKeyId field's value. func (s *ReEncryptOutput) SetSourceKeyId(v string) *ReEncryptOutput { s.SourceKeyId = &v @@ -9502,38 +11475,148 @@ func (s *RevokeGrantInput) Validate() error { return nil } -// SetGrantId sets the GrantId field's value. -func (s *RevokeGrantInput) SetGrantId(v string) *RevokeGrantInput { - s.GrantId = &v +// SetGrantId sets the GrantId field's value. +func (s *RevokeGrantInput) SetGrantId(v string) *RevokeGrantInput { + s.GrantId = &v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *RevokeGrantInput) SetKeyId(v string) *RevokeGrantInput { + s.KeyId = &v + return s +} + +type RevokeGrantOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RevokeGrantOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RevokeGrantOutput) GoString() string { + return s.String() +} + +type ScheduleKeyDeletionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the customer master key (CMK) to delete. + // + // Specify the key ID or the Amazon Resource Name (ARN) of the CMK. + // + // For example: + // + // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. + // + // KeyId is a required field + KeyId *string `min:"1" type:"string" required:"true"` + + // The waiting period, specified in number of days. After the waiting period + // ends, AWS KMS deletes the customer master key (CMK). + // + // This value is optional. If you include a value, it must be between 7 and + // 30, inclusive. If you do not include a value, it defaults to 30. + PendingWindowInDays *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s ScheduleKeyDeletionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduleKeyDeletionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScheduleKeyDeletionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScheduleKeyDeletionInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } + if s.PendingWindowInDays != nil && *s.PendingWindowInDays < 1 { + invalidParams.Add(request.NewErrParamMinValue("PendingWindowInDays", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyId sets the KeyId field's value. +func (s *ScheduleKeyDeletionInput) SetKeyId(v string) *ScheduleKeyDeletionInput { + s.KeyId = &v + return s +} + +// SetPendingWindowInDays sets the PendingWindowInDays field's value. +func (s *ScheduleKeyDeletionInput) SetPendingWindowInDays(v int64) *ScheduleKeyDeletionInput { + s.PendingWindowInDays = &v + return s +} + +type ScheduleKeyDeletionOutput struct { + _ struct{} `type:"structure"` + + // 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. + KeyId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ScheduleKeyDeletionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduleKeyDeletionOutput) GoString() string { + return s.String() +} + +// SetDeletionDate sets the DeletionDate field's value. +func (s *ScheduleKeyDeletionOutput) SetDeletionDate(v time.Time) *ScheduleKeyDeletionOutput { + s.DeletionDate = &v return s } // SetKeyId sets the KeyId field's value. -func (s *RevokeGrantInput) SetKeyId(v string) *RevokeGrantInput { +func (s *ScheduleKeyDeletionOutput) SetKeyId(v string) *ScheduleKeyDeletionOutput { s.KeyId = &v return s } -type RevokeGrantOutput struct { +type SignInput struct { _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s RevokeGrantOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s RevokeGrantOutput) GoString() string { - return s.String() -} -type ScheduleKeyDeletionInput struct { - _ struct{} `type:"structure"` + // A list of grant tokens. + // + // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // in the AWS Key Management Service Developer Guide. + GrantTokens []*string `type:"list"` - // The unique identifier of the customer master key (CMK) to delete. + // Identifies an asymmetric CMK. AWS KMS uses the private key in the asymmetric + // CMK to sign the message. The KeyUsage type of the CMK must be SIGN_VERIFY. + // To find the KeyUsage of a CMK, use the DescribeKey operation. // - // Specify the key ID or the Amazon Resource Name (ARN) of the CMK. + // 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 + // a CMK in a different AWS account, you must use the key ARN or alias ARN. // // For example: // @@ -9541,40 +11624,68 @@ type ScheduleKeyDeletionInput struct { // // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab // - // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. + // * 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. // // KeyId is a required field KeyId *string `min:"1" type:"string" required:"true"` - // The waiting period, specified in number of days. After the waiting period - // ends, AWS KMS deletes the customer master key (CMK). + // Specifies the message or message digest to sign. Messages can be 0-4096 bytes. + // To sign a larger message, provide the message digest. // - // This value is optional. If you include a value, it must be between 7 and - // 30, inclusive. If you do not include a value, it defaults to 30. - PendingWindowInDays *int64 `min:"1" type:"integer"` + // If you provide a message, AWS KMS generates a hash digest of the message + // and then signs it. + // + // Message is automatically base64 encoded/decoded by the SDK. + // + // Message is a required field + Message []byte `min:"1" type:"blob" required:"true" sensitive:"true"` + + // Tells AWS KMS whether the value of the Message parameter is a message or + // message digest. To indicate a message, enter RAW. To indicate a message digest, + // enter DIGEST. + MessageType *string `type:"string" enum:"MessageType"` + + // Specifies the signing algorithm to use when signing the message. + // + // Choose an algorithm that is compatible with the type and size of the specified + // asymmetric CMK. + // + // SigningAlgorithm is a required field + SigningAlgorithm *string `type:"string" required:"true" enum:"SigningAlgorithmSpec"` } // String returns the string representation -func (s ScheduleKeyDeletionInput) String() string { +func (s SignInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ScheduleKeyDeletionInput) GoString() string { +func (s SignInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ScheduleKeyDeletionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ScheduleKeyDeletionInput"} +func (s *SignInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SignInput"} if s.KeyId == nil { invalidParams.Add(request.NewErrParamRequired("KeyId")) } if s.KeyId != nil && len(*s.KeyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) } - if s.PendingWindowInDays != nil && *s.PendingWindowInDays < 1 { - invalidParams.Add(request.NewErrParamMinValue("PendingWindowInDays", 1)) + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + if s.Message != nil && len(s.Message) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Message", 1)) + } + if s.SigningAlgorithm == nil { + invalidParams.Add(request.NewErrParamRequired("SigningAlgorithm")) } if invalidParams.Len() > 0 { @@ -9583,48 +11694,77 @@ func (s *ScheduleKeyDeletionInput) Validate() error { return nil } +// SetGrantTokens sets the GrantTokens field's value. +func (s *SignInput) SetGrantTokens(v []*string) *SignInput { + s.GrantTokens = v + return s +} + // SetKeyId sets the KeyId field's value. -func (s *ScheduleKeyDeletionInput) SetKeyId(v string) *ScheduleKeyDeletionInput { +func (s *SignInput) SetKeyId(v string) *SignInput { s.KeyId = &v return s } -// SetPendingWindowInDays sets the PendingWindowInDays field's value. -func (s *ScheduleKeyDeletionInput) SetPendingWindowInDays(v int64) *ScheduleKeyDeletionInput { - s.PendingWindowInDays = &v +// SetMessage sets the Message field's value. +func (s *SignInput) SetMessage(v []byte) *SignInput { + s.Message = v return s } -type ScheduleKeyDeletionOutput struct { - _ struct{} `type:"structure"` +// SetMessageType sets the MessageType field's value. +func (s *SignInput) SetMessageType(v string) *SignInput { + s.MessageType = &v + return s +} - // The date and time after which AWS KMS deletes the customer master key (CMK). - DeletionDate *time.Time `type:"timestamp"` +// SetSigningAlgorithm sets the SigningAlgorithm field's value. +func (s *SignInput) SetSigningAlgorithm(v string) *SignInput { + s.SigningAlgorithm = &v + return s +} - // The unique identifier of the customer master key (CMK) for which deletion - // is scheduled. +type SignOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (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. + // + // Signature is automatically base64 encoded/decoded by the SDK. + Signature []byte `min:"1" type:"blob"` + + // The signing algorithm that was used to sign the message. + SigningAlgorithm *string `type:"string" enum:"SigningAlgorithmSpec"` } // String returns the string representation -func (s ScheduleKeyDeletionOutput) String() string { +func (s SignOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ScheduleKeyDeletionOutput) GoString() string { +func (s SignOutput) GoString() string { return s.String() } -// SetDeletionDate sets the DeletionDate field's value. -func (s *ScheduleKeyDeletionOutput) SetDeletionDate(v time.Time) *ScheduleKeyDeletionOutput { - s.DeletionDate = &v +// SetKeyId sets the KeyId field's value. +func (s *SignOutput) SetKeyId(v string) *SignOutput { + s.KeyId = &v return s } -// SetKeyId sets the KeyId field's value. -func (s *ScheduleKeyDeletionOutput) SetKeyId(v string) *ScheduleKeyDeletionOutput { - s.KeyId = &v +// SetSignature sets the Signature field's value. +func (s *SignOutput) SetSignature(v []byte) *SignOutput { + s.Signature = v + return s +} + +// SetSigningAlgorithm sets the SigningAlgorithm field's value. +func (s *SignOutput) SetSigningAlgorithm(v string) *SignOutput { + s.SigningAlgorithm = &v return s } @@ -9860,14 +12000,19 @@ func (s UntagResourceOutput) GoString() string { type UpdateAliasInput struct { _ struct{} `type:"structure"` - // Specifies the name of the alias to change. This value must begin with alias/ - // followed by the alias name, such as alias/ExampleAlias. + // Identifies the alias that is changing its CMK. This value must begin with + // alias/ followed by the alias name, such as alias/ExampleAlias. You cannot + // use UpdateAlias to change the alias name. // // AliasName is a required field AliasName *string `min:"1" type:"string" required:"true"` - // Unique identifier of the customer master key (CMK) to be mapped to the alias. - // When the update operation completes, the alias will point to this CMK. + // Identifies the CMK to associate with the alias. When the update operation + // completes, the alias will point to this CMK. + // + // The CMK must be in the same AWS account and Region as the alias. Also, the + // new target CMK must be the same type as the current target CMK (both symmetric + // or both asymmetric) and they must have the same key usage. // // Specify the key ID or the Amazon Resource Name (ARN) of the CMK. // @@ -10130,6 +12275,196 @@ func (s UpdateKeyDescriptionOutput) GoString() string { return s.String() } +type VerifyInput struct { + _ struct{} `type:"structure"` + + // A list of grant tokens. + // + // For more information, see Grant Tokens (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token) + // in the AWS Key Management Service Developer Guide. + GrantTokens []*string `type:"list"` + + // Identifies the asymmetric CMK that will be used to verify the signature. + // This must be the same CMK that was used to generate the signature. If you + // specify a different CMK, the value of the SignatureValid field in the response + // will be False. + // + // 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 + // a CMK in a different AWS account, you must use the key ARN or alias ARN. + // + // 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. + // + // KeyId is a required field + KeyId *string `min:"1" type:"string" required:"true"` + + // Specifies the message that was signed, or a hash digest of that message. + // Messages can be 0-4096 bytes. To verify a larger message, provide a hash + // digest of the message. + // + // If the digest of the message specified here is different from the message + // digest that was signed, the SignatureValid value in the response will be + // False. + // + // Message is automatically base64 encoded/decoded by the SDK. + // + // Message is a required field + Message []byte `min:"1" type:"blob" required:"true" sensitive:"true"` + + // Tells AWS KMS whether the value of the Message parameter is a message or + // message digest. To indicate a message, enter RAW. To indicate a message digest, + // enter DIGEST. + MessageType *string `type:"string" enum:"MessageType"` + + // The signature that the Sign operation generated. + // + // Signature is automatically base64 encoded/decoded by the SDK. + // + // Signature is a required field + Signature []byte `min:"1" type:"blob" required:"true"` + + // The signing algorithm that was used to sign the message. If you submit a + // different algorithm, the value of the SignatureValid field in the response + // will be False. + // + // SigningAlgorithm is a required field + SigningAlgorithm *string `type:"string" required:"true" enum:"SigningAlgorithmSpec"` +} + +// String returns the string representation +func (s VerifyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VerifyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VerifyInput"} + if s.KeyId == nil { + invalidParams.Add(request.NewErrParamRequired("KeyId")) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 1)) + } + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + if s.Message != nil && len(s.Message) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Message", 1)) + } + if s.Signature == nil { + invalidParams.Add(request.NewErrParamRequired("Signature")) + } + if s.Signature != nil && len(s.Signature) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Signature", 1)) + } + if s.SigningAlgorithm == nil { + invalidParams.Add(request.NewErrParamRequired("SigningAlgorithm")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGrantTokens sets the GrantTokens field's value. +func (s *VerifyInput) SetGrantTokens(v []*string) *VerifyInput { + s.GrantTokens = v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *VerifyInput) SetKeyId(v string) *VerifyInput { + s.KeyId = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *VerifyInput) SetMessage(v []byte) *VerifyInput { + s.Message = v + return s +} + +// SetMessageType sets the MessageType field's value. +func (s *VerifyInput) SetMessageType(v string) *VerifyInput { + s.MessageType = &v + return s +} + +// SetSignature sets the Signature field's value. +func (s *VerifyInput) SetSignature(v []byte) *VerifyInput { + s.Signature = v + return s +} + +// SetSigningAlgorithm sets the SigningAlgorithm field's value. +func (s *VerifyInput) SetSigningAlgorithm(v string) *VerifyInput { + s.SigningAlgorithm = &v + return s +} + +type VerifyOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for 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 + // of True indicates that the Signature was produced by signing the Message + // with the specified KeyID and SigningAlgorithm. A value of False indicates + // that the message, the algorithm, or the key changed since the message was + // signed. + SignatureValid *bool `type:"boolean"` + + // The signing algorithm that was used to verify the signature. + SigningAlgorithm *string `type:"string" enum:"SigningAlgorithmSpec"` +} + +// String returns the string representation +func (s VerifyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifyOutput) GoString() string { + return s.String() +} + +// SetKeyId sets the KeyId field's value. +func (s *VerifyOutput) SetKeyId(v string) *VerifyOutput { + s.KeyId = &v + return s +} + +// SetSignatureValid sets the SignatureValid field's value. +func (s *VerifyOutput) SetSignatureValid(v bool) *VerifyOutput { + s.SignatureValid = &v + return s +} + +// SetSigningAlgorithm sets the SigningAlgorithm field's value. +func (s *VerifyOutput) SetSigningAlgorithm(v string) *VerifyOutput { + s.SigningAlgorithm = &v + return s +} + const ( // AlgorithmSpecRsaesPkcs1V15 is a AlgorithmSpec enum value AlgorithmSpecRsaesPkcs1V15 = "RSAES_PKCS1_V1_5" @@ -10178,6 +12513,55 @@ const ( ConnectionStateTypeDisconnecting = "DISCONNECTING" ) +const ( + // CustomerMasterKeySpecRsa2048 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecRsa2048 = "RSA_2048" + + // CustomerMasterKeySpecRsa3072 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecRsa3072 = "RSA_3072" + + // CustomerMasterKeySpecRsa4096 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecRsa4096 = "RSA_4096" + + // CustomerMasterKeySpecEccNistP256 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecEccNistP256 = "ECC_NIST_P256" + + // CustomerMasterKeySpecEccNistP384 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecEccNistP384 = "ECC_NIST_P384" + + // CustomerMasterKeySpecEccNistP521 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecEccNistP521 = "ECC_NIST_P521" + + // CustomerMasterKeySpecEccSecgP256k1 is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecEccSecgP256k1 = "ECC_SECG_P256K1" + + // CustomerMasterKeySpecSymmetricDefault is a CustomerMasterKeySpec enum value + CustomerMasterKeySpecSymmetricDefault = "SYMMETRIC_DEFAULT" +) + +const ( + // DataKeyPairSpecRsa2048 is a DataKeyPairSpec enum value + DataKeyPairSpecRsa2048 = "RSA_2048" + + // DataKeyPairSpecRsa3072 is a DataKeyPairSpec enum value + DataKeyPairSpecRsa3072 = "RSA_3072" + + // DataKeyPairSpecRsa4096 is a DataKeyPairSpec enum value + DataKeyPairSpecRsa4096 = "RSA_4096" + + // DataKeyPairSpecEccNistP256 is a DataKeyPairSpec enum value + DataKeyPairSpecEccNistP256 = "ECC_NIST_P256" + + // DataKeyPairSpecEccNistP384 is a DataKeyPairSpec enum value + DataKeyPairSpecEccNistP384 = "ECC_NIST_P384" + + // DataKeyPairSpecEccNistP521 is a DataKeyPairSpec enum value + DataKeyPairSpecEccNistP521 = "ECC_NIST_P521" + + // DataKeyPairSpecEccSecgP256k1 is a DataKeyPairSpec enum value + DataKeyPairSpecEccSecgP256k1 = "ECC_SECG_P256K1" +) + const ( // DataKeySpecAes256 is a DataKeySpec enum value DataKeySpecAes256 = "AES_256" @@ -10186,6 +12570,17 @@ const ( DataKeySpecAes128 = "AES_128" ) +const ( + // EncryptionAlgorithmSpecSymmetricDefault is a EncryptionAlgorithmSpec enum value + EncryptionAlgorithmSpecSymmetricDefault = "SYMMETRIC_DEFAULT" + + // EncryptionAlgorithmSpecRsaesOaepSha1 is a EncryptionAlgorithmSpec enum value + EncryptionAlgorithmSpecRsaesOaepSha1 = "RSAES_OAEP_SHA_1" + + // EncryptionAlgorithmSpecRsaesOaepSha256 is a EncryptionAlgorithmSpec enum value + EncryptionAlgorithmSpecRsaesOaepSha256 = "RSAES_OAEP_SHA_256" +) + const ( // ExpirationModelTypeKeyMaterialExpires is a ExpirationModelType enum value ExpirationModelTypeKeyMaterialExpires = "KEY_MATERIAL_EXPIRES" @@ -10213,6 +12608,15 @@ const ( // GrantOperationReEncryptTo is a GrantOperation enum value GrantOperationReEncryptTo = "ReEncryptTo" + // GrantOperationSign is a GrantOperation enum value + GrantOperationSign = "Sign" + + // GrantOperationVerify is a GrantOperation enum value + GrantOperationVerify = "Verify" + + // GrantOperationGetPublicKey is a GrantOperation enum value + GrantOperationGetPublicKey = "GetPublicKey" + // GrantOperationCreateGrant is a GrantOperation enum value GrantOperationCreateGrant = "CreateGrant" @@ -10221,6 +12625,12 @@ const ( // GrantOperationDescribeKey is a GrantOperation enum value GrantOperationDescribeKey = "DescribeKey" + + // GrantOperationGenerateDataKeyPair is a GrantOperation enum value + GrantOperationGenerateDataKeyPair = "GenerateDataKeyPair" + + // GrantOperationGenerateDataKeyPairWithoutPlaintext is a GrantOperation enum value + GrantOperationGenerateDataKeyPairWithoutPlaintext = "GenerateDataKeyPairWithoutPlaintext" ) const ( @@ -10249,10 +12659,21 @@ const ( ) const ( + // KeyUsageTypeSignVerify is a KeyUsageType enum value + KeyUsageTypeSignVerify = "SIGN_VERIFY" + // KeyUsageTypeEncryptDecrypt is a KeyUsageType enum value KeyUsageTypeEncryptDecrypt = "ENCRYPT_DECRYPT" ) +const ( + // MessageTypeRaw is a MessageType enum value + MessageTypeRaw = "RAW" + + // MessageTypeDigest is a MessageType enum value + MessageTypeDigest = "DIGEST" +) + const ( // OriginTypeAwsKms is a OriginType enum value OriginTypeAwsKms = "AWS_KMS" @@ -10264,6 +12685,35 @@ const ( OriginTypeAwsCloudhsm = "AWS_CLOUDHSM" ) +const ( + // SigningAlgorithmSpecRsassaPssSha256 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecRsassaPssSha256 = "RSASSA_PSS_SHA_256" + + // SigningAlgorithmSpecRsassaPssSha384 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecRsassaPssSha384 = "RSASSA_PSS_SHA_384" + + // SigningAlgorithmSpecRsassaPssSha512 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecRsassaPssSha512 = "RSASSA_PSS_SHA_512" + + // SigningAlgorithmSpecRsassaPkcs1V15Sha256 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecRsassaPkcs1V15Sha256 = "RSASSA_PKCS1_V1_5_SHA_256" + + // SigningAlgorithmSpecRsassaPkcs1V15Sha384 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecRsassaPkcs1V15Sha384 = "RSASSA_PKCS1_V1_5_SHA_384" + + // SigningAlgorithmSpecRsassaPkcs1V15Sha512 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecRsassaPkcs1V15Sha512 = "RSASSA_PKCS1_V1_5_SHA_512" + + // SigningAlgorithmSpecEcdsaSha256 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecEcdsaSha256 = "ECDSA_SHA_256" + + // SigningAlgorithmSpecEcdsaSha384 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecEcdsaSha384 = "ECDSA_SHA_384" + + // SigningAlgorithmSpecEcdsaSha512 is a SigningAlgorithmSpec enum value + SigningAlgorithmSpecEcdsaSha512 = "ECDSA_SHA_512" +) + const ( // WrappingKeySpecRsa2048 is a WrappingKeySpec enum value WrappingKeySpecRsa2048 = "RSA_2048" diff --git a/vendor/github.com/aws/aws-sdk-go/service/kms/errors.go b/vendor/github.com/aws/aws-sdk-go/service/kms/errors.go index e8ce42f3b9cc..a93ac64a807e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kms/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kms/errors.go @@ -156,17 +156,25 @@ const ( // ErrCodeExpiredImportTokenException for service response error code // "ExpiredImportTokenException". // - // The request was rejected because the provided import token is expired. Use + // The request was rejected because the specified import token is expired. Use // GetParametersForImport to get a new import token and public key, use the // new public key to encrypt the key material, and then try the request again. ErrCodeExpiredImportTokenException = "ExpiredImportTokenException" + // ErrCodeIncorrectKeyException for service response error code + // "IncorrectKeyException". + // + // The request was rejected because the specified CMK cannot decrypt the data. + // The KeyId in a Decrypt request and the SourceKeyId in a ReEncrypt request + // must identify the same CMK that was used to encrypt the ciphertext. + ErrCodeIncorrectKeyException = "IncorrectKeyException" + // ErrCodeIncorrectKeyMaterialException for service response error code // "IncorrectKeyMaterialException". // - // The request was rejected because the provided key material is invalid or - // is not the same key material that was previously imported into this customer - // master key (CMK). + // The request was rejected because the key material in the request is, expired, + // invalid, or is not the same key material that was previously imported into + // this customer master key (CMK). ErrCodeIncorrectKeyMaterialException = "IncorrectKeyMaterialException" // ErrCodeIncorrectTrustAnchorException for service response error code @@ -203,9 +211,13 @@ const ( // ErrCodeInvalidCiphertextException for service response error code // "InvalidCiphertextException". // - // The request was rejected because the specified ciphertext, or additional - // authenticated data incorporated into the ciphertext, such as the encryption - // context, is corrupted, missing, or otherwise invalid. + // From the Decrypt or ReEncrypt operation, the request was rejected because + // the specified ciphertext, or additional authenticated data incorporated into + // the ciphertext, such as the encryption context, is corrupted, missing, or + // otherwise invalid. + // + // From the ImportKeyMaterial operation, the request was rejected because AWS + // KMS could not decrypt the encrypted (wrapped) key material. ErrCodeInvalidCiphertextException = "InvalidCiphertextException" // ErrCodeInvalidGrantIdException for service response error code @@ -230,7 +242,19 @@ const ( // ErrCodeInvalidKeyUsageException for service response error code // "InvalidKeyUsageException". // - // The request was rejected because the specified KeySpec value is not valid. + // The request was rejected for one of the following reasons: + // + // * The KeyUsage value of the CMK is incompatible with the API operation. + // + // * The encryption algorithm or signing algorithm specified for the operation + // is incompatible with the type of key material in the CMK (CustomerMasterKeySpec). + // + // For encrypting, decrypting, re-encrypting, and generating data keys, the + // KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage + // must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation. + // + // To find the encryption or signing algorithms supported for a particular CMK, + // use the DescribeKey operation. ErrCodeInvalidKeyUsageException = "InvalidKeyUsageException" // ErrCodeInvalidMarkerException for service response error code @@ -248,14 +272,14 @@ const ( // // For more information about how key state affects the use of a CMK, 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. + // in the AWS Key Management Service Developer Guide . ErrCodeInvalidStateException = "KMSInvalidStateException" // ErrCodeKeyUnavailableException for service response error code // "KeyUnavailableException". // - // The request was rejected because the specified CMK was not available. The - // request can be retried. + // The request was rejected because the specified CMK was not available. You + // can retry the request. ErrCodeKeyUnavailableException = "KeyUnavailableException" // ErrCodeLimitExceededException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go b/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go index b12c06eb8b9d..3ec8f6403fdd 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go @@ -78,19 +78,16 @@ func (c *Lambda) AddLayerVersionPermissionRequest(input *AddLayerVersionPermissi // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodePolicyLengthExceededException "PolicyLengthExceededException" // The permissions policy for the resource is too large. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) @@ -180,7 +177,7 @@ func (c *Lambda) AddPermissionRequest(input *AddPermissionInput) (req *request.R // without specifying the source, other accounts could potentially configure // resources in their account to invoke your Lambda function. // -// This action adds a statement to a resource-based permission policy for the +// This action adds a statement to a resource-based permissions policy for the // function. For more information about function policies, see Lambda Function // Policies (https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html). // @@ -196,22 +193,19 @@ func (c *Lambda) AddPermissionRequest(input *AddPermissionInput) (req *request.R // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodePolicyLengthExceededException "PolicyLengthExceededException" // The permissions policy for the resource is too large. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -304,19 +298,16 @@ func (c *Lambda) CreateAliasRequest(input *CreateAliasInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAlias func (c *Lambda) CreateAlias(input *CreateAliasInput) (*AliasConfiguration, error) { @@ -389,11 +380,26 @@ func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMapping // // For details about each event source type, see the following topics. // +// * Using AWS Lambda with Amazon DynamoDB (https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html) +// // * Using AWS Lambda with Amazon Kinesis (https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) // // * Using AWS Lambda with Amazon SQS (https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) // -// * Using AWS Lambda with Amazon DynamoDB (https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html) +// The following error handling options are only available for stream sources +// (DynamoDB and Kinesis): +// +// * BisectBatchOnFunctionError - If the function returns an error, split +// the batch in two and retry. +// +// * DestinationConfig - Send discarded records to an Amazon SQS queue or +// Amazon SNS topic. +// +// * MaximumRecordAgeInSeconds - Discard records older than the specified +// age. +// +// * MaximumRetryAttempts - Discard records after the specified number of +// retries. // // 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 @@ -407,19 +413,16 @@ func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMapping // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateEventSourceMapping func (c *Lambda) CreateEventSourceMapping(input *CreateEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { @@ -494,6 +497,13 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request // the function permission to use AWS services, such as Amazon CloudWatch Logs // for log streaming and AWS X-Ray for request tracing. // +// When you create a function, Lambda provisions an instance of the function +// and its supporting resources. If your function connects to a VPC, this process +// can take a minute or so. During this time, you can't invoke or modify the +// function. The State, StateReason, and StateReasonCode fields in the response +// from GetFunctionConfiguration indicate when the function is ready to invoke. +// For more information, see Function States (https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html). +// // A function has an unpublished version, and can have published versions and // aliases. The unpublished version changes when you update your function's // code and configuration. A published version is a snapshot of your function @@ -515,7 +525,7 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request // To invoke your function directly, use Invoke. To invoke your function in // response to events in other AWS services, create an event source mapping // (CreateEventSourceMapping), or configure a function trigger in the other -// service. For more information, see Invoking Functions (https://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-functions.html). +// service. For more information, see Invoking Functions (https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.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 @@ -529,19 +539,16 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) @@ -627,12 +634,10 @@ func (c *Lambda) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAlias func (c *Lambda) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) { @@ -703,6 +708,9 @@ func (c *Lambda) DeleteEventSourceMappingRequest(input *DeleteEventSourceMapping // Deletes an event source mapping (https://docs.aws.amazon.com/lambda/latest/dg/intro-invocation-modes.html). // You can get the identifier of a mapping from the output of ListEventSourceMappings. // +// When you delete an event source mapping, it enters a Deleting state and might +// not be completely deleted for several seconds. +// // 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. @@ -715,16 +723,13 @@ func (c *Lambda) DeleteEventSourceMappingRequest(input *DeleteEventSourceMapping // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeResourceInUseException "ResourceInUseException" // The operation conflicts with the resource's availability. For example, you @@ -817,19 +822,16 @@ func (c *Lambda) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunction func (c *Lambda) DeleteFunction(input *DeleteFunctionInput) (*DeleteFunctionOutput, error) { @@ -912,16 +914,16 @@ func (c *Lambda) DeleteFunctionConcurrencyRequest(input *DeleteFunctionConcurren // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. +// +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionConcurrency func (c *Lambda) DeleteFunctionConcurrency(input *DeleteFunctionConcurrencyInput) (*DeleteFunctionConcurrencyOutput, error) { @@ -945,6 +947,98 @@ func (c *Lambda) DeleteFunctionConcurrencyWithContext(ctx aws.Context, input *De return out, req.Send() } +const opDeleteFunctionEventInvokeConfig = "DeleteFunctionEventInvokeConfig" + +// DeleteFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFunctionEventInvokeConfig 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 DeleteFunctionEventInvokeConfig for more information on using the DeleteFunctionEventInvokeConfig +// 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 DeleteFunctionEventInvokeConfigRequest method. +// req, resp := client.DeleteFunctionEventInvokeConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionEventInvokeConfig +func (c *Lambda) DeleteFunctionEventInvokeConfigRequest(input *DeleteFunctionEventInvokeConfigInput) (req *request.Request, output *DeleteFunctionEventInvokeConfigOutput) { + op := &request.Operation{ + Name: opDeleteFunctionEventInvokeConfig, + HTTPMethod: "DELETE", + HTTPPath: "/2019-09-25/functions/{FunctionName}/event-invoke-config", + } + + if input == nil { + input = &DeleteFunctionEventInvokeConfigInput{} + } + + output = &DeleteFunctionEventInvokeConfigOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteFunctionEventInvokeConfig API operation for AWS Lambda. +// +// Deletes the configuration for asynchronous invocation for a function, version, +// or alias. +// +// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. +// +// 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 Lambda's +// API operation DeleteFunctionEventInvokeConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// The AWS Lambda service encountered an internal error. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource specified in the request does not exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One of the parameters in the request is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request throughput limit was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunctionEventInvokeConfig +func (c *Lambda) DeleteFunctionEventInvokeConfig(input *DeleteFunctionEventInvokeConfigInput) (*DeleteFunctionEventInvokeConfigOutput, error) { + req, out := c.DeleteFunctionEventInvokeConfigRequest(input) + return out, req.Send() +} + +// DeleteFunctionEventInvokeConfigWithContext is the same as DeleteFunctionEventInvokeConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteFunctionEventInvokeConfig 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 *Lambda) DeleteFunctionEventInvokeConfigWithContext(ctx aws.Context, input *DeleteFunctionEventInvokeConfigInput, opts ...request.Option) (*DeleteFunctionEventInvokeConfigOutput, error) { + req, out := c.DeleteFunctionEventInvokeConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteLayerVersion = "DeleteLayerVersion" // DeleteLayerVersionRequest generates a "aws/request.Request" representing the @@ -1007,7 +1101,7 @@ func (c *Lambda) DeleteLayerVersionRequest(input *DeleteLayerVersionInput) (req // The AWS Lambda service encountered an internal error. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteLayerVersion func (c *Lambda) DeleteLayerVersion(input *DeleteLayerVersionInput) (*DeleteLayerVersionOutput, error) { @@ -1087,7 +1181,7 @@ func (c *Lambda) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req // // Returned Error Codes: // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeServiceException "ServiceException" // The AWS Lambda service encountered an internal error. @@ -1172,16 +1266,13 @@ func (c *Lambda) GetAliasRequest(input *GetAliasInput) (req *request.Request, ou // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAlias func (c *Lambda) GetAlias(input *GetAliasInput) (*AliasConfiguration, error) { @@ -1264,16 +1355,13 @@ func (c *Lambda) GetEventSourceMappingRequest(input *GetEventSourceMappingInput) // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping func (c *Lambda) GetEventSourceMapping(input *GetEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { @@ -1357,16 +1445,13 @@ func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunction func (c *Lambda) GetFunction(input *GetFunctionInput) (*GetFunctionOutput, error) { @@ -1453,16 +1538,13 @@ func (c *Lambda) GetFunctionConfigurationRequest(input *GetFunctionConfiguration // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionConfiguration func (c *Lambda) GetFunctionConfiguration(input *GetFunctionConfigurationInput) (*FunctionConfiguration, error) { @@ -1486,6 +1568,97 @@ func (c *Lambda) GetFunctionConfigurationWithContext(ctx aws.Context, input *Get return out, req.Send() } +const opGetFunctionEventInvokeConfig = "GetFunctionEventInvokeConfig" + +// GetFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetFunctionEventInvokeConfig 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 GetFunctionEventInvokeConfig for more information on using the GetFunctionEventInvokeConfig +// 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 GetFunctionEventInvokeConfigRequest method. +// req, resp := client.GetFunctionEventInvokeConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionEventInvokeConfig +func (c *Lambda) GetFunctionEventInvokeConfigRequest(input *GetFunctionEventInvokeConfigInput) (req *request.Request, output *GetFunctionEventInvokeConfigOutput) { + op := &request.Operation{ + Name: opGetFunctionEventInvokeConfig, + HTTPMethod: "GET", + HTTPPath: "/2019-09-25/functions/{FunctionName}/event-invoke-config", + } + + if input == nil { + input = &GetFunctionEventInvokeConfigInput{} + } + + output = &GetFunctionEventInvokeConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetFunctionEventInvokeConfig API operation for AWS Lambda. +// +// Retrieves the configuration for asynchronous invocation for a function, version, +// or alias. +// +// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. +// +// 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 Lambda's +// API operation GetFunctionEventInvokeConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// The AWS Lambda service encountered an internal error. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource specified in the request does not exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One of the parameters in the request is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request throughput limit was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetFunctionEventInvokeConfig +func (c *Lambda) GetFunctionEventInvokeConfig(input *GetFunctionEventInvokeConfigInput) (*GetFunctionEventInvokeConfigOutput, error) { + req, out := c.GetFunctionEventInvokeConfigRequest(input) + return out, req.Send() +} + +// GetFunctionEventInvokeConfigWithContext is the same as GetFunctionEventInvokeConfig with the addition of +// the ability to pass a context and additional request options. +// +// See GetFunctionEventInvokeConfig 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 *Lambda) GetFunctionEventInvokeConfigWithContext(ctx aws.Context, input *GetFunctionEventInvokeConfigInput, opts ...request.Option) (*GetFunctionEventInvokeConfigOutput, error) { + req, out := c.GetFunctionEventInvokeConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetLayerVersion = "GetLayerVersion" // GetLayerVersionRequest generates a "aws/request.Request" representing the @@ -1545,16 +1718,13 @@ func (c *Lambda) GetLayerVersionRequest(input *GetLayerVersionInput) (req *reque // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersion func (c *Lambda) GetLayerVersion(input *GetLayerVersionInput) (*GetLayerVersionOutput, error) { @@ -1637,16 +1807,13 @@ func (c *Lambda) GetLayerVersionByArnRequest(input *GetLayerVersionByArnInput) ( // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionByArn func (c *Lambda) GetLayerVersionByArn(input *GetLayerVersionByArnInput) (*GetLayerVersionByArnOutput, error) { @@ -1729,16 +1896,13 @@ func (c *Lambda) GetLayerVersionPolicyRequest(input *GetLayerVersionPolicyInput) // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetLayerVersionPolicy func (c *Lambda) GetLayerVersionPolicy(input *GetLayerVersionPolicyInput) (*GetLayerVersionPolicyOutput, error) { @@ -1821,16 +1985,13 @@ func (c *Lambda) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetPolicy func (c *Lambda) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) { @@ -1902,12 +2063,11 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // for the response), or asynchronously. To invoke a function asynchronously, // set InvocationType to Event. // -// For synchronous invocation, details about the function response, including -// errors, are included in the response body and headers. For either invocation -// type, you can find more information in the execution log (https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html) -// and trace (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html). To record -// function errors for asynchronous invocations, configure your function with -// a dead letter queue (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html). +// For synchronous invocation (https://docs.aws.amazon.com/lambda/latest/dg/invocation-sync.html), +// details about the function response, including errors, are included in the +// response body and headers. For either invocation type, you can find more +// information in the execution log (https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html) +// and trace (https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html). // // When an error occurs, your function may be invoked multiple times. Retry // behavior varies by error type, client, event source, and invocation type. @@ -1915,6 +2075,13 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // Lambda executes the function up to two more times. For more information, // see Retry Behavior (https://docs.aws.amazon.com/lambda/latest/dg/retries-on-errors.html). // +// For asynchronous invocation (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html), +// Lambda adds events to a queue before sending them to your function. If your +// function does not have enough capacity to keep up with the queue, events +// may be lost. Occasionally, your function may receive the same event multiple +// times, even if no error occurs. To retain events that were not processed, +// configure your function with a dead-letter queue (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq). +// // The status code in the API response doesn't reflect function errors. Error // codes are reserved for errors that prevent your function from executing, // such as permissions errors, limit errors (https://docs.aws.amazon.com/lambda/latest/dg/limits.html), @@ -1942,8 +2109,7 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidRequestContentException "InvalidRequestContentException" // The request body could not be parsed as JSON. @@ -1956,12 +2122,10 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // The content type of the Invoke request body is not JSON. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeEC2UnexpectedException "EC2UnexpectedException" // AWS Lambda received an unexpected EC2 client exception while setting up for @@ -1972,9 +2136,9 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // one or more configured subnets has no available IP addresses. // // * ErrCodeENILimitReachedException "ENILimitReachedException" -// AWS Lambda was not able to create an Elastic Network Interface (ENI) in the -// VPC, specified as part of Lambda function configuration, because the limit -// for network interfaces has been reached. +// AWS Lambda was not able to create an elastic network interface in the VPC, +// specified as part of Lambda function configuration, because the limit for +// network interfaces has been reached. // // * ErrCodeEC2ThrottledException "EC2ThrottledException" // AWS Lambda was throttled by Amazon EC2 during Lambda function initialization @@ -2012,6 +2176,13 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // * ErrCodeInvalidRuntimeException "InvalidRuntimeException" // The runtime or runtime version specified is not supported. // +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. +// +// * ErrCodeResourceNotReadyException "ResourceNotReadyException" +// The function is inactive and its VPC connection is no longer available. Wait +// for the VPC connection to reestablish and try again. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/Invoke func (c *Lambda) Invoke(input *InvokeInput) (*InvokeOutput, error) { req, out := c.InvokeRequest(input) @@ -2100,8 +2271,7 @@ func (c *Lambda) InvokeAsyncRequest(input *InvokeAsyncInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidRequestContentException "InvalidRequestContentException" // The request body could not be parsed as JSON. @@ -2109,6 +2279,9 @@ func (c *Lambda) InvokeAsyncRequest(input *InvokeAsyncInput) (req *request.Reque // * ErrCodeInvalidRuntimeException "InvalidRuntimeException" // The runtime or runtime version specified is not supported. // +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsync // // Deprecated: InvokeAsync has been deprecated @@ -2200,16 +2373,13 @@ func (c *Lambda) ListAliasesRequest(input *ListAliasesInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliases func (c *Lambda) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) { @@ -2350,16 +2520,13 @@ func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsIn // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings func (c *Lambda) ListEventSourceMappings(input *ListEventSourceMappingsInput) (*ListEventSourceMappingsOutput, error) { @@ -2435,6 +2602,154 @@ func (c *Lambda) ListEventSourceMappingsPagesWithContext(ctx aws.Context, input return p.Err() } +const opListFunctionEventInvokeConfigs = "ListFunctionEventInvokeConfigs" + +// ListFunctionEventInvokeConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListFunctionEventInvokeConfigs 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 ListFunctionEventInvokeConfigs for more information on using the ListFunctionEventInvokeConfigs +// 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 ListFunctionEventInvokeConfigsRequest method. +// req, resp := client.ListFunctionEventInvokeConfigsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs +func (c *Lambda) ListFunctionEventInvokeConfigsRequest(input *ListFunctionEventInvokeConfigsInput) (req *request.Request, output *ListFunctionEventInvokeConfigsOutput) { + op := &request.Operation{ + Name: opListFunctionEventInvokeConfigs, + HTTPMethod: "GET", + HTTPPath: "/2019-09-25/functions/{FunctionName}/event-invoke-config/list", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"NextMarker"}, + LimitToken: "MaxItems", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListFunctionEventInvokeConfigsInput{} + } + + output = &ListFunctionEventInvokeConfigsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFunctionEventInvokeConfigs API operation for AWS Lambda. +// +// Retrieves a list of configurations for asynchronous invocation for a function. +// +// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. +// +// 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 Lambda's +// API operation ListFunctionEventInvokeConfigs for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One of the parameters in the request is invalid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource specified in the request does not exist. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request throughput limit was exceeded. +// +// * ErrCodeServiceException "ServiceException" +// The AWS Lambda service encountered an internal error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctionEventInvokeConfigs +func (c *Lambda) ListFunctionEventInvokeConfigs(input *ListFunctionEventInvokeConfigsInput) (*ListFunctionEventInvokeConfigsOutput, error) { + req, out := c.ListFunctionEventInvokeConfigsRequest(input) + return out, req.Send() +} + +// ListFunctionEventInvokeConfigsWithContext is the same as ListFunctionEventInvokeConfigs with the addition of +// the ability to pass a context and additional request options. +// +// See ListFunctionEventInvokeConfigs 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 *Lambda) ListFunctionEventInvokeConfigsWithContext(ctx aws.Context, input *ListFunctionEventInvokeConfigsInput, opts ...request.Option) (*ListFunctionEventInvokeConfigsOutput, error) { + req, out := c.ListFunctionEventInvokeConfigsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListFunctionEventInvokeConfigsPages iterates over the pages of a ListFunctionEventInvokeConfigs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFunctionEventInvokeConfigs 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 ListFunctionEventInvokeConfigs operation. +// pageNum := 0 +// err := client.ListFunctionEventInvokeConfigsPages(params, +// func(page *lambda.ListFunctionEventInvokeConfigsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Lambda) ListFunctionEventInvokeConfigsPages(input *ListFunctionEventInvokeConfigsInput, fn func(*ListFunctionEventInvokeConfigsOutput, bool) bool) error { + return c.ListFunctionEventInvokeConfigsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListFunctionEventInvokeConfigsPagesWithContext same as ListFunctionEventInvokeConfigsPages 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 *Lambda) ListFunctionEventInvokeConfigsPagesWithContext(ctx aws.Context, input *ListFunctionEventInvokeConfigsInput, fn func(*ListFunctionEventInvokeConfigsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFunctionEventInvokeConfigsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFunctionEventInvokeConfigsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFunctionEventInvokeConfigsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListFunctions = "ListFunctions" // ListFunctionsRequest generates a "aws/request.Request" representing the @@ -2504,12 +2819,10 @@ func (c *Lambda) ListFunctionsRequest(input *ListFunctionsInput) (req *request.R // The AWS Lambda service encountered an internal error. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListFunctions func (c *Lambda) ListFunctions(input *ListFunctionsInput) (*ListFunctionsOutput, error) { @@ -2652,16 +2965,13 @@ func (c *Lambda) ListLayerVersionsRequest(input *ListLayerVersionsInput) (req *r // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayerVersions func (c *Lambda) ListLayerVersions(input *ListLayerVersionsInput) (*ListLayerVersionsOutput, error) { @@ -2804,12 +3114,10 @@ func (c *Lambda) ListLayersRequest(input *ListLayersInput) (req *request.Request // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListLayers func (c *Lambda) ListLayers(input *ListLayersInput) (*ListLayersOutput, error) { @@ -2944,16 +3252,13 @@ func (c *Lambda) ListTagsRequest(input *ListTagsInput) (req *request.Request, ou // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTags func (c *Lambda) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { @@ -3042,16 +3347,13 @@ func (c *Lambda) ListVersionsByFunctionRequest(input *ListVersionsByFunctionInpu // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction func (c *Lambda) ListVersionsByFunction(input *ListVersionsByFunctionInput) (*ListVersionsByFunctionOutput, error) { @@ -3173,7 +3475,7 @@ func (c *Lambda) PublishLayerVersionRequest(input *PublishLayerVersionInput) (re // // Creates an AWS Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) // from a ZIP archive. Each time you call PublishLayerVersion with the same -// version name, a new version is created. +// layer name, a new version is created. // // Add layers to your function with CreateFunction or UpdateFunctionConfiguration. // @@ -3189,16 +3491,13 @@ func (c *Lambda) PublishLayerVersionRequest(input *PublishLayerVersionInput) (re // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) @@ -3292,16 +3591,13 @@ func (c *Lambda) PublishVersionRequest(input *PublishVersionInput) (req *request // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) @@ -3311,6 +3607,9 @@ func (c *Lambda) PublishVersionRequest(input *PublishVersionInput) (req *request // function or alias. Call the GetFunction or the GetAlias API to retrieve the // latest RevisionId for your resource. // +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion func (c *Lambda) PublishVersion(input *PublishVersionInput) (*FunctionConfiguration, error) { req, out := c.PublishVersionRequest(input) @@ -3404,16 +3703,16 @@ func (c *Lambda) PutFunctionConcurrencyRequest(input *PutFunctionConcurrencyInpu // The AWS Lambda service encountered an internal error. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. +// +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionConcurrency func (c *Lambda) PutFunctionConcurrency(input *PutFunctionConcurrencyInput) (*PutFunctionConcurrencyOutput, error) { @@ -3437,6 +3736,101 @@ func (c *Lambda) PutFunctionConcurrencyWithContext(ctx aws.Context, input *PutFu return out, req.Send() } +const opPutFunctionEventInvokeConfig = "PutFunctionEventInvokeConfig" + +// PutFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the +// client's request for the PutFunctionEventInvokeConfig 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 PutFunctionEventInvokeConfig for more information on using the PutFunctionEventInvokeConfig +// 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 PutFunctionEventInvokeConfigRequest method. +// req, resp := client.PutFunctionEventInvokeConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionEventInvokeConfig +func (c *Lambda) PutFunctionEventInvokeConfigRequest(input *PutFunctionEventInvokeConfigInput) (req *request.Request, output *PutFunctionEventInvokeConfigOutput) { + op := &request.Operation{ + Name: opPutFunctionEventInvokeConfig, + HTTPMethod: "PUT", + HTTPPath: "/2019-09-25/functions/{FunctionName}/event-invoke-config", + } + + if input == nil { + input = &PutFunctionEventInvokeConfigInput{} + } + + output = &PutFunctionEventInvokeConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutFunctionEventInvokeConfig API operation for AWS Lambda. +// +// Configures options for asynchronous invocation (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html) +// on a function, version, or alias. +// +// By default, Lambda retries an asynchronous invocation twice if the function +// returns an error. It retains events in a queue for up to six hours. When +// an event fails all processing attempts or stays in the asynchronous invocation +// queue for too long, Lambda discards it. To retain discarded events, configure +// a dead-letter queue with UpdateFunctionConfiguration. +// +// 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 Lambda's +// API operation PutFunctionEventInvokeConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// The AWS Lambda service encountered an internal error. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource specified in the request does not exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One of the parameters in the request is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request throughput limit was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionEventInvokeConfig +func (c *Lambda) PutFunctionEventInvokeConfig(input *PutFunctionEventInvokeConfigInput) (*PutFunctionEventInvokeConfigOutput, error) { + req, out := c.PutFunctionEventInvokeConfigRequest(input) + return out, req.Send() +} + +// PutFunctionEventInvokeConfigWithContext is the same as PutFunctionEventInvokeConfig with the addition of +// the ability to pass a context and additional request options. +// +// See PutFunctionEventInvokeConfig 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 *Lambda) PutFunctionEventInvokeConfigWithContext(ctx aws.Context, input *PutFunctionEventInvokeConfigInput, opts ...request.Option) (*PutFunctionEventInvokeConfigOutput, error) { + req, out := c.PutFunctionEventInvokeConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRemoveLayerVersionPermission = "RemoveLayerVersionPermission" // RemoveLayerVersionPermissionRequest generates a "aws/request.Request" representing the @@ -3498,16 +3892,13 @@ func (c *Lambda) RemoveLayerVersionPermissionRequest(input *RemoveLayerVersionPe // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -3596,16 +3987,13 @@ func (c *Lambda) RemovePermissionRequest(input *RemovePermissionInput) (req *req // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -3694,16 +4082,13 @@ func (c *Lambda) TagResourceRequest(input *TagResourceInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResource func (c *Lambda) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { @@ -3787,16 +4172,13 @@ func (c *Lambda) UntagResourceRequest(input *UntagResourceInput) (req *request.R // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResource func (c *Lambda) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { @@ -3878,22 +4260,22 @@ func (c *Lambda) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Reque // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda // function or alias. Call the GetFunction or the GetAlias API to retrieve the // latest RevisionId for your resource. // +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias func (c *Lambda) UpdateAlias(input *UpdateAliasInput) (*AliasConfiguration, error) { req, out := c.UpdateAliasRequest(input) @@ -3963,6 +4345,21 @@ func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMapping // Updates an event source mapping. You can change the function that AWS Lambda // invokes, or pause invocation and resume later from the same location. // +// The following error handling options are only available for stream sources +// (DynamoDB and Kinesis): +// +// * BisectBatchOnFunctionError - If the function returns an error, split +// the batch in two and retry. +// +// * DestinationConfig - Send discarded records to an Amazon SQS queue or +// Amazon SNS topic. +// +// * MaximumRecordAgeInSeconds - Discard records older than the specified +// age. +// +// * MaximumRetryAttempts - Discard records after the specified number of +// retries. +// // 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. @@ -3975,19 +4372,16 @@ func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMapping // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodeResourceInUseException "ResourceInUseException" // The operation conflicts with the resource's availability. For example, you @@ -4077,16 +4471,13 @@ func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Learn more (https://docs.aws.amazon.com/lambda/latest/dg/limits.html) @@ -4096,6 +4487,9 @@ func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req // function or alias. Call the GetFunction or the GetAlias API to retrieve the // latest RevisionId for your resource. // +// * ErrCodeResourceConflictException "ResourceConflictException" +// The resource already exists, or another operation is in progress. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode func (c *Lambda) UpdateFunctionCode(input *UpdateFunctionCodeInput) (*FunctionConfiguration, error) { req, out := c.UpdateFunctionCodeRequest(input) @@ -4164,6 +4558,14 @@ func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigu // // Modify the version-specific settings of a Lambda function. // +// When you update a function, Lambda provisions an instance of the function +// and its supporting resources. If your function connects to a VPC, this process +// can take a minute. During this time, you can't modify the function, but you +// can still invoke it. The LastUpdateStatus, LastUpdateStatusReason, and LastUpdateStatusReasonCode +// fields in the response from GetFunctionConfiguration indicate when the update +// is complete and the function is processing events with the new configuration. +// For more information, see Function States (https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html). +// // These settings can vary between versions of a function and are locked when // you publish a version. You can't modify the configuration of a published // version, only the unpublished version. @@ -4183,19 +4585,16 @@ func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigu // The AWS Lambda service encountered an internal error. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// The resource (for example, a Lambda function or access policy statement) -// specified in the request does not exist. +// The resource specified in the request does not exist. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One of the parameters in the request is invalid. For example, if you provided -// an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration -// API, that AWS Lambda is unable to assume you will get this exception. +// One of the parameters in the request is invalid. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// Request throughput limit exceeded. +// The request throughput limit was exceeded. // // * ErrCodeResourceConflictException "ResourceConflictException" -// The resource already exists. +// The resource already exists, or another operation is in progress. // // * ErrCodePreconditionFailedException "PreconditionFailedException" // The RevisionId provided does not match the latest RevisionId for the Lambda @@ -4224,12 +4623,104 @@ func (c *Lambda) UpdateFunctionConfigurationWithContext(ctx aws.Context, input * return out, req.Send() } -// Limits that are related to concurrency and code storage. All file and storage +const opUpdateFunctionEventInvokeConfig = "UpdateFunctionEventInvokeConfig" + +// UpdateFunctionEventInvokeConfigRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFunctionEventInvokeConfig 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 UpdateFunctionEventInvokeConfig for more information on using the UpdateFunctionEventInvokeConfig +// 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 UpdateFunctionEventInvokeConfigRequest method. +// req, resp := client.UpdateFunctionEventInvokeConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionEventInvokeConfig +func (c *Lambda) UpdateFunctionEventInvokeConfigRequest(input *UpdateFunctionEventInvokeConfigInput) (req *request.Request, output *UpdateFunctionEventInvokeConfigOutput) { + op := &request.Operation{ + Name: opUpdateFunctionEventInvokeConfig, + HTTPMethod: "POST", + HTTPPath: "/2019-09-25/functions/{FunctionName}/event-invoke-config", + } + + if input == nil { + input = &UpdateFunctionEventInvokeConfigInput{} + } + + output = &UpdateFunctionEventInvokeConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFunctionEventInvokeConfig API operation for AWS Lambda. +// +// Updates the configuration for asynchronous invocation for a function, version, +// or alias. +// +// To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig. +// +// 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 Lambda's +// API operation UpdateFunctionEventInvokeConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServiceException "ServiceException" +// The AWS Lambda service encountered an internal error. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The resource specified in the request does not exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One of the parameters in the request is invalid. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The request throughput limit was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionEventInvokeConfig +func (c *Lambda) UpdateFunctionEventInvokeConfig(input *UpdateFunctionEventInvokeConfigInput) (*UpdateFunctionEventInvokeConfigOutput, error) { + req, out := c.UpdateFunctionEventInvokeConfigRequest(input) + return out, req.Send() +} + +// UpdateFunctionEventInvokeConfigWithContext is the same as UpdateFunctionEventInvokeConfig with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFunctionEventInvokeConfig 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 *Lambda) UpdateFunctionEventInvokeConfigWithContext(ctx aws.Context, input *UpdateFunctionEventInvokeConfigInput, opts ...request.Option) (*UpdateFunctionEventInvokeConfigOutput, error) { + req, out := c.UpdateFunctionEventInvokeConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Limits that are related to concurrency and storage. All file and storage // sizes are in bytes. type AccountLimit struct { _ struct{} `type:"structure"` - // The maximum size of your function's code and layers when they're extracted. + // The maximum size of a function's deployment package and layers when they're + // extracted. CodeSizeUnzipped *int64 `type:"long"` // The maximum size of a deployment package when it's uploaded directly to AWS @@ -4870,6 +5361,13 @@ type CreateEventSourceMappingInput struct { // * Amazon Simple Queue Service - Default 10. Max 10. BatchSize *int64 `min:"1" type:"integer"` + // (Streams) If the function returns an error, split the batch in two and retry. + BisectBatchOnFunctionError *bool `type:"boolean"` + + // (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded + // records. + DestinationConfig *DestinationConfig `type:"structure"` + // Disables the event source mapping to pause polling and invocation. Enabled *bool `type:"boolean"` @@ -4902,8 +5400,21 @@ type CreateEventSourceMappingInput struct { // FunctionName is a required field FunctionName *string `min:"1" type:"string" required:"true"` + // The maximum amount of time to gather records before invoking the function, + // in seconds. MaximumBatchingWindowInSeconds *int64 `type:"integer"` + // (Streams) The maximum age of a record that Lambda sends to a function for + // processing. + MaximumRecordAgeInSeconds *int64 `min:"60" type:"integer"` + + // (Streams) The maximum number of times to retry when the function returns + // an error. + MaximumRetryAttempts *int64 `type:"integer"` + + // (Streams) The number of batches to process from each shard concurrently. + ParallelizationFactor *int64 `min:"1" type:"integer"` + // The position in a stream from which to start reading. Required for Amazon // Kinesis and Amazon DynamoDB Streams sources. AT_TIMESTAMP is only supported // for Amazon Kinesis streams. @@ -4938,6 +5449,12 @@ func (s *CreateEventSourceMappingInput) Validate() error { if s.FunctionName != nil && len(*s.FunctionName) < 1 { invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) } + if s.MaximumRecordAgeInSeconds != nil && *s.MaximumRecordAgeInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("MaximumRecordAgeInSeconds", 60)) + } + if s.ParallelizationFactor != nil && *s.ParallelizationFactor < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParallelizationFactor", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -4951,6 +5468,18 @@ func (s *CreateEventSourceMappingInput) SetBatchSize(v int64) *CreateEventSource return s } +// SetBisectBatchOnFunctionError sets the BisectBatchOnFunctionError field's value. +func (s *CreateEventSourceMappingInput) SetBisectBatchOnFunctionError(v bool) *CreateEventSourceMappingInput { + s.BisectBatchOnFunctionError = &v + return s +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *CreateEventSourceMappingInput) SetDestinationConfig(v *DestinationConfig) *CreateEventSourceMappingInput { + s.DestinationConfig = v + return s +} + // SetEnabled sets the Enabled field's value. func (s *CreateEventSourceMappingInput) SetEnabled(v bool) *CreateEventSourceMappingInput { s.Enabled = &v @@ -4975,6 +5504,24 @@ func (s *CreateEventSourceMappingInput) SetMaximumBatchingWindowInSeconds(v int6 return s } +// SetMaximumRecordAgeInSeconds sets the MaximumRecordAgeInSeconds field's value. +func (s *CreateEventSourceMappingInput) SetMaximumRecordAgeInSeconds(v int64) *CreateEventSourceMappingInput { + s.MaximumRecordAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *CreateEventSourceMappingInput) SetMaximumRetryAttempts(v int64) *CreateEventSourceMappingInput { + s.MaximumRetryAttempts = &v + return s +} + +// SetParallelizationFactor sets the ParallelizationFactor field's value. +func (s *CreateEventSourceMappingInput) SetParallelizationFactor(v int64) *CreateEventSourceMappingInput { + s.ParallelizationFactor = &v + return s +} + // SetStartingPosition sets the StartingPosition field's value. func (s *CreateEventSourceMappingInput) SetStartingPosition(v string) *CreateEventSourceMappingInput { s.StartingPosition = &v @@ -4997,7 +5544,7 @@ type CreateFunctionInput struct { // A dead letter queue configuration that specifies the queue or topic where // Lambda sends asynchronous events when they fail processing. For more information, - // see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html). + // see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq). DeadLetterConfig *DeadLetterConfig `type:"structure"` // A description of the function. @@ -5073,7 +5620,7 @@ type CreateFunctionInput struct { // For network connectivity to AWS resources in a VPC, specify a list of security // groups and subnets in the VPC. When you connect a function to a VPC, it can // only access resources and the internet through that VPC. For more information, - // see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/vpc.html). + // see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). VpcConfig *VpcConfig `type:"structure"` } @@ -5222,7 +5769,7 @@ func (s *CreateFunctionInput) SetVpcConfig(v *VpcConfig) *CreateFunctionInput { return s } -// The dead letter queue (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html) +// The dead-letter queue (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq) // for failed asynchronous invocations. type DeadLetterConfig struct { _ struct{} `type:"structure"` @@ -5437,6 +5984,85 @@ func (s DeleteFunctionConcurrencyOutput) GoString() string { return s.String() } +type DeleteFunctionEventInvokeConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the Lambda function, version, or alias. + // + // Name formats + // + // * Function name - my-function (name-only), my-function:v1 (with alias). + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. + // + // * Partial ARN - 123456789012:function:my-function. + // + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` + + // A version number or alias name. + Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteFunctionEventInvokeConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFunctionEventInvokeConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFunctionEventInvokeConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionEventInvokeConfigInput"} + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + if s.Qualifier != nil && len(*s.Qualifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFunctionName sets the FunctionName field's value. +func (s *DeleteFunctionEventInvokeConfigInput) SetFunctionName(v string) *DeleteFunctionEventInvokeConfigInput { + s.FunctionName = &v + return s +} + +// SetQualifier sets the Qualifier field's value. +func (s *DeleteFunctionEventInvokeConfigInput) SetQualifier(v string) *DeleteFunctionEventInvokeConfigInput { + s.Qualifier = &v + return s +} + +type DeleteFunctionEventInvokeConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteFunctionEventInvokeConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFunctionEventInvokeConfigOutput) GoString() string { + return s.String() +} + type DeleteFunctionInput struct { _ struct{} `type:"structure"` @@ -5586,6 +6212,40 @@ func (s DeleteLayerVersionOutput) GoString() string { return s.String() } +// A configuration object that specifies the destination of an event after Lambda +// processes it. +type DestinationConfig struct { + _ struct{} `type:"structure"` + + // The destination configuration for failed invocations. + OnFailure *OnFailure `type:"structure"` + + // The destination configuration for successful invocations. + OnSuccess *OnSuccess `type:"structure"` +} + +// String returns the string representation +func (s DestinationConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DestinationConfig) GoString() string { + return s.String() +} + +// SetOnFailure sets the OnFailure field's value. +func (s *DestinationConfig) SetOnFailure(v *OnFailure) *DestinationConfig { + s.OnFailure = v + return s +} + +// SetOnSuccess sets the OnSuccess field's value. +func (s *DestinationConfig) SetOnSuccess(v *OnSuccess) *DestinationConfig { + s.OnSuccess = v + return s +} + // A function's environment variable settings. type Environment struct { _ struct{} `type:"structure"` @@ -5643,7 +6303,9 @@ func (s *EnvironmentError) SetMessage(v string) *EnvironmentError { return s } -// The results of a configuration update that applied environment variables. +// The results of an operation to update or read environment variables. If the +// operation is successful, the response contains the environment variables. +// If it failed, the response contains details about the error. type EnvironmentResponse struct { _ struct{} `type:"structure"` @@ -5684,25 +6346,46 @@ type EventSourceMappingConfiguration struct { // The maximum number of items to retrieve in a single batch. BatchSize *int64 `min:"1" type:"integer"` + // (Streams) If the function returns an error, split the batch in two and retry. + BisectBatchOnFunctionError *bool `type:"boolean"` + + // (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded + // records. + DestinationConfig *DestinationConfig `type:"structure"` + // The Amazon Resource Name (ARN) of the event source. EventSourceArn *string `type:"string"` // The ARN of the Lambda function. FunctionArn *string `type:"string"` - // The date that the event source mapping was last updated. + // The date that the event source mapping was last updated, or its state changed. LastModified *time.Time `type:"timestamp"` // The result of the last AWS Lambda invocation of your Lambda function. LastProcessingResult *string `type:"string"` + // The maximum amount of time to gather records before invoking the function, + // in seconds. MaximumBatchingWindowInSeconds *int64 `type:"integer"` + // (Streams) The maximum age of a record that Lambda sends to a function for + // processing. + MaximumRecordAgeInSeconds *int64 `min:"60" type:"integer"` + + // (Streams) The maximum number of times to retry when the function returns + // an error. + MaximumRetryAttempts *int64 `type:"integer"` + + // (Streams) The number of batches to process from each shard concurrently. + ParallelizationFactor *int64 `min:"1" type:"integer"` + // The state of the event source mapping. It can be one of the following: Creating, // Enabling, Enabled, Disabling, Disabled, Updating, or Deleting. State *string `type:"string"` - // The cause of the last state change, either User initiated or Lambda initiated. + // Indicates whether the last change to the event source mapping was made by + // a user, or by the Lambda service. StateTransitionReason *string `type:"string"` // The identifier of the event source mapping. @@ -5725,6 +6408,18 @@ func (s *EventSourceMappingConfiguration) SetBatchSize(v int64) *EventSourceMapp return s } +// SetBisectBatchOnFunctionError sets the BisectBatchOnFunctionError field's value. +func (s *EventSourceMappingConfiguration) SetBisectBatchOnFunctionError(v bool) *EventSourceMappingConfiguration { + s.BisectBatchOnFunctionError = &v + return s +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *EventSourceMappingConfiguration) SetDestinationConfig(v *DestinationConfig) *EventSourceMappingConfiguration { + s.DestinationConfig = v + return s +} + // SetEventSourceArn sets the EventSourceArn field's value. func (s *EventSourceMappingConfiguration) SetEventSourceArn(v string) *EventSourceMappingConfiguration { s.EventSourceArn = &v @@ -5755,6 +6450,24 @@ func (s *EventSourceMappingConfiguration) SetMaximumBatchingWindowInSeconds(v in return s } +// SetMaximumRecordAgeInSeconds sets the MaximumRecordAgeInSeconds field's value. +func (s *EventSourceMappingConfiguration) SetMaximumRecordAgeInSeconds(v int64) *EventSourceMappingConfiguration { + s.MaximumRecordAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *EventSourceMappingConfiguration) SetMaximumRetryAttempts(v int64) *EventSourceMappingConfiguration { + s.MaximumRetryAttempts = &v + return s +} + +// SetParallelizationFactor sets the ParallelizationFactor field's value. +func (s *EventSourceMappingConfiguration) SetParallelizationFactor(v int64) *EventSourceMappingConfiguration { + s.ParallelizationFactor = &v + return s +} + // SetState sets the State field's value. func (s *EventSourceMappingConfiguration) SetState(v string) *EventSourceMappingConfiguration { s.State = &v @@ -5910,13 +6623,22 @@ type FunctionConfiguration struct { Handler *string `type:"string"` // The KMS key that's used to encrypt the function's environment variables. - // This key is only returned if you've configured a customer-managed CMK. + // This key is only returned if you've configured a customer managed CMK. KMSKeyArn *string `type:"string"` // The date and time that the function was last updated, in ISO-8601 format // (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD). LastModified *string `type:"string"` + // The status of the last update that was performed on the function. + LastUpdateStatus *string `type:"string" enum:"LastUpdateStatus"` + + // The reason for the last update that was performed on the function. + LastUpdateStatusReason *string `type:"string"` + + // The reason code for the last update that was performed on the function. + LastUpdateStatusReasonCode *string `type:"string" enum:"LastUpdateStatusReasonCode"` + // The function's layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). Layers []*Layer `type:"list"` @@ -5935,6 +6657,17 @@ type FunctionConfiguration struct { // The runtime environment for the Lambda function. Runtime *string `type:"string" enum:"Runtime"` + // The current state of the function. When the state is Inactive, you can reactivate + // the function by invoking it. + State *string `type:"string" enum:"State"` + + // The reason for the function's current state. + StateReason *string `type:"string"` + + // The reason code for the function's current state. When the code is Creating, + // you can't invoke or modify the function. + StateReasonCode *string `type:"string" enum:"StateReasonCode"` + // The amount of time that Lambda allows a function to run before stopping it. Timeout *int64 `min:"1" type:"integer"` @@ -6018,6 +6751,24 @@ func (s *FunctionConfiguration) SetLastModified(v string) *FunctionConfiguration return s } +// SetLastUpdateStatus sets the LastUpdateStatus field's value. +func (s *FunctionConfiguration) SetLastUpdateStatus(v string) *FunctionConfiguration { + s.LastUpdateStatus = &v + return s +} + +// SetLastUpdateStatusReason sets the LastUpdateStatusReason field's value. +func (s *FunctionConfiguration) SetLastUpdateStatusReason(v string) *FunctionConfiguration { + s.LastUpdateStatusReason = &v + return s +} + +// SetLastUpdateStatusReasonCode sets the LastUpdateStatusReasonCode field's value. +func (s *FunctionConfiguration) SetLastUpdateStatusReasonCode(v string) *FunctionConfiguration { + s.LastUpdateStatusReasonCode = &v + return s +} + // SetLayers sets the Layers field's value. func (s *FunctionConfiguration) SetLayers(v []*Layer) *FunctionConfiguration { s.Layers = v @@ -6054,6 +6805,24 @@ func (s *FunctionConfiguration) SetRuntime(v string) *FunctionConfiguration { return s } +// SetState sets the State field's value. +func (s *FunctionConfiguration) SetState(v string) *FunctionConfiguration { + s.State = &v + return s +} + +// SetStateReason sets the StateReason field's value. +func (s *FunctionConfiguration) SetStateReason(v string) *FunctionConfiguration { + s.StateReason = &v + return s +} + +// SetStateReasonCode sets the StateReasonCode field's value. +func (s *FunctionConfiguration) SetStateReasonCode(v string) *FunctionConfiguration { + s.StateReasonCode = &v + return s +} + // SetTimeout sets the Timeout field's value. func (s *FunctionConfiguration) SetTimeout(v int64) *FunctionConfiguration { s.Timeout = &v @@ -6078,6 +6847,75 @@ func (s *FunctionConfiguration) SetVpcConfig(v *VpcConfigResponse) *FunctionConf return s } +type FunctionEventInvokeConfig struct { + _ struct{} `type:"structure"` + + // A destination for events after they have been sent to a function for processing. + // + // Destinations + // + // * Function - The Amazon Resource Name (ARN) of a Lambda function. + // + // * Queue - The ARN of an SQS queue. + // + // * Topic - The ARN of an SNS topic. + // + // * Event Bus - The ARN of an Amazon EventBridge event bus. + DestinationConfig *DestinationConfig `type:"structure"` + + // The Amazon Resource Name (ARN) of the function. + FunctionArn *string `type:"string"` + + // The date and time that the configuration was last updated. + LastModified *time.Time `type:"timestamp"` + + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"` + + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int64 `type:"integer"` +} + +// String returns the string representation +func (s FunctionEventInvokeConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FunctionEventInvokeConfig) GoString() string { + return s.String() +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *FunctionEventInvokeConfig) SetDestinationConfig(v *DestinationConfig) *FunctionEventInvokeConfig { + s.DestinationConfig = v + return s +} + +// SetFunctionArn sets the FunctionArn field's value. +func (s *FunctionEventInvokeConfig) SetFunctionArn(v string) *FunctionEventInvokeConfig { + s.FunctionArn = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *FunctionEventInvokeConfig) SetLastModified(v time.Time) *FunctionEventInvokeConfig { + s.LastModified = &v + return s +} + +// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value. +func (s *FunctionEventInvokeConfig) SetMaximumEventAgeInSeconds(v int64) *FunctionEventInvokeConfig { + s.MaximumEventAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *FunctionEventInvokeConfig) SetMaximumRetryAttempts(v int64) *FunctionEventInvokeConfig { + s.MaximumRetryAttempts = &v + return s +} + type GetAccountSettingsInput struct { _ struct{} `type:"structure"` } @@ -6300,6 +7138,140 @@ func (s *GetFunctionConfigurationInput) SetQualifier(v string) *GetFunctionConfi return s } +type GetFunctionEventInvokeConfigInput struct { + _ struct{} `type:"structure"` + + // The name of the Lambda function, version, or alias. + // + // Name formats + // + // * Function name - my-function (name-only), my-function:v1 (with alias). + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. + // + // * Partial ARN - 123456789012:function:my-function. + // + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` + + // A version number or alias name. + Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` +} + +// String returns the string representation +func (s GetFunctionEventInvokeConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFunctionEventInvokeConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFunctionEventInvokeConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFunctionEventInvokeConfigInput"} + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + if s.Qualifier != nil && len(*s.Qualifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFunctionName sets the FunctionName field's value. +func (s *GetFunctionEventInvokeConfigInput) SetFunctionName(v string) *GetFunctionEventInvokeConfigInput { + s.FunctionName = &v + return s +} + +// SetQualifier sets the Qualifier field's value. +func (s *GetFunctionEventInvokeConfigInput) SetQualifier(v string) *GetFunctionEventInvokeConfigInput { + s.Qualifier = &v + return s +} + +type GetFunctionEventInvokeConfigOutput struct { + _ struct{} `type:"structure"` + + // A destination for events after they have been sent to a function for processing. + // + // Destinations + // + // * Function - The Amazon Resource Name (ARN) of a Lambda function. + // + // * Queue - The ARN of an SQS queue. + // + // * Topic - The ARN of an SNS topic. + // + // * Event Bus - The ARN of an Amazon EventBridge event bus. + DestinationConfig *DestinationConfig `type:"structure"` + + // The Amazon Resource Name (ARN) of the function. + FunctionArn *string `type:"string"` + + // The date and time that the configuration was last updated. + LastModified *time.Time `type:"timestamp"` + + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"` + + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int64 `type:"integer"` +} + +// String returns the string representation +func (s GetFunctionEventInvokeConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFunctionEventInvokeConfigOutput) GoString() string { + return s.String() +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *GetFunctionEventInvokeConfigOutput) SetDestinationConfig(v *DestinationConfig) *GetFunctionEventInvokeConfigOutput { + s.DestinationConfig = v + return s +} + +// SetFunctionArn sets the FunctionArn field's value. +func (s *GetFunctionEventInvokeConfigOutput) SetFunctionArn(v string) *GetFunctionEventInvokeConfigOutput { + s.FunctionArn = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *GetFunctionEventInvokeConfigOutput) SetLastModified(v time.Time) *GetFunctionEventInvokeConfigOutput { + s.LastModified = &v + return s +} + +// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value. +func (s *GetFunctionEventInvokeConfigOutput) SetMaximumEventAgeInSeconds(v int64) *GetFunctionEventInvokeConfigOutput { + s.MaximumEventAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *GetFunctionEventInvokeConfigOutput) SetMaximumRetryAttempts(v int64) *GetFunctionEventInvokeConfigOutput { + s.MaximumRetryAttempts = &v + return s +} + type GetFunctionInput struct { _ struct{} `type:"structure"` @@ -7643,38 +8615,52 @@ func (s *ListEventSourceMappingsOutput) SetNextMarker(v string) *ListEventSource return s } -type ListFunctionsInput struct { +type ListFunctionEventInvokeConfigsInput struct { _ struct{} `type:"structure"` - // Set to ALL to include entries for all published versions of each function. - FunctionVersion *string `location:"querystring" locationName:"FunctionVersion" type:"string" enum:"FunctionVersion"` + // The name of the Lambda function. + // + // Name formats + // + // * Function name - my-function. + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. + // + // * Partial ARN - 123456789012:function:my-function. + // + // The length constraint applies only to the full ARN. If you specify only the + // function name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // Specify the pagination token that's returned by a previous request to retrieve // the next page of results. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // For Lambda@Edge functions, the AWS Region of the master function. For example, - // us-east-2 or ALL. If specified, you must set FunctionVersion to ALL. - MasterRegion *string `location:"querystring" locationName:"MasterRegion" type:"string"` - - // Specify a value between 1 and 50 to limit the number of functions in the - // response. + // The maximum number of configurations to return. MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` } // String returns the string representation -func (s ListFunctionsInput) String() string { +func (s ListFunctionEventInvokeConfigsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListFunctionsInput) GoString() string { +func (s ListFunctionEventInvokeConfigsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListFunctionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListFunctionsInput"} +func (s *ListFunctionEventInvokeConfigsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFunctionEventInvokeConfigsInput"} + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } if s.MaxItems != nil && *s.MaxItems < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) } @@ -7685,80 +8671,172 @@ func (s *ListFunctionsInput) Validate() error { return nil } -// SetFunctionVersion sets the FunctionVersion field's value. -func (s *ListFunctionsInput) SetFunctionVersion(v string) *ListFunctionsInput { - s.FunctionVersion = &v +// SetFunctionName sets the FunctionName field's value. +func (s *ListFunctionEventInvokeConfigsInput) SetFunctionName(v string) *ListFunctionEventInvokeConfigsInput { + s.FunctionName = &v return s } // SetMarker sets the Marker field's value. -func (s *ListFunctionsInput) SetMarker(v string) *ListFunctionsInput { +func (s *ListFunctionEventInvokeConfigsInput) SetMarker(v string) *ListFunctionEventInvokeConfigsInput { s.Marker = &v return s } -// SetMasterRegion sets the MasterRegion field's value. -func (s *ListFunctionsInput) SetMasterRegion(v string) *ListFunctionsInput { - s.MasterRegion = &v - return s -} - // SetMaxItems sets the MaxItems field's value. -func (s *ListFunctionsInput) SetMaxItems(v int64) *ListFunctionsInput { +func (s *ListFunctionEventInvokeConfigsInput) SetMaxItems(v int64) *ListFunctionEventInvokeConfigsInput { s.MaxItems = &v return s } -// A list of Lambda functions. -type ListFunctionsOutput struct { +type ListFunctionEventInvokeConfigsOutput struct { _ struct{} `type:"structure"` - // A list of Lambda functions. - Functions []*FunctionConfiguration `type:"list"` + // A list of configurations. + FunctionEventInvokeConfigs []*FunctionEventInvokeConfig `type:"list"` // The pagination token that's included if more results are available. NextMarker *string `type:"string"` } // String returns the string representation -func (s ListFunctionsOutput) String() string { +func (s ListFunctionEventInvokeConfigsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListFunctionsOutput) GoString() string { +func (s ListFunctionEventInvokeConfigsOutput) GoString() string { return s.String() } -// SetFunctions sets the Functions field's value. -func (s *ListFunctionsOutput) SetFunctions(v []*FunctionConfiguration) *ListFunctionsOutput { - s.Functions = v +// SetFunctionEventInvokeConfigs sets the FunctionEventInvokeConfigs field's value. +func (s *ListFunctionEventInvokeConfigsOutput) SetFunctionEventInvokeConfigs(v []*FunctionEventInvokeConfig) *ListFunctionEventInvokeConfigsOutput { + s.FunctionEventInvokeConfigs = v return s } // SetNextMarker sets the NextMarker field's value. -func (s *ListFunctionsOutput) SetNextMarker(v string) *ListFunctionsOutput { +func (s *ListFunctionEventInvokeConfigsOutput) SetNextMarker(v string) *ListFunctionEventInvokeConfigsOutput { s.NextMarker = &v return s } -type ListLayerVersionsInput struct { +type ListFunctionsInput struct { _ struct{} `type:"structure"` - // A runtime identifier. For example, go1.x. - CompatibleRuntime *string `location:"querystring" locationName:"CompatibleRuntime" type:"string" enum:"Runtime"` - - // The name or Amazon Resource Name (ARN) of the layer. - // - // LayerName is a required field - LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"` + // Set to ALL to include entries for all published versions of each function. + FunctionVersion *string `location:"querystring" locationName:"FunctionVersion" type:"string" enum:"FunctionVersion"` - // A pagination token returned by a previous call. + // Specify the pagination token that's returned by a previous request to retrieve + // the next page of results. Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The maximum number of versions to return. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` -} + // For Lambda@Edge functions, the AWS Region of the master function. For example, + // us-east-2 or ALL. If specified, you must set FunctionVersion to ALL. + MasterRegion *string `location:"querystring" locationName:"MasterRegion" type:"string"` + + // Specify a value between 1 and 50 to limit the number of functions in the + // response. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` +} + +// String returns the string representation +func (s ListFunctionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFunctionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFunctionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFunctionsInput"} + if s.MaxItems != nil && *s.MaxItems < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFunctionVersion sets the FunctionVersion field's value. +func (s *ListFunctionsInput) SetFunctionVersion(v string) *ListFunctionsInput { + s.FunctionVersion = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *ListFunctionsInput) SetMarker(v string) *ListFunctionsInput { + s.Marker = &v + return s +} + +// SetMasterRegion sets the MasterRegion field's value. +func (s *ListFunctionsInput) SetMasterRegion(v string) *ListFunctionsInput { + s.MasterRegion = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *ListFunctionsInput) SetMaxItems(v int64) *ListFunctionsInput { + s.MaxItems = &v + return s +} + +// A list of Lambda functions. +type ListFunctionsOutput struct { + _ struct{} `type:"structure"` + + // A list of Lambda functions. + Functions []*FunctionConfiguration `type:"list"` + + // The pagination token that's included if more results are available. + NextMarker *string `type:"string"` +} + +// String returns the string representation +func (s ListFunctionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFunctionsOutput) GoString() string { + return s.String() +} + +// SetFunctions sets the Functions field's value. +func (s *ListFunctionsOutput) SetFunctions(v []*FunctionConfiguration) *ListFunctionsOutput { + s.Functions = v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *ListFunctionsOutput) SetNextMarker(v string) *ListFunctionsOutput { + s.NextMarker = &v + return s +} + +type ListLayerVersionsInput struct { + _ struct{} `type:"structure"` + + // A runtime identifier. For example, go1.x. + CompatibleRuntime *string `location:"querystring" locationName:"CompatibleRuntime" type:"string" enum:"Runtime"` + + // The name or Amazon Resource Name (ARN) of the layer. + // + // LayerName is a required field + LayerName *string `location:"uri" locationName:"LayerName" min:"1" type:"string" required:"true"` + + // A pagination token returned by a previous call. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // The maximum number of versions to return. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" min:"1" type:"integer"` +} // String returns the string representation func (s ListLayerVersionsInput) String() string { @@ -8101,6 +9179,54 @@ func (s *ListVersionsByFunctionOutput) SetVersions(v []*FunctionConfiguration) * return s } +// A destination for events that failed processing. +type OnFailure struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the destination resource. + Destination *string `type:"string"` +} + +// String returns the string representation +func (s OnFailure) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OnFailure) GoString() string { + return s.String() +} + +// SetDestination sets the Destination field's value. +func (s *OnFailure) SetDestination(v string) *OnFailure { + s.Destination = &v + return s +} + +// A destination for events that were processed successfully. +type OnSuccess struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the destination resource. + Destination *string `type:"string"` +} + +// String returns the string representation +func (s OnSuccess) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OnSuccess) GoString() string { + return s.String() +} + +// SetDestination sets the Destination field's value. +func (s *OnSuccess) SetDestination(v string) *OnSuccess { + s.Destination = &v + return s +} + type PublishLayerVersionInput struct { _ struct{} `type:"structure"` @@ -8458,6 +9584,180 @@ func (s *PutFunctionConcurrencyOutput) SetReservedConcurrentExecutions(v int64) return s } +type PutFunctionEventInvokeConfigInput struct { + _ struct{} `type:"structure"` + + // A destination for events after they have been sent to a function for processing. + // + // Destinations + // + // * Function - The Amazon Resource Name (ARN) of a Lambda function. + // + // * Queue - The ARN of an SQS queue. + // + // * Topic - The ARN of an SNS topic. + // + // * Event Bus - The ARN of an Amazon EventBridge event bus. + DestinationConfig *DestinationConfig `type:"structure"` + + // The name of the Lambda function, version, or alias. + // + // Name formats + // + // * Function name - my-function (name-only), my-function:v1 (with alias). + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. + // + // * Partial ARN - 123456789012:function:my-function. + // + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` + + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"` + + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int64 `type:"integer"` + + // A version number or alias name. + Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` +} + +// String returns the string representation +func (s PutFunctionEventInvokeConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutFunctionEventInvokeConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutFunctionEventInvokeConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutFunctionEventInvokeConfigInput"} + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + if s.MaximumEventAgeInSeconds != nil && *s.MaximumEventAgeInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("MaximumEventAgeInSeconds", 60)) + } + if s.Qualifier != nil && len(*s.Qualifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *PutFunctionEventInvokeConfigInput) SetDestinationConfig(v *DestinationConfig) *PutFunctionEventInvokeConfigInput { + s.DestinationConfig = v + return s +} + +// SetFunctionName sets the FunctionName field's value. +func (s *PutFunctionEventInvokeConfigInput) SetFunctionName(v string) *PutFunctionEventInvokeConfigInput { + s.FunctionName = &v + return s +} + +// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value. +func (s *PutFunctionEventInvokeConfigInput) SetMaximumEventAgeInSeconds(v int64) *PutFunctionEventInvokeConfigInput { + s.MaximumEventAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *PutFunctionEventInvokeConfigInput) SetMaximumRetryAttempts(v int64) *PutFunctionEventInvokeConfigInput { + s.MaximumRetryAttempts = &v + return s +} + +// SetQualifier sets the Qualifier field's value. +func (s *PutFunctionEventInvokeConfigInput) SetQualifier(v string) *PutFunctionEventInvokeConfigInput { + s.Qualifier = &v + return s +} + +type PutFunctionEventInvokeConfigOutput struct { + _ struct{} `type:"structure"` + + // A destination for events after they have been sent to a function for processing. + // + // Destinations + // + // * Function - The Amazon Resource Name (ARN) of a Lambda function. + // + // * Queue - The ARN of an SQS queue. + // + // * Topic - The ARN of an SNS topic. + // + // * Event Bus - The ARN of an Amazon EventBridge event bus. + DestinationConfig *DestinationConfig `type:"structure"` + + // The Amazon Resource Name (ARN) of the function. + FunctionArn *string `type:"string"` + + // The date and time that the configuration was last updated. + LastModified *time.Time `type:"timestamp"` + + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"` + + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int64 `type:"integer"` +} + +// String returns the string representation +func (s PutFunctionEventInvokeConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutFunctionEventInvokeConfigOutput) GoString() string { + return s.String() +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *PutFunctionEventInvokeConfigOutput) SetDestinationConfig(v *DestinationConfig) *PutFunctionEventInvokeConfigOutput { + s.DestinationConfig = v + return s +} + +// SetFunctionArn sets the FunctionArn field's value. +func (s *PutFunctionEventInvokeConfigOutput) SetFunctionArn(v string) *PutFunctionEventInvokeConfigOutput { + s.FunctionArn = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *PutFunctionEventInvokeConfigOutput) SetLastModified(v time.Time) *PutFunctionEventInvokeConfigOutput { + s.LastModified = &v + return s +} + +// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value. +func (s *PutFunctionEventInvokeConfigOutput) SetMaximumEventAgeInSeconds(v int64) *PutFunctionEventInvokeConfigOutput { + s.MaximumEventAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *PutFunctionEventInvokeConfigOutput) SetMaximumRetryAttempts(v int64) *PutFunctionEventInvokeConfigOutput { + s.MaximumRetryAttempts = &v + return s +} + type RemoveLayerVersionPermissionInput struct { _ struct{} `type:"structure"` @@ -8971,6 +10271,13 @@ type UpdateEventSourceMappingInput struct { // * Amazon Simple Queue Service - Default 10. Max 10. BatchSize *int64 `min:"1" type:"integer"` + // (Streams) If the function returns an error, split the batch in two and retry. + BisectBatchOnFunctionError *bool `type:"boolean"` + + // (Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded + // records. + DestinationConfig *DestinationConfig `type:"structure"` + // Disables the event source mapping to pause polling and invocation. Enabled *bool `type:"boolean"` @@ -8990,8 +10297,21 @@ type UpdateEventSourceMappingInput struct { // function name, it's limited to 64 characters in length. FunctionName *string `min:"1" type:"string"` + // The maximum amount of time to gather records before invoking the function, + // in seconds. MaximumBatchingWindowInSeconds *int64 `type:"integer"` + // (Streams) The maximum age of a record that Lambda sends to a function for + // processing. + MaximumRecordAgeInSeconds *int64 `min:"60" type:"integer"` + + // (Streams) The maximum number of times to retry when the function returns + // an error. + MaximumRetryAttempts *int64 `type:"integer"` + + // (Streams) The number of batches to process from each shard concurrently. + ParallelizationFactor *int64 `min:"1" type:"integer"` + // The identifier of the event source mapping. // // UUID is a required field @@ -9017,6 +10337,12 @@ func (s *UpdateEventSourceMappingInput) Validate() error { if s.FunctionName != nil && len(*s.FunctionName) < 1 { invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) } + if s.MaximumRecordAgeInSeconds != nil && *s.MaximumRecordAgeInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("MaximumRecordAgeInSeconds", 60)) + } + if s.ParallelizationFactor != nil && *s.ParallelizationFactor < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParallelizationFactor", 1)) + } if s.UUID == nil { invalidParams.Add(request.NewErrParamRequired("UUID")) } @@ -9036,6 +10362,18 @@ func (s *UpdateEventSourceMappingInput) SetBatchSize(v int64) *UpdateEventSource return s } +// SetBisectBatchOnFunctionError sets the BisectBatchOnFunctionError field's value. +func (s *UpdateEventSourceMappingInput) SetBisectBatchOnFunctionError(v bool) *UpdateEventSourceMappingInput { + s.BisectBatchOnFunctionError = &v + return s +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *UpdateEventSourceMappingInput) SetDestinationConfig(v *DestinationConfig) *UpdateEventSourceMappingInput { + s.DestinationConfig = v + return s +} + // SetEnabled sets the Enabled field's value. func (s *UpdateEventSourceMappingInput) SetEnabled(v bool) *UpdateEventSourceMappingInput { s.Enabled = &v @@ -9054,6 +10392,24 @@ func (s *UpdateEventSourceMappingInput) SetMaximumBatchingWindowInSeconds(v int6 return s } +// SetMaximumRecordAgeInSeconds sets the MaximumRecordAgeInSeconds field's value. +func (s *UpdateEventSourceMappingInput) SetMaximumRecordAgeInSeconds(v int64) *UpdateEventSourceMappingInput { + s.MaximumRecordAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *UpdateEventSourceMappingInput) SetMaximumRetryAttempts(v int64) *UpdateEventSourceMappingInput { + s.MaximumRetryAttempts = &v + return s +} + +// SetParallelizationFactor sets the ParallelizationFactor field's value. +func (s *UpdateEventSourceMappingInput) SetParallelizationFactor(v int64) *UpdateEventSourceMappingInput { + s.ParallelizationFactor = &v + return s +} + // SetUUID sets the UUID field's value. func (s *UpdateEventSourceMappingInput) SetUUID(v string) *UpdateEventSourceMappingInput { s.UUID = &v @@ -9197,7 +10553,7 @@ type UpdateFunctionConfigurationInput struct { // A dead letter queue configuration that specifies the queue or topic where // Lambda sends asynchronous events when they fail processing. For more information, - // see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/dlq.html). + // see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq). DeadLetterConfig *DeadLetterConfig `type:"structure"` // A description of the function. @@ -9265,7 +10621,7 @@ type UpdateFunctionConfigurationInput struct { // For network connectivity to AWS resources in a VPC, specify a list of security // groups and subnets in the VPC. When you connect a function to a VPC, it can // only access resources and the internet through that VPC. For more information, - // see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/vpc.html). + // see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). VpcConfig *VpcConfig `type:"structure"` } @@ -9385,7 +10741,182 @@ func (s *UpdateFunctionConfigurationInput) SetVpcConfig(v *VpcConfig) *UpdateFun return s } +type UpdateFunctionEventInvokeConfigInput struct { + _ struct{} `type:"structure"` + + // A destination for events after they have been sent to a function for processing. + // + // Destinations + // + // * Function - The Amazon Resource Name (ARN) of a Lambda function. + // + // * Queue - The ARN of an SQS queue. + // + // * Topic - The ARN of an SNS topic. + // + // * Event Bus - The ARN of an Amazon EventBridge event bus. + DestinationConfig *DestinationConfig `type:"structure"` + + // The name of the Lambda function, version, or alias. + // + // Name formats + // + // * Function name - my-function (name-only), my-function:v1 (with alias). + // + // * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function. + // + // * Partial ARN - 123456789012:function:my-function. + // + // You can append a version number or alias to any of the formats. The length + // constraint applies only to the full ARN. If you specify only the function + // name, it is limited to 64 characters in length. + // + // FunctionName is a required field + FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` + + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"` + + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int64 `type:"integer"` + + // A version number or alias name. + Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateFunctionEventInvokeConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFunctionEventInvokeConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFunctionEventInvokeConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionEventInvokeConfigInput"} + if s.FunctionName == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionName")) + } + if s.FunctionName != nil && len(*s.FunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionName", 1)) + } + if s.MaximumEventAgeInSeconds != nil && *s.MaximumEventAgeInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("MaximumEventAgeInSeconds", 60)) + } + if s.Qualifier != nil && len(*s.Qualifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *UpdateFunctionEventInvokeConfigInput) SetDestinationConfig(v *DestinationConfig) *UpdateFunctionEventInvokeConfigInput { + s.DestinationConfig = v + return s +} + +// SetFunctionName sets the FunctionName field's value. +func (s *UpdateFunctionEventInvokeConfigInput) SetFunctionName(v string) *UpdateFunctionEventInvokeConfigInput { + s.FunctionName = &v + return s +} + +// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value. +func (s *UpdateFunctionEventInvokeConfigInput) SetMaximumEventAgeInSeconds(v int64) *UpdateFunctionEventInvokeConfigInput { + s.MaximumEventAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *UpdateFunctionEventInvokeConfigInput) SetMaximumRetryAttempts(v int64) *UpdateFunctionEventInvokeConfigInput { + s.MaximumRetryAttempts = &v + return s +} + +// SetQualifier sets the Qualifier field's value. +func (s *UpdateFunctionEventInvokeConfigInput) SetQualifier(v string) *UpdateFunctionEventInvokeConfigInput { + s.Qualifier = &v + return s +} + +type UpdateFunctionEventInvokeConfigOutput struct { + _ struct{} `type:"structure"` + + // A destination for events after they have been sent to a function for processing. + // + // Destinations + // + // * Function - The Amazon Resource Name (ARN) of a Lambda function. + // + // * Queue - The ARN of an SQS queue. + // + // * Topic - The ARN of an SNS topic. + // + // * Event Bus - The ARN of an Amazon EventBridge event bus. + DestinationConfig *DestinationConfig `type:"structure"` + + // The Amazon Resource Name (ARN) of the function. + FunctionArn *string `type:"string"` + + // The date and time that the configuration was last updated. + LastModified *time.Time `type:"timestamp"` + + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int64 `min:"60" type:"integer"` + + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int64 `type:"integer"` +} + +// String returns the string representation +func (s UpdateFunctionEventInvokeConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFunctionEventInvokeConfigOutput) GoString() string { + return s.String() +} + +// SetDestinationConfig sets the DestinationConfig field's value. +func (s *UpdateFunctionEventInvokeConfigOutput) SetDestinationConfig(v *DestinationConfig) *UpdateFunctionEventInvokeConfigOutput { + s.DestinationConfig = v + return s +} + +// SetFunctionArn sets the FunctionArn field's value. +func (s *UpdateFunctionEventInvokeConfigOutput) SetFunctionArn(v string) *UpdateFunctionEventInvokeConfigOutput { + s.FunctionArn = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *UpdateFunctionEventInvokeConfigOutput) SetLastModified(v time.Time) *UpdateFunctionEventInvokeConfigOutput { + s.LastModified = &v + return s +} + +// SetMaximumEventAgeInSeconds sets the MaximumEventAgeInSeconds field's value. +func (s *UpdateFunctionEventInvokeConfigOutput) SetMaximumEventAgeInSeconds(v int64) *UpdateFunctionEventInvokeConfigOutput { + s.MaximumEventAgeInSeconds = &v + return s +} + +// SetMaximumRetryAttempts sets the MaximumRetryAttempts field's value. +func (s *UpdateFunctionEventInvokeConfigOutput) SetMaximumRetryAttempts(v int64) *UpdateFunctionEventInvokeConfigOutput { + s.MaximumRetryAttempts = &v + return s +} + // The VPC security groups and subnets that are attached to a Lambda function. +// For more information, see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). type VpcConfig struct { _ struct{} `type:"structure"` @@ -9487,6 +11018,31 @@ const ( InvocationTypeDryRun = "DryRun" ) +const ( + // LastUpdateStatusSuccessful is a LastUpdateStatus enum value + LastUpdateStatusSuccessful = "Successful" + + // LastUpdateStatusFailed is a LastUpdateStatus enum value + LastUpdateStatusFailed = "Failed" + + // LastUpdateStatusInProgress is a LastUpdateStatus enum value + LastUpdateStatusInProgress = "InProgress" +) + +const ( + // LastUpdateStatusReasonCodeEniLimitExceeded is a LastUpdateStatusReasonCode enum value + LastUpdateStatusReasonCodeEniLimitExceeded = "EniLimitExceeded" + + // LastUpdateStatusReasonCodeInsufficientRolePermissions is a LastUpdateStatusReasonCode enum value + LastUpdateStatusReasonCodeInsufficientRolePermissions = "InsufficientRolePermissions" + + // LastUpdateStatusReasonCodeInvalidConfiguration is a LastUpdateStatusReasonCode enum value + LastUpdateStatusReasonCodeInvalidConfiguration = "InvalidConfiguration" + + // LastUpdateStatusReasonCodeInternalError is a LastUpdateStatusReasonCode enum value + LastUpdateStatusReasonCodeInternalError = "InternalError" +) + const ( // LogTypeNone is a LogType enum value LogTypeNone = "None" @@ -9554,6 +11110,46 @@ const ( RuntimeProvided = "provided" ) +const ( + // StatePending is a State enum value + StatePending = "Pending" + + // StateActive is a State enum value + StateActive = "Active" + + // StateInactive is a State enum value + StateInactive = "Inactive" + + // StateFailed is a State enum value + StateFailed = "Failed" +) + +const ( + // StateReasonCodeIdle is a StateReasonCode enum value + StateReasonCodeIdle = "Idle" + + // StateReasonCodeCreating is a StateReasonCode enum value + StateReasonCodeCreating = "Creating" + + // StateReasonCodeRestoring is a StateReasonCode enum value + StateReasonCodeRestoring = "Restoring" + + // StateReasonCodeEniLimitExceeded is a StateReasonCode enum value + StateReasonCodeEniLimitExceeded = "EniLimitExceeded" + + // StateReasonCodeInsufficientRolePermissions is a StateReasonCode enum value + StateReasonCodeInsufficientRolePermissions = "InsufficientRolePermissions" + + // StateReasonCodeInvalidConfiguration is a StateReasonCode enum value + StateReasonCodeInvalidConfiguration = "InvalidConfiguration" + + // StateReasonCodeInternalError is a StateReasonCode enum value + StateReasonCodeInternalError = "InternalError" + + // StateReasonCodeSubnetOutOfIpaddresses is a StateReasonCode enum value + StateReasonCodeSubnetOutOfIpaddresses = "SubnetOutOfIPAddresses" +) + const ( // ThrottleReasonConcurrentInvocationLimitExceeded is a ThrottleReason enum value ThrottleReasonConcurrentInvocationLimitExceeded = "ConcurrentInvocationLimitExceeded" diff --git a/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go b/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go index e062a386c348..1a7e62ebfd1a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go @@ -33,17 +33,15 @@ const ( // ErrCodeENILimitReachedException for service response error code // "ENILimitReachedException". // - // AWS Lambda was not able to create an Elastic Network Interface (ENI) in the - // VPC, specified as part of Lambda function configuration, because the limit - // for network interfaces has been reached. + // AWS Lambda was not able to create an elastic network interface in the VPC, + // specified as part of Lambda function configuration, because the limit for + // network interfaces has been reached. ErrCodeENILimitReachedException = "ENILimitReachedException" // ErrCodeInvalidParameterValueException for service response error code // "InvalidParameterValueException". // - // One of the parameters in the request is invalid. For example, if you provided - // an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration - // API, that AWS Lambda is unable to assume you will get this exception. + // One of the parameters in the request is invalid. ErrCodeInvalidParameterValueException = "InvalidParameterValueException" // ErrCodeInvalidRequestContentException for service response error code @@ -129,7 +127,7 @@ const ( // ErrCodeResourceConflictException for service response error code // "ResourceConflictException". // - // The resource already exists. + // The resource already exists, or another operation is in progress. ErrCodeResourceConflictException = "ResourceConflictException" // ErrCodeResourceInUseException for service response error code @@ -143,10 +141,16 @@ const ( // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // - // The resource (for example, a Lambda function or access policy statement) - // specified in the request does not exist. + // The resource specified in the request does not exist. ErrCodeResourceNotFoundException = "ResourceNotFoundException" + // ErrCodeResourceNotReadyException for service response error code + // "ResourceNotReadyException". + // + // The function is inactive and its VPC connection is no longer available. Wait + // for the VPC connection to reestablish and try again. + ErrCodeResourceNotReadyException = "ResourceNotReadyException" + // ErrCodeServiceException for service response error code // "ServiceException". // @@ -163,7 +167,7 @@ const ( // ErrCodeTooManyRequestsException for service response error code // "TooManyRequestsException". // - // Request throughput limit exceeded. + // The request throughput limit was exceeded. ErrCodeTooManyRequestsException = "TooManyRequestsException" // ErrCodeUnsupportedMediaTypeException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/lambda/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/lambda/waiters.go index 8c55f9f32d15..e9ec3d444827 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lambda/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lambda/waiters.go @@ -9,6 +9,62 @@ import ( "github.com/aws/aws-sdk-go/aws/request" ) +// WaitUntilFunctionActive uses the AWS Lambda API operation +// GetFunctionConfiguration to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *Lambda) WaitUntilFunctionActive(input *GetFunctionConfigurationInput) error { + return c.WaitUntilFunctionActiveWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilFunctionActiveWithContext is an extended version of WaitUntilFunctionActive. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// 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 *Lambda) WaitUntilFunctionActiveWithContext(ctx aws.Context, input *GetFunctionConfigurationInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilFunctionActive", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "Active", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "Failed", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "Pending", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *GetFunctionConfigurationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetFunctionConfigurationRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + // WaitUntilFunctionExists uses the AWS Lambda API operation // GetFunction to wait for a condition to be met before returning. // If the condition is not met within the max attempt window, an error will @@ -59,3 +115,59 @@ func (c *Lambda) WaitUntilFunctionExistsWithContext(ctx aws.Context, input *GetF return w.WaitWithContext(ctx) } + +// WaitUntilFunctionUpdated uses the AWS Lambda API operation +// GetFunctionConfiguration to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *Lambda) WaitUntilFunctionUpdated(input *GetFunctionConfigurationInput) error { + return c.WaitUntilFunctionUpdatedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilFunctionUpdatedWithContext is an extended version of WaitUntilFunctionUpdated. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// 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 *Lambda) WaitUntilFunctionUpdatedWithContext(ctx aws.Context, input *GetFunctionConfigurationInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilFunctionUpdated", + MaxAttempts: 60, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "LastUpdateStatus", + Expected: "Successful", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "LastUpdateStatus", + Expected: "Failed", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "LastUpdateStatus", + Expected: "InProgress", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *GetFunctionConfigurationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetFunctionConfigurationRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/api.go index f99d0efabb86..83259744d81d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/api.go @@ -383,7 +383,13 @@ func (c *LexModelBuildingService) DeleteBotRequest(input *DeleteBotInput) (req * // DeleteBot API operation for Amazon Lex Model Building Service. // // Deletes all versions of the bot, including the $LATEST version. To delete -// a specific version of the bot, use the DeleteBotVersion operation. +// a specific version of the bot, use the DeleteBotVersion operation. The DeleteBot +// operation doesn't immediately remove the bot schema. Instead, it is marked +// for deletion and removed later. +// +// Amazon Lex stores utterances indefinitely for improving the ability of your +// bot to respond to user inputs. These utterances are not removed when the +// bot is deleted. To remove the utterances, use the DeleteUtterances operation. // // If a bot has an alias, you can't delete it. Instead, the DeleteBot operation // returns a ResourceInUseException exception that includes a reference to the @@ -1289,8 +1295,11 @@ func (c *LexModelBuildingService) DeleteUtterancesRequest(input *DeleteUtterance // then stored indefinitely for use in improving the ability of your bot to // respond to user input. // -// Use the DeleteStoredUtterances operation to manually delete stored utterances -// for a specific user. +// Use the DeleteUtterances operation to manually delete stored utterances for +// a specific user. When you use the DeleteUtterances operation, utterances +// stored for improving your bot's ability to respond to user input are deleted +// immediately. Utterances stored for use with the GetUtterancesView operation +// are deleted after 15 days. // // This operation requires permissions for the lex:DeleteUtterances action. // @@ -3667,9 +3676,13 @@ func (c *LexModelBuildingService) GetUtterancesViewRequest(input *GetUtterancesV // two versions. // // Utterance statistics are generated once a day. Data is available for the -// last 15 days. You can request information for up to 5 versions in each request. -// The response contains information about a maximum of 100 utterances for each -// version. +// last 15 days. You can request information for up to 5 versions of your bot +// in each request. Amazon Lex returns the most frequent utterances received +// by the bot in the last 15 days. The response contains information about a +// maximum of 100 utterances for each version. +// +// If you set childDirected field to true when you created your bot, or if you +// opted out of participating in improving Amazon Lex, utterances are not available. // // This operation requires permissions for the lex:GetUtterancesView action. // @@ -3774,7 +3787,7 @@ func (c *LexModelBuildingService) PutBotRequest(input *PutBotInput) (req *reques // an exception. // // This operation requires permissions for the lex:PutBot action. For more information, -// see auth-and-access-control. +// see security-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 @@ -4764,6 +4777,10 @@ type CreateBotVersionOutput struct { // A description of the bot. Description *string `locationName:"description" type:"string"` + // Indicates whether utterances entered by the user should be sent to Amazon + // Comprehend for sentiment analysis. + DetectSentiment *bool `locationName:"detectSentiment" type:"boolean"` + // If status is FAILED, Amazon Lex provides the reason that it failed to build // the bot. FailureReason *string `locationName:"failureReason" type:"string"` @@ -4844,6 +4861,12 @@ func (s *CreateBotVersionOutput) SetDescription(v string) *CreateBotVersionOutpu return s } +// SetDetectSentiment sets the DetectSentiment field's value. +func (s *CreateBotVersionOutput) SetDetectSentiment(v bool) *CreateBotVersionOutput { + s.DetectSentiment = &v + return s +} + // SetFailureReason sets the FailureReason field's value. func (s *CreateBotVersionOutput) SetFailureReason(v string) *CreateBotVersionOutput { s.FailureReason = &v @@ -6742,6 +6765,10 @@ type GetBotOutput struct { // A description of the bot. Description *string `locationName:"description" type:"string"` + // Indicates whether user utterances should be sent to Amazon Comprehend for + // sentiment analysis. + DetectSentiment *bool `locationName:"detectSentiment" type:"boolean"` + // If status is FAILED, Amazon Lex explains why it failed to build the bot. FailureReason *string `locationName:"failureReason" type:"string"` @@ -6762,10 +6789,19 @@ type GetBotOutput struct { // The name of the bot. Name *string `locationName:"name" min:"2" type:"string"` - // The status of the bot. If the bot is ready to run, the status is READY. If - // there was a problem with building the bot, the status is FAILED and the failureReason - // explains why the bot did not build. If the bot was saved but not built, the - // status is NOT BUILT. + // The status of the bot. + // + // When the status is BUILDING Amazon Lex is building the bot for testing and + // use. + // + // If the status of the bot is READY_BASIC_TESTING, you can test the bot using + // the exact utterances specified in the bot's intents. When the bot is ready + // for full testing or to run, the status is READY. + // + // If there was a problem with building the bot, the status is FAILED and the + // failureReason field explains why the bot did not build. + // + // If the bot was saved but not built, the status is NOT_BUILT. Status *string `locationName:"status" type:"string" enum:"Status"` // The version of the bot. For a new bot, the version is always $LATEST. @@ -6822,6 +6858,12 @@ func (s *GetBotOutput) SetDescription(v string) *GetBotOutput { return s } +// SetDetectSentiment sets the DetectSentiment field's value. +func (s *GetBotOutput) SetDetectSentiment(v bool) *GetBotOutput { + s.DetectSentiment = &v + return s +} + // SetFailureReason sets the FailureReason field's value. func (s *GetBotOutput) SetFailureReason(v string) *GetBotOutput { s.FailureReason = &v @@ -8429,7 +8471,7 @@ type GetUtterancesViewInput struct { // BotVersions is a required field BotVersions []*string `location:"querystring" locationName:"bot_versions" min:"1" type:"list" required:"true"` - // To return utterances that were recognized and handled, useDetected. To return + // To return utterances that were recognized and handled, use Detected. To return // utterances that were not recognized, use Missed. // // StatusType is a required field @@ -8497,7 +8539,9 @@ type GetUtterancesViewOutput struct { // An array of UtteranceList objects, each containing a list of UtteranceData // objects describing the utterances that were processed by your bot. The response - // contains a maximum of 100 UtteranceData objects for each version. + // contains a maximum of 100 UtteranceData objects for each version. Amazon + // Lex returns the most frequent utterances received by the bot in the last + // 15 days. Utterances []*UtteranceList `locationName:"utterances" type:"list"` } @@ -8997,6 +9041,10 @@ type PutBotInput struct { // For example, in a pizza ordering application, OrderPizza might be one of // the intents. This intent might require the CrustType slot. You specify the // valueElicitationPrompt field when you create the CrustType slot. + // + // If you have defined a fallback intent the abort statement will not be sent + // to the user, the fallback intent is used instead. For more information, see + // AMAZON.FallbackIntent (https://docs.aws.amazon.com/lex/latest/dg/built-in-intent-fallback.html). AbortStatement *Statement `locationName:"abortStatement" type:"structure"` // Identifies a specific revision of the $LATEST version. @@ -9038,7 +9086,7 @@ type PutBotInput struct { ChildDirected *bool `locationName:"childDirected" type:"boolean" required:"true"` // When Amazon Lex doesn't understand the user's intent, it uses this message - // to get clarification. To specify how many times Amazon Lex should repeate + // to get clarification. To specify how many times Amazon Lex should repeat // the clarification prompt, use the maxAttempts field. If Amazon Lex still // doesn't understand, it sends the message in the abortStatement field. // @@ -9046,13 +9094,41 @@ type PutBotInput struct { // response from the user. for example, for a bot that orders pizza and drinks, // you might create this clarification prompt: "What would you like to do? You // can say 'Order a pizza' or 'Order a drink.'" + // + // If you have defined a fallback intent, it will be invoked if the clarification + // prompt is repeated the number of times defined in the maxAttempts field. + // For more information, see AMAZON.FallbackIntent (https://docs.aws.amazon.com/lex/latest/dg/built-in-intent-fallback.html). + // + // If you don't define a clarification prompt, at runtime Amazon Lex will return + // a 400 Bad Request exception in three cases: + // + // * Follow-up prompt - When the user responds to a follow-up prompt but + // does not provide an intent. For example, in response to a follow-up prompt + // that says "Would you like anything else today?" the user says "Yes." Amazon + // Lex will return a 400 Bad Request exception because it does not have a + // clarification prompt to send to the user to get an intent. + // + // * Lambda function - When using a Lambda function, you return an ElicitIntent + // dialog type. Since Amazon Lex does not have a clarification prompt to + // get an intent from the user, it returns a 400 Bad Request exception. + // + // * PutSession operation - When using the PutSession operation, you send + // an ElicitIntent dialog type. Since Amazon Lex does not have a clarification + // prompt to get an intent from the user, it returns a 400 Bad Request exception. ClarificationPrompt *Prompt `locationName:"clarificationPrompt" type:"structure"` + // When set to true a new numbered version of the bot is created. This is the + // same as calling the CreateBotVersion operation. If you don't specify createVersion, + // the default is false. CreateVersion *bool `locationName:"createVersion" type:"boolean"` // A description of the bot. Description *string `locationName:"description" type:"string"` + // When set to true user utterances are sent to Amazon Comprehend for sentiment + // analysis. If you don't specify detectSentiment, the default is false. + DetectSentiment *bool `locationName:"detectSentiment" type:"boolean"` + // The maximum time in seconds that Amazon Lex retains the data gathered in // a conversation. // @@ -9099,7 +9175,7 @@ type PutBotInput struct { // The Amazon Polly voice ID that you want Amazon Lex to use for voice interactions // with the user. The locale configured for the voice must match the locale - // of the bot. For more information, see Available Voices (http://docs.aws.amazon.com/polly/latest/dg/voicelist.html) + // of the bot. For more information, see Voices in Amazon Polly (https://docs.aws.amazon.com/polly/latest/dg/voicelist.html) // in the Amazon Polly Developer Guide. VoiceId *string `locationName:"voiceId" type:"string"` } @@ -9195,6 +9271,12 @@ func (s *PutBotInput) SetDescription(v string) *PutBotInput { return s } +// SetDetectSentiment sets the DetectSentiment field's value. +func (s *PutBotInput) SetDetectSentiment(v bool) *PutBotInput { + s.DetectSentiment = &v + return s +} + // SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value. func (s *PutBotInput) SetIdleSessionTTLInSeconds(v int64) *PutBotInput { s.IdleSessionTTLInSeconds = &v @@ -9270,6 +9352,9 @@ type PutBotOutput struct { // For more information, see PutBot. ClarificationPrompt *Prompt `locationName:"clarificationPrompt" type:"structure"` + // True if a new version of the bot was created. If the createVersion field + // was not specified in the request, the createVersion field is set to false + // in the response. CreateVersion *bool `locationName:"createVersion" type:"boolean"` // The date that the bot was created. @@ -9278,6 +9363,11 @@ type PutBotOutput struct { // A description of the bot. Description *string `locationName:"description" type:"string"` + // true if the bot is configured to send user utterances to Amazon Comprehend + // for sentiment analysis. If the detectSentiment field was not specified in + // the request, the detectSentiment field is false in the response. + DetectSentiment *bool `locationName:"detectSentiment" type:"boolean"` + // If status is FAILED, Amazon Lex provides the reason that it failed to build // the bot. FailureReason *string `locationName:"failureReason" type:"string"` @@ -9300,13 +9390,19 @@ type PutBotOutput struct { Name *string `locationName:"name" min:"2" type:"string"` // When you send a request to create a bot with processBehavior set to BUILD, - // Amazon Lex sets the status response element to BUILDING. After Amazon Lex - // builds the bot, it sets status to READY. If Amazon Lex can't build the bot, - // Amazon Lex sets status to FAILED. Amazon Lex returns the reason for the failure - // in the failureReason response element. + // Amazon Lex sets the status response element to BUILDING. + // + // In the READY_BASIC_TESTING state you can test the bot with user inputs that + // exactly match the utterances configured for the bot's intents and values + // in the slot types. + // + // If Amazon Lex can't build the bot, Amazon Lex sets status to FAILED. Amazon + // Lex returns the reason for the failure in the failureReason response element. // - // When you set processBehaviorto SAVE, Amazon Lex sets the status code to NOT - // BUILT. + // When you set processBehavior to SAVE, Amazon Lex sets the status code to + // NOT BUILT. + // + // When the bot is in the READY state you can test and publish the bot. Status *string `locationName:"status" type:"string" enum:"Status"` // The version of the bot. For a new bot, the version is always $LATEST. @@ -9369,6 +9465,12 @@ func (s *PutBotOutput) SetDescription(v string) *PutBotOutput { return s } +// SetDetectSentiment sets the DetectSentiment field's value. +func (s *PutBotOutput) SetDetectSentiment(v bool) *PutBotOutput { + s.DetectSentiment = &v + return s +} + // SetFailureReason sets the FailureReason field's value. func (s *PutBotOutput) SetFailureReason(v string) *PutBotOutput { s.FailureReason = &v @@ -9461,6 +9563,9 @@ type PutIntentInput struct { // or neither. ConfirmationPrompt *Prompt `locationName:"confirmationPrompt" type:"structure"` + // When set to true a new numbered version of the intent is created. This is + // the same as calling the CreateIntentVersion operation. If you do not specify + // createVersion, the default is false. CreateVersion *bool `locationName:"createVersion" type:"boolean"` // A description of the intent. @@ -9702,6 +9807,9 @@ type PutIntentOutput struct { // before fulfilling it. ConfirmationPrompt *Prompt `locationName:"confirmationPrompt" type:"structure"` + // True if a new version of the intent was created. If the createVersion field + // was not specified in the request, the createVersion field is set to false + // in the response. CreateVersion *bool `locationName:"createVersion" type:"boolean"` // The date that the intent was created. @@ -9867,6 +9975,9 @@ type PutSlotTypeInput struct { // you get a PreconditionFailedException exception. Checksum *string `locationName:"checksum" type:"string"` + // When set to true a new numbered version of the slot type is created. This + // is the same as calling the CreateSlotTypeVersion operation. If you do not + // specify createVersion, the default is false. CreateVersion *bool `locationName:"createVersion" type:"boolean"` // A description of the slot type. @@ -9992,6 +10103,9 @@ type PutSlotTypeOutput struct { // Checksum of the $LATEST version of the slot type. Checksum *string `locationName:"checksum" type:"string"` + // True if a new version of the slot type was created. If the createVersion + // field was not specified in the request, the createVersion field is set to + // false in the response. CreateVersion *bool `locationName:"createVersion" type:"boolean"` // The date that the slot type was created. 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 52c439362652..c56f9e46a894 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 @@ -6671,6 +6671,11 @@ type DvbSubDestinationSettings struct { // burn-in and DVB-Sub font settings must match. ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` + // Specify whether your DVB subtitles are standard or for hearing impaired. + // Choose hearing impaired if your subtitles include audio descriptions and + // dialogue. Choose standard if your subtitles include only dialogue. + SubtitlingType *string `locationName:"subtitlingType" type:"string" enum:"DvbSubtitlingType"` + // Only applies to jobs with input captions in Teletext or STL formats. Specify // whether the spacing between letters in your captions is set by the captions // grid or varies depending on letter width. Choose fixed grid to conform to @@ -6810,6 +6815,12 @@ func (s *DvbSubDestinationSettings) SetShadowYOffset(v int64) *DvbSubDestination return s } +// SetSubtitlingType sets the SubtitlingType field's value. +func (s *DvbSubDestinationSettings) SetSubtitlingType(v string) *DvbSubDestinationSettings { + s.SubtitlingType = &v + return s +} + // SetTeletextSpacing sets the TeletextSpacing field's value. func (s *DvbSubDestinationSettings) SetTeletextSpacing(v string) *DvbSubDestinationSettings { s.TeletextSpacing = &v @@ -17229,6 +17240,13 @@ func (s *VideoPreprocessor) SetTimecodeBurnin(v *TimecodeBurnin) *VideoPreproces type VideoSelector struct { _ struct{} `type:"structure"` + // Ignore this setting unless this input is a QuickTime animation. Specify which + // part of this input MediaConvert uses for your outputs. Leave this setting + // set to DISCARD in order to delete the alpha channel and preserve the video. + // Use REMAP_TO_LUMA for this setting to delete the video and map the alpha + // channel to the luma channel of your outputs. + AlphaBehavior *string `locationName:"alphaBehavior" type:"string" enum:"AlphaBehavior"` + // If your input video has accurate color space metadata, or if you don't know // about color space, leave this set to the default value Follow (FOLLOW). The // service will automatically detect your input color space. If your input video @@ -17312,6 +17330,12 @@ func (s *VideoSelector) Validate() error { return nil } +// SetAlphaBehavior sets the AlphaBehavior field's value. +func (s *VideoSelector) SetAlphaBehavior(v string) *VideoSelector { + s.AlphaBehavior = &v + return s +} + // SetColorSpace sets the ColorSpace field's value. func (s *VideoSelector) SetColorSpace(v string) *VideoSelector { s.ColorSpace = &v @@ -17653,6 +17677,19 @@ const ( AfdSignalingFixed = "FIXED" ) +// Ignore this setting unless this input is a QuickTime animation. Specify which +// part of this input MediaConvert uses for your outputs. Leave this setting +// set to DISCARD in order to delete the alpha channel and preserve the video. +// Use REMAP_TO_LUMA for this setting to delete the video and map the alpha +// channel to the luma channel of your outputs. +const ( + // AlphaBehaviorDiscard is a AlphaBehavior enum value + AlphaBehaviorDiscard = "DISCARD" + + // AlphaBehaviorRemapToLuma is a AlphaBehavior enum value + AlphaBehaviorRemapToLuma = "REMAP_TO_LUMA" +) + // Specify whether this set of input captions appears in your outputs in both // 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes // the captions data in two ways: it passes the 608 data through using the 608 @@ -18533,6 +18570,17 @@ const ( DvbSubtitleTeletextSpacingProportional = "PROPORTIONAL" ) +// Specify whether your DVB subtitles are standard or for hearing impaired. +// Choose hearing impaired if your subtitles include audio descriptions and +// dialogue. Choose standard if your subtitles include only dialogue. +const ( + // DvbSubtitlingTypeHearingImpaired is a DvbSubtitlingType enum value + DvbSubtitlingTypeHearingImpaired = "HEARING_IMPAIRED" + + // DvbSubtitlingTypeStandard is a DvbSubtitlingType enum value + DvbSubtitlingTypeStandard = "STANDARD" +) + // Specify the bitstream mode for the E-AC-3 stream that the encoder emits. // For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex // E). diff --git a/vendor/github.com/aws/aws-sdk-go/service/medialive/api.go b/vendor/github.com/aws/aws-sdk-go/service/medialive/api.go index 84f7d8662f60..cd765ffe6748 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/medialive/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/medialive/api.go @@ -372,6 +372,190 @@ func (c *MediaLive) CreateInputSecurityGroupWithContext(ctx aws.Context, input * return out, req.Send() } +const opCreateMultiplex = "CreateMultiplex" + +// CreateMultiplexRequest generates a "aws/request.Request" representing the +// client's request for the CreateMultiplex 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 CreateMultiplex for more information on using the CreateMultiplex +// 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 CreateMultiplexRequest method. +// req, resp := client.CreateMultiplexRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateMultiplex +func (c *MediaLive) CreateMultiplexRequest(input *CreateMultiplexInput) (req *request.Request, output *CreateMultiplexOutput) { + op := &request.Operation{ + Name: opCreateMultiplex, + HTTPMethod: "POST", + HTTPPath: "/prod/multiplexes", + } + + if input == nil { + input = &CreateMultiplexInput{} + } + + output = &CreateMultiplexOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateMultiplex API operation for AWS Elemental MediaLive. +// +// Create a new multiplex. +// +// 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 Elemental MediaLive's +// API operation CreateMultiplex for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateMultiplex +func (c *MediaLive) CreateMultiplex(input *CreateMultiplexInput) (*CreateMultiplexOutput, error) { + req, out := c.CreateMultiplexRequest(input) + return out, req.Send() +} + +// CreateMultiplexWithContext is the same as CreateMultiplex with the addition of +// the ability to pass a context and additional request options. +// +// See CreateMultiplex 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 *MediaLive) CreateMultiplexWithContext(ctx aws.Context, input *CreateMultiplexInput, opts ...request.Option) (*CreateMultiplexOutput, error) { + req, out := c.CreateMultiplexRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateMultiplexProgram = "CreateMultiplexProgram" + +// CreateMultiplexProgramRequest generates a "aws/request.Request" representing the +// client's request for the CreateMultiplexProgram 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 CreateMultiplexProgram for more information on using the CreateMultiplexProgram +// 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 CreateMultiplexProgramRequest method. +// req, resp := client.CreateMultiplexProgramRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateMultiplexProgram +func (c *MediaLive) CreateMultiplexProgramRequest(input *CreateMultiplexProgramInput) (req *request.Request, output *CreateMultiplexProgramOutput) { + op := &request.Operation{ + Name: opCreateMultiplexProgram, + HTTPMethod: "POST", + HTTPPath: "/prod/multiplexes/{multiplexId}/programs", + } + + if input == nil { + input = &CreateMultiplexProgramInput{} + } + + output = &CreateMultiplexProgramOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateMultiplexProgram API operation for AWS Elemental MediaLive. +// +// Create a new program in the multiplex. +// +// 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 Elemental MediaLive's +// API operation CreateMultiplexProgram for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateMultiplexProgram +func (c *MediaLive) CreateMultiplexProgram(input *CreateMultiplexProgramInput) (*CreateMultiplexProgramOutput, error) { + req, out := c.CreateMultiplexProgramRequest(input) + return out, req.Send() +} + +// CreateMultiplexProgramWithContext is the same as CreateMultiplexProgram with the addition of +// the ability to pass a context and additional request options. +// +// See CreateMultiplexProgram 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 *MediaLive) CreateMultiplexProgramWithContext(ctx aws.Context, input *CreateMultiplexProgramInput, opts ...request.Option) (*CreateMultiplexProgramOutput, error) { + req, out := c.CreateMultiplexProgramRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateTags = "CreateTags" // CreateTagsRequest generates a "aws/request.Request" representing the @@ -733,58 +917,58 @@ func (c *MediaLive) DeleteInputSecurityGroupWithContext(ctx aws.Context, input * return out, req.Send() } -const opDeleteReservation = "DeleteReservation" +const opDeleteMultiplex = "DeleteMultiplex" -// DeleteReservationRequest generates a "aws/request.Request" representing the -// client's request for the DeleteReservation operation. The "output" return +// DeleteMultiplexRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMultiplex 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 DeleteReservation for more information on using the DeleteReservation +// See DeleteMultiplex for more information on using the DeleteMultiplex // 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 DeleteReservationRequest method. -// req, resp := client.DeleteReservationRequest(params) +// // Example sending a request using the DeleteMultiplexRequest method. +// req, resp := client.DeleteMultiplexRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteReservation -func (c *MediaLive) DeleteReservationRequest(input *DeleteReservationInput) (req *request.Request, output *DeleteReservationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteMultiplex +func (c *MediaLive) DeleteMultiplexRequest(input *DeleteMultiplexInput) (req *request.Request, output *DeleteMultiplexOutput) { op := &request.Operation{ - Name: opDeleteReservation, + Name: opDeleteMultiplex, HTTPMethod: "DELETE", - HTTPPath: "/prod/reservations/{reservationId}", + HTTPPath: "/prod/multiplexes/{multiplexId}", } if input == nil { - input = &DeleteReservationInput{} + input = &DeleteMultiplexInput{} } - output = &DeleteReservationOutput{} + output = &DeleteMultiplexOutput{} req = c.newRequest(op, input, output) return } -// DeleteReservation API operation for AWS Elemental MediaLive. +// DeleteMultiplex API operation for AWS Elemental MediaLive. // -// Delete an expired reservation. +// Delete a multiplex. The multiplex must be idle. // // 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 Elemental MediaLive's -// API operation DeleteReservation for usage and error information. +// API operation DeleteMultiplex for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -803,81 +987,80 @@ func (c *MediaLive) DeleteReservationRequest(input *DeleteReservationInput) (req // // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteReservation -func (c *MediaLive) DeleteReservation(input *DeleteReservationInput) (*DeleteReservationOutput, error) { - req, out := c.DeleteReservationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteMultiplex +func (c *MediaLive) DeleteMultiplex(input *DeleteMultiplexInput) (*DeleteMultiplexOutput, error) { + req, out := c.DeleteMultiplexRequest(input) return out, req.Send() } -// DeleteReservationWithContext is the same as DeleteReservation with the addition of +// DeleteMultiplexWithContext is the same as DeleteMultiplex with the addition of // the ability to pass a context and additional request options. // -// See DeleteReservation for details on how to use this API operation. +// See DeleteMultiplex 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 *MediaLive) DeleteReservationWithContext(ctx aws.Context, input *DeleteReservationInput, opts ...request.Option) (*DeleteReservationOutput, error) { - req, out := c.DeleteReservationRequest(input) +func (c *MediaLive) DeleteMultiplexWithContext(ctx aws.Context, input *DeleteMultiplexInput, opts ...request.Option) (*DeleteMultiplexOutput, error) { + req, out := c.DeleteMultiplexRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteSchedule = "DeleteSchedule" +const opDeleteMultiplexProgram = "DeleteMultiplexProgram" -// DeleteScheduleRequest generates a "aws/request.Request" representing the -// client's request for the DeleteSchedule operation. The "output" return +// DeleteMultiplexProgramRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMultiplexProgram 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 DeleteSchedule for more information on using the DeleteSchedule +// See DeleteMultiplexProgram for more information on using the DeleteMultiplexProgram // 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 DeleteScheduleRequest method. -// req, resp := client.DeleteScheduleRequest(params) +// // Example sending a request using the DeleteMultiplexProgramRequest method. +// req, resp := client.DeleteMultiplexProgramRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteSchedule -func (c *MediaLive) DeleteScheduleRequest(input *DeleteScheduleInput) (req *request.Request, output *DeleteScheduleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteMultiplexProgram +func (c *MediaLive) DeleteMultiplexProgramRequest(input *DeleteMultiplexProgramInput) (req *request.Request, output *DeleteMultiplexProgramOutput) { op := &request.Operation{ - Name: opDeleteSchedule, + Name: opDeleteMultiplexProgram, HTTPMethod: "DELETE", - HTTPPath: "/prod/channels/{channelId}/schedule", + HTTPPath: "/prod/multiplexes/{multiplexId}/programs/{programName}", } if input == nil { - input = &DeleteScheduleInput{} + input = &DeleteMultiplexProgramInput{} } - output = &DeleteScheduleOutput{} + output = &DeleteMultiplexProgramOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteSchedule API operation for AWS Elemental MediaLive. +// DeleteMultiplexProgram API operation for AWS Elemental MediaLive. // -// Delete all schedule actions on a channel. +// Delete a program from a multiplex. // // 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 Elemental MediaLive's -// API operation DeleteSchedule for usage and error information. +// API operation DeleteMultiplexProgram for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -894,132 +1077,317 @@ func (c *MediaLive) DeleteScheduleRequest(input *DeleteScheduleInput) (req *requ // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteSchedule -func (c *MediaLive) DeleteSchedule(input *DeleteScheduleInput) (*DeleteScheduleOutput, error) { - req, out := c.DeleteScheduleRequest(input) +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteMultiplexProgram +func (c *MediaLive) DeleteMultiplexProgram(input *DeleteMultiplexProgramInput) (*DeleteMultiplexProgramOutput, error) { + req, out := c.DeleteMultiplexProgramRequest(input) return out, req.Send() } -// DeleteScheduleWithContext is the same as DeleteSchedule with the addition of +// DeleteMultiplexProgramWithContext is the same as DeleteMultiplexProgram with the addition of // the ability to pass a context and additional request options. // -// See DeleteSchedule for details on how to use this API operation. +// See DeleteMultiplexProgram 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 *MediaLive) DeleteScheduleWithContext(ctx aws.Context, input *DeleteScheduleInput, opts ...request.Option) (*DeleteScheduleOutput, error) { - req, out := c.DeleteScheduleRequest(input) +func (c *MediaLive) DeleteMultiplexProgramWithContext(ctx aws.Context, input *DeleteMultiplexProgramInput, opts ...request.Option) (*DeleteMultiplexProgramOutput, error) { + req, out := c.DeleteMultiplexProgramRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteTags = "DeleteTags" +const opDeleteReservation = "DeleteReservation" -// DeleteTagsRequest generates a "aws/request.Request" representing the -// client's request for the DeleteTags operation. The "output" return +// DeleteReservationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReservation 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 DeleteTags for more information on using the DeleteTags +// See DeleteReservation for more information on using the DeleteReservation // 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 DeleteTagsRequest method. -// req, resp := client.DeleteTagsRequest(params) +// // Example sending a request using the DeleteReservationRequest method. +// req, resp := client.DeleteReservationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags -func (c *MediaLive) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteReservation +func (c *MediaLive) DeleteReservationRequest(input *DeleteReservationInput) (req *request.Request, output *DeleteReservationOutput) { op := &request.Operation{ - Name: opDeleteTags, + Name: opDeleteReservation, HTTPMethod: "DELETE", - HTTPPath: "/prod/tags/{resource-arn}", + HTTPPath: "/prod/reservations/{reservationId}", } if input == nil { - input = &DeleteTagsInput{} + input = &DeleteReservationInput{} } - output = &DeleteTagsOutput{} + output = &DeleteReservationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteTags API operation for AWS Elemental MediaLive. +// DeleteReservation API operation for AWS Elemental MediaLive. // -// Removes tags for a resource +// Delete an expired reservation. // // 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 Elemental MediaLive's -// API operation DeleteTags for usage and error information. +// API operation DeleteReservation for usage and error information. // // Returned Error Codes: -// * ErrCodeNotFoundException "NotFoundException" -// // * ErrCodeBadRequestException "BadRequestException" // // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags -func (c *MediaLive) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { - req, out := c.DeleteTagsRequest(input) +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteReservation +func (c *MediaLive) DeleteReservation(input *DeleteReservationInput) (*DeleteReservationOutput, error) { + req, out := c.DeleteReservationRequest(input) return out, req.Send() } -// DeleteTagsWithContext is the same as DeleteTags with the addition of +// DeleteReservationWithContext is the same as DeleteReservation with the addition of // the ability to pass a context and additional request options. // -// See DeleteTags for details on how to use this API operation. +// See DeleteReservation 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 *MediaLive) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) { - req, out := c.DeleteTagsRequest(input) +func (c *MediaLive) DeleteReservationWithContext(ctx aws.Context, input *DeleteReservationInput, opts ...request.Option) (*DeleteReservationOutput, error) { + req, out := c.DeleteReservationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeChannel = "DescribeChannel" +const opDeleteSchedule = "DeleteSchedule" -// DescribeChannelRequest generates a "aws/request.Request" representing the -// client's request for the DescribeChannel operation. The "output" return +// DeleteScheduleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSchedule 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 DescribeChannel for more information on using the DescribeChannel +// See DeleteSchedule for more information on using the DeleteSchedule // 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 DescribeChannelRequest method. -// req, resp := client.DescribeChannelRequest(params) +// // Example sending a request using the DeleteScheduleRequest method. +// req, resp := client.DeleteScheduleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteSchedule +func (c *MediaLive) DeleteScheduleRequest(input *DeleteScheduleInput) (req *request.Request, output *DeleteScheduleOutput) { + op := &request.Operation{ + Name: opDeleteSchedule, + HTTPMethod: "DELETE", + HTTPPath: "/prod/channels/{channelId}/schedule", + } + + if input == nil { + input = &DeleteScheduleInput{} + } + + output = &DeleteScheduleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSchedule API operation for AWS Elemental MediaLive. +// +// Delete all schedule actions on a channel. +// +// 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 Elemental MediaLive's +// API operation DeleteSchedule for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteSchedule +func (c *MediaLive) DeleteSchedule(input *DeleteScheduleInput) (*DeleteScheduleOutput, error) { + req, out := c.DeleteScheduleRequest(input) + return out, req.Send() +} + +// DeleteScheduleWithContext is the same as DeleteSchedule with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSchedule 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 *MediaLive) DeleteScheduleWithContext(ctx aws.Context, input *DeleteScheduleInput, opts ...request.Option) (*DeleteScheduleOutput, error) { + req, out := c.DeleteScheduleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTags = "DeleteTags" + +// DeleteTagsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTags 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 DeleteTags for more information on using the DeleteTags +// 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 DeleteTagsRequest method. +// req, resp := client.DeleteTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags +func (c *MediaLive) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) { + op := &request.Operation{ + Name: opDeleteTags, + HTTPMethod: "DELETE", + HTTPPath: "/prod/tags/{resource-arn}", + } + + if input == nil { + input = &DeleteTagsInput{} + } + + output = &DeleteTagsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteTags API operation for AWS Elemental MediaLive. +// +// Removes tags for a 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 AWS Elemental MediaLive's +// API operation DeleteTags for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DeleteTags +func (c *MediaLive) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { + req, out := c.DeleteTagsRequest(input) + return out, req.Send() +} + +// DeleteTagsWithContext is the same as DeleteTags with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTags 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 *MediaLive) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) { + req, out := c.DeleteTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeChannel = "DescribeChannel" + +// DescribeChannelRequest generates a "aws/request.Request" representing the +// client's request for the DescribeChannel 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 DescribeChannel for more information on using the DescribeChannel +// 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 DescribeChannelRequest method. +// req, resp := client.DescribeChannelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled @@ -1271,58 +1639,58 @@ func (c *MediaLive) DescribeInputSecurityGroupWithContext(ctx aws.Context, input return out, req.Send() } -const opDescribeOffering = "DescribeOffering" +const opDescribeMultiplex = "DescribeMultiplex" -// DescribeOfferingRequest generates a "aws/request.Request" representing the -// client's request for the DescribeOffering operation. The "output" return +// DescribeMultiplexRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMultiplex 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 DescribeOffering for more information on using the DescribeOffering +// See DescribeMultiplex for more information on using the DescribeMultiplex // 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 DescribeOfferingRequest method. -// req, resp := client.DescribeOfferingRequest(params) +// // Example sending a request using the DescribeMultiplexRequest method. +// req, resp := client.DescribeMultiplexRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering -func (c *MediaLive) DescribeOfferingRequest(input *DescribeOfferingInput) (req *request.Request, output *DescribeOfferingOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeMultiplex +func (c *MediaLive) DescribeMultiplexRequest(input *DescribeMultiplexInput) (req *request.Request, output *DescribeMultiplexOutput) { op := &request.Operation{ - Name: opDescribeOffering, + Name: opDescribeMultiplex, HTTPMethod: "GET", - HTTPPath: "/prod/offerings/{offeringId}", + HTTPPath: "/prod/multiplexes/{multiplexId}", } if input == nil { - input = &DescribeOfferingInput{} + input = &DescribeMultiplexInput{} } - output = &DescribeOfferingOutput{} + output = &DescribeMultiplexOutput{} req = c.newRequest(op, input, output) return } -// DescribeOffering API operation for AWS Elemental MediaLive. +// DescribeMultiplex API operation for AWS Elemental MediaLive. // -// Get details for an offering. +// Gets details about a multiplex. // // 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 Elemental MediaLive's -// API operation DescribeOffering for usage and error information. +// API operation DescribeMultiplex for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -1339,80 +1707,80 @@ func (c *MediaLive) DescribeOfferingRequest(input *DescribeOfferingInput) (req * // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering -func (c *MediaLive) DescribeOffering(input *DescribeOfferingInput) (*DescribeOfferingOutput, error) { - req, out := c.DescribeOfferingRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeMultiplex +func (c *MediaLive) DescribeMultiplex(input *DescribeMultiplexInput) (*DescribeMultiplexOutput, error) { + req, out := c.DescribeMultiplexRequest(input) return out, req.Send() } -// DescribeOfferingWithContext is the same as DescribeOffering with the addition of +// DescribeMultiplexWithContext is the same as DescribeMultiplex with the addition of // the ability to pass a context and additional request options. // -// See DescribeOffering for details on how to use this API operation. +// See DescribeMultiplex 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 *MediaLive) DescribeOfferingWithContext(ctx aws.Context, input *DescribeOfferingInput, opts ...request.Option) (*DescribeOfferingOutput, error) { - req, out := c.DescribeOfferingRequest(input) +func (c *MediaLive) DescribeMultiplexWithContext(ctx aws.Context, input *DescribeMultiplexInput, opts ...request.Option) (*DescribeMultiplexOutput, error) { + req, out := c.DescribeMultiplexRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeReservation = "DescribeReservation" +const opDescribeMultiplexProgram = "DescribeMultiplexProgram" -// DescribeReservationRequest generates a "aws/request.Request" representing the -// client's request for the DescribeReservation operation. The "output" return +// DescribeMultiplexProgramRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMultiplexProgram 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 DescribeReservation for more information on using the DescribeReservation +// See DescribeMultiplexProgram for more information on using the DescribeMultiplexProgram // 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 DescribeReservationRequest method. -// req, resp := client.DescribeReservationRequest(params) +// // Example sending a request using the DescribeMultiplexProgramRequest method. +// req, resp := client.DescribeMultiplexProgramRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation -func (c *MediaLive) DescribeReservationRequest(input *DescribeReservationInput) (req *request.Request, output *DescribeReservationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeMultiplexProgram +func (c *MediaLive) DescribeMultiplexProgramRequest(input *DescribeMultiplexProgramInput) (req *request.Request, output *DescribeMultiplexProgramOutput) { op := &request.Operation{ - Name: opDescribeReservation, + Name: opDescribeMultiplexProgram, HTTPMethod: "GET", - HTTPPath: "/prod/reservations/{reservationId}", + HTTPPath: "/prod/multiplexes/{multiplexId}/programs/{programName}", } if input == nil { - input = &DescribeReservationInput{} + input = &DescribeMultiplexProgramInput{} } - output = &DescribeReservationOutput{} + output = &DescribeMultiplexProgramOutput{} req = c.newRequest(op, input, output) return } -// DescribeReservation API operation for AWS Elemental MediaLive. +// DescribeMultiplexProgram API operation for AWS Elemental MediaLive. // -// Get details for a reservation. +// Get the details for a program in a multiplex. // // 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 Elemental MediaLive's -// API operation DescribeReservation for usage and error information. +// API operation DescribeMultiplexProgram for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -1429,86 +1797,266 @@ func (c *MediaLive) DescribeReservationRequest(input *DescribeReservationInput) // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation -func (c *MediaLive) DescribeReservation(input *DescribeReservationInput) (*DescribeReservationOutput, error) { - req, out := c.DescribeReservationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeMultiplexProgram +func (c *MediaLive) DescribeMultiplexProgram(input *DescribeMultiplexProgramInput) (*DescribeMultiplexProgramOutput, error) { + req, out := c.DescribeMultiplexProgramRequest(input) return out, req.Send() } -// DescribeReservationWithContext is the same as DescribeReservation with the addition of +// DescribeMultiplexProgramWithContext is the same as DescribeMultiplexProgram with the addition of // the ability to pass a context and additional request options. // -// See DescribeReservation for details on how to use this API operation. +// See DescribeMultiplexProgram 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 *MediaLive) DescribeReservationWithContext(ctx aws.Context, input *DescribeReservationInput, opts ...request.Option) (*DescribeReservationOutput, error) { - req, out := c.DescribeReservationRequest(input) +func (c *MediaLive) DescribeMultiplexProgramWithContext(ctx aws.Context, input *DescribeMultiplexProgramInput, opts ...request.Option) (*DescribeMultiplexProgramOutput, error) { + req, out := c.DescribeMultiplexProgramRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeSchedule = "DescribeSchedule" +const opDescribeOffering = "DescribeOffering" -// DescribeScheduleRequest generates a "aws/request.Request" representing the -// client's request for the DescribeSchedule operation. The "output" return +// DescribeOfferingRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOffering 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 DescribeSchedule for more information on using the DescribeSchedule +// See DescribeOffering for more information on using the DescribeOffering // 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 DescribeScheduleRequest method. -// req, resp := client.DescribeScheduleRequest(params) +// // Example sending a request using the DescribeOfferingRequest method. +// req, resp := client.DescribeOfferingRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeSchedule -func (c *MediaLive) DescribeScheduleRequest(input *DescribeScheduleInput) (req *request.Request, output *DescribeScheduleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering +func (c *MediaLive) DescribeOfferingRequest(input *DescribeOfferingInput) (req *request.Request, output *DescribeOfferingOutput) { op := &request.Operation{ - Name: opDescribeSchedule, + Name: opDescribeOffering, HTTPMethod: "GET", - HTTPPath: "/prod/channels/{channelId}/schedule", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/prod/offerings/{offeringId}", } if input == nil { - input = &DescribeScheduleInput{} + input = &DescribeOfferingInput{} } - output = &DescribeScheduleOutput{} + output = &DescribeOfferingOutput{} req = c.newRequest(op, input, output) return } -// DescribeSchedule API operation for AWS Elemental MediaLive. +// DescribeOffering API operation for AWS Elemental MediaLive. // -// Get a channel schedule +// Get details for an offering. // // 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 Elemental MediaLive's -// API operation DescribeSchedule for usage and error information. +// API operation DescribeOffering for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeOffering +func (c *MediaLive) DescribeOffering(input *DescribeOfferingInput) (*DescribeOfferingOutput, error) { + req, out := c.DescribeOfferingRequest(input) + return out, req.Send() +} + +// DescribeOfferingWithContext is the same as DescribeOffering with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeOffering 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 *MediaLive) DescribeOfferingWithContext(ctx aws.Context, input *DescribeOfferingInput, opts ...request.Option) (*DescribeOfferingOutput, error) { + req, out := c.DescribeOfferingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeReservation = "DescribeReservation" + +// DescribeReservationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReservation 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 DescribeReservation for more information on using the DescribeReservation +// 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 DescribeReservationRequest method. +// req, resp := client.DescribeReservationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation +func (c *MediaLive) DescribeReservationRequest(input *DescribeReservationInput) (req *request.Request, output *DescribeReservationOutput) { + op := &request.Operation{ + Name: opDescribeReservation, + HTTPMethod: "GET", + HTTPPath: "/prod/reservations/{reservationId}", + } + + if input == nil { + input = &DescribeReservationInput{} + } + + output = &DescribeReservationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeReservation API operation for AWS Elemental MediaLive. +// +// Get details for a reservation. +// +// 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 Elemental MediaLive's +// API operation DescribeReservation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeReservation +func (c *MediaLive) DescribeReservation(input *DescribeReservationInput) (*DescribeReservationOutput, error) { + req, out := c.DescribeReservationRequest(input) + return out, req.Send() +} + +// DescribeReservationWithContext is the same as DescribeReservation with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeReservation 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 *MediaLive) DescribeReservationWithContext(ctx aws.Context, input *DescribeReservationInput, opts ...request.Option) (*DescribeReservationOutput, error) { + req, out := c.DescribeReservationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeSchedule = "DescribeSchedule" + +// DescribeScheduleRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSchedule 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 DescribeSchedule for more information on using the DescribeSchedule +// 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 DescribeScheduleRequest method. +// req, resp := client.DescribeScheduleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeSchedule +func (c *MediaLive) DescribeScheduleRequest(input *DescribeScheduleInput) (req *request.Request, output *DescribeScheduleOutput) { + op := &request.Operation{ + Name: opDescribeSchedule, + HTTPMethod: "GET", + HTTPPath: "/prod/channels/{channelId}/schedule", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeScheduleInput{} + } + + output = &DescribeScheduleOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSchedule API operation for AWS Elemental MediaLive. +// +// Get a channel schedule +// +// 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 Elemental MediaLive's +// API operation DescribeSchedule for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2037,37 +2585,37 @@ func (c *MediaLive) ListInputsPagesWithContext(ctx aws.Context, input *ListInput return p.Err() } -const opListOfferings = "ListOfferings" +const opListMultiplexPrograms = "ListMultiplexPrograms" -// ListOfferingsRequest generates a "aws/request.Request" representing the -// client's request for the ListOfferings operation. The "output" return +// ListMultiplexProgramsRequest generates a "aws/request.Request" representing the +// client's request for the ListMultiplexPrograms 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 ListOfferings for more information on using the ListOfferings +// See ListMultiplexPrograms for more information on using the ListMultiplexPrograms // 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 ListOfferingsRequest method. -// req, resp := client.ListOfferingsRequest(params) +// // Example sending a request using the ListMultiplexProgramsRequest method. +// req, resp := client.ListMultiplexProgramsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings -func (c *MediaLive) ListOfferingsRequest(input *ListOfferingsInput) (req *request.Request, output *ListOfferingsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListMultiplexPrograms +func (c *MediaLive) ListMultiplexProgramsRequest(input *ListMultiplexProgramsInput) (req *request.Request, output *ListMultiplexProgramsOutput) { op := &request.Operation{ - Name: opListOfferings, + Name: opListMultiplexPrograms, HTTPMethod: "GET", - HTTPPath: "/prod/offerings", + HTTPPath: "/prod/multiplexes/{multiplexId}/programs", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -2077,24 +2625,24 @@ func (c *MediaLive) ListOfferingsRequest(input *ListOfferingsInput) (req *reques } if input == nil { - input = &ListOfferingsInput{} + input = &ListMultiplexProgramsInput{} } - output = &ListOfferingsOutput{} + output = &ListMultiplexProgramsOutput{} req = c.newRequest(op, input, output) return } -// ListOfferings API operation for AWS Elemental MediaLive. +// ListMultiplexPrograms API operation for AWS Elemental MediaLive. // -// List offerings available for purchase. +// List the programs that currently exist for a specific multiplex. // // 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 Elemental MediaLive's -// API operation ListOfferings for usage and error information. +// API operation ListMultiplexPrograms for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2105,69 +2653,71 @@ func (c *MediaLive) ListOfferingsRequest(input *ListOfferingsInput) (req *reques // // * ErrCodeBadGatewayException "BadGatewayException" // +// * ErrCodeNotFoundException "NotFoundException" +// // * ErrCodeGatewayTimeoutException "GatewayTimeoutException" // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings -func (c *MediaLive) ListOfferings(input *ListOfferingsInput) (*ListOfferingsOutput, error) { - req, out := c.ListOfferingsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListMultiplexPrograms +func (c *MediaLive) ListMultiplexPrograms(input *ListMultiplexProgramsInput) (*ListMultiplexProgramsOutput, error) { + req, out := c.ListMultiplexProgramsRequest(input) return out, req.Send() } -// ListOfferingsWithContext is the same as ListOfferings with the addition of +// ListMultiplexProgramsWithContext is the same as ListMultiplexPrograms with the addition of // the ability to pass a context and additional request options. // -// See ListOfferings for details on how to use this API operation. +// See ListMultiplexPrograms 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 *MediaLive) ListOfferingsWithContext(ctx aws.Context, input *ListOfferingsInput, opts ...request.Option) (*ListOfferingsOutput, error) { - req, out := c.ListOfferingsRequest(input) +func (c *MediaLive) ListMultiplexProgramsWithContext(ctx aws.Context, input *ListMultiplexProgramsInput, opts ...request.Option) (*ListMultiplexProgramsOutput, error) { + req, out := c.ListMultiplexProgramsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListOfferingsPages iterates over the pages of a ListOfferings operation, +// ListMultiplexProgramsPages iterates over the pages of a ListMultiplexPrograms operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListOfferings method for more information on how to use this operation. +// See ListMultiplexPrograms 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 ListOfferings operation. +// // Example iterating over at most 3 pages of a ListMultiplexPrograms operation. // pageNum := 0 -// err := client.ListOfferingsPages(params, -// func(page *medialive.ListOfferingsOutput, lastPage bool) bool { +// err := client.ListMultiplexProgramsPages(params, +// func(page *medialive.ListMultiplexProgramsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *MediaLive) ListOfferingsPages(input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool) error { - return c.ListOfferingsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *MediaLive) ListMultiplexProgramsPages(input *ListMultiplexProgramsInput, fn func(*ListMultiplexProgramsOutput, bool) bool) error { + return c.ListMultiplexProgramsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListOfferingsPagesWithContext same as ListOfferingsPages except +// ListMultiplexProgramsPagesWithContext same as ListMultiplexProgramsPages 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 *MediaLive) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool, opts ...request.Option) error { +func (c *MediaLive) ListMultiplexProgramsPagesWithContext(ctx aws.Context, input *ListMultiplexProgramsInput, fn func(*ListMultiplexProgramsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListOfferingsInput + var inCpy *ListMultiplexProgramsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListOfferingsRequest(inCpy) + req, _ := c.ListMultiplexProgramsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2175,7 +2725,7 @@ func (c *MediaLive) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOf } for p.Next() { - if !fn(p.Page().(*ListOfferingsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListMultiplexProgramsOutput), !p.HasNextPage()) { break } } @@ -2183,37 +2733,37 @@ func (c *MediaLive) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOf return p.Err() } -const opListReservations = "ListReservations" +const opListMultiplexes = "ListMultiplexes" -// ListReservationsRequest generates a "aws/request.Request" representing the -// client's request for the ListReservations operation. The "output" return +// ListMultiplexesRequest generates a "aws/request.Request" representing the +// client's request for the ListMultiplexes 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 ListReservations for more information on using the ListReservations +// See ListMultiplexes for more information on using the ListMultiplexes // 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 ListReservationsRequest method. -// req, resp := client.ListReservationsRequest(params) +// // Example sending a request using the ListMultiplexesRequest method. +// req, resp := client.ListMultiplexesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations -func (c *MediaLive) ListReservationsRequest(input *ListReservationsInput) (req *request.Request, output *ListReservationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListMultiplexes +func (c *MediaLive) ListMultiplexesRequest(input *ListMultiplexesInput) (req *request.Request, output *ListMultiplexesOutput) { op := &request.Operation{ - Name: opListReservations, + Name: opListMultiplexes, HTTPMethod: "GET", - HTTPPath: "/prod/reservations", + HTTPPath: "/prod/multiplexes", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -2223,24 +2773,24 @@ func (c *MediaLive) ListReservationsRequest(input *ListReservationsInput) (req * } if input == nil { - input = &ListReservationsInput{} + input = &ListMultiplexesInput{} } - output = &ListReservationsOutput{} + output = &ListMultiplexesOutput{} req = c.newRequest(op, input, output) return } -// ListReservations API operation for AWS Elemental MediaLive. +// ListMultiplexes API operation for AWS Elemental MediaLive. // -// List purchased reservations. +// Retrieve a list of the existing multiplexes. // // 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 Elemental MediaLive's -// API operation ListReservations for usage and error information. +// API operation ListMultiplexes for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2255,65 +2805,65 @@ func (c *MediaLive) ListReservationsRequest(input *ListReservationsInput) (req * // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations -func (c *MediaLive) ListReservations(input *ListReservationsInput) (*ListReservationsOutput, error) { - req, out := c.ListReservationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListMultiplexes +func (c *MediaLive) ListMultiplexes(input *ListMultiplexesInput) (*ListMultiplexesOutput, error) { + req, out := c.ListMultiplexesRequest(input) return out, req.Send() } -// ListReservationsWithContext is the same as ListReservations with the addition of +// ListMultiplexesWithContext is the same as ListMultiplexes with the addition of // the ability to pass a context and additional request options. // -// See ListReservations for details on how to use this API operation. +// See ListMultiplexes 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 *MediaLive) ListReservationsWithContext(ctx aws.Context, input *ListReservationsInput, opts ...request.Option) (*ListReservationsOutput, error) { - req, out := c.ListReservationsRequest(input) +func (c *MediaLive) ListMultiplexesWithContext(ctx aws.Context, input *ListMultiplexesInput, opts ...request.Option) (*ListMultiplexesOutput, error) { + req, out := c.ListMultiplexesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListReservationsPages iterates over the pages of a ListReservations operation, +// ListMultiplexesPages iterates over the pages of a ListMultiplexes operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListReservations method for more information on how to use this operation. +// See ListMultiplexes 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 ListReservations operation. +// // Example iterating over at most 3 pages of a ListMultiplexes operation. // pageNum := 0 -// err := client.ListReservationsPages(params, -// func(page *medialive.ListReservationsOutput, lastPage bool) bool { +// err := client.ListMultiplexesPages(params, +// func(page *medialive.ListMultiplexesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *MediaLive) ListReservationsPages(input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool) error { - return c.ListReservationsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *MediaLive) ListMultiplexesPages(input *ListMultiplexesInput, fn func(*ListMultiplexesOutput, bool) bool) error { + return c.ListMultiplexesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListReservationsPagesWithContext same as ListReservationsPages except +// ListMultiplexesPagesWithContext same as ListMultiplexesPages 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 *MediaLive) ListReservationsPagesWithContext(ctx aws.Context, input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool, opts ...request.Option) error { +func (c *MediaLive) ListMultiplexesPagesWithContext(ctx aws.Context, input *ListMultiplexesInput, fn func(*ListMultiplexesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListReservationsInput + var inCpy *ListMultiplexesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListReservationsRequest(inCpy) + req, _ := c.ListMultiplexesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2321,7 +2871,7 @@ func (c *MediaLive) ListReservationsPagesWithContext(ctx aws.Context, input *Lis } for p.Next() { - if !fn(p.Page().(*ListReservationsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListMultiplexesOutput), !p.HasNextPage()) { break } } @@ -2329,142 +2879,210 @@ func (c *MediaLive) ListReservationsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListOfferings = "ListOfferings" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListOfferingsRequest generates a "aws/request.Request" representing the +// client's request for the ListOfferings 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 ListOfferings for more information on using the ListOfferings // 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 ListOfferingsRequest method. +// req, resp := client.ListOfferingsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource -func (c *MediaLive) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings +func (c *MediaLive) ListOfferingsRequest(input *ListOfferingsInput) (req *request.Request, output *ListOfferingsOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opListOfferings, HTTPMethod: "GET", - HTTPPath: "/prod/tags/{resource-arn}", + HTTPPath: "/prod/offerings", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &ListOfferingsInput{} } - output = &ListTagsForResourceOutput{} + output = &ListOfferingsOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for AWS Elemental MediaLive. +// ListOfferings API operation for AWS Elemental MediaLive. // -// Produces list of tags that have been created for a resource +// List offerings available for purchase. // // 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 Elemental MediaLive's -// API operation ListTagsForResource for usage and error information. +// API operation ListOfferings for usage and error information. // // Returned Error Codes: -// * ErrCodeNotFoundException "NotFoundException" -// // * ErrCodeBadRequestException "BadRequestException" // // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource -func (c *MediaLive) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListOfferings +func (c *MediaLive) ListOfferings(input *ListOfferingsInput) (*ListOfferingsOutput, error) { + req, out := c.ListOfferingsRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// ListOfferingsWithContext is the same as ListOfferings 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 ListOfferings 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 *MediaLive) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *MediaLive) ListOfferingsWithContext(ctx aws.Context, input *ListOfferingsInput, opts ...request.Option) (*ListOfferingsOutput, error) { + req, out := c.ListOfferingsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPurchaseOffering = "PurchaseOffering" +// ListOfferingsPages iterates over the pages of a ListOfferings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListOfferings 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 ListOfferings operation. +// pageNum := 0 +// err := client.ListOfferingsPages(params, +// func(page *medialive.ListOfferingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaLive) ListOfferingsPages(input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool) error { + return c.ListOfferingsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// PurchaseOfferingRequest generates a "aws/request.Request" representing the -// client's request for the PurchaseOffering operation. The "output" return +// ListOfferingsPagesWithContext same as ListOfferingsPages 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 *MediaLive) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListOfferingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListOfferingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListOfferingsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListReservations = "ListReservations" + +// ListReservationsRequest generates a "aws/request.Request" representing the +// client's request for the ListReservations 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 PurchaseOffering for more information on using the PurchaseOffering +// See ListReservations for more information on using the ListReservations // 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 PurchaseOfferingRequest method. -// req, resp := client.PurchaseOfferingRequest(params) +// // Example sending a request using the ListReservationsRequest method. +// req, resp := client.ListReservationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering -func (c *MediaLive) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req *request.Request, output *PurchaseOfferingOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations +func (c *MediaLive) ListReservationsRequest(input *ListReservationsInput) (req *request.Request, output *ListReservationsOutput) { op := &request.Operation{ - Name: opPurchaseOffering, - HTTPMethod: "POST", - HTTPPath: "/prod/offerings/{offeringId}/purchase", + Name: opListReservations, + HTTPMethod: "GET", + HTTPPath: "/prod/reservations", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &PurchaseOfferingInput{} + input = &ListReservationsInput{} } - output = &PurchaseOfferingOutput{} + output = &ListReservationsOutput{} req = c.newRequest(op, input, output) return } -// PurchaseOffering API operation for AWS Elemental MediaLive. +// ListReservations API operation for AWS Elemental MediaLive. // -// Purchase an offering and create a reservation. +// List purchased reservations. // // 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 Elemental MediaLive's -// API operation PurchaseOffering for usage and error information. +// API operation ListReservations for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2475,180 +3093,220 @@ func (c *MediaLive) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req * // // * ErrCodeBadGatewayException "BadGatewayException" // -// * ErrCodeNotFoundException "NotFoundException" -// // * ErrCodeGatewayTimeoutException "GatewayTimeoutException" // // * ErrCodeTooManyRequestsException "TooManyRequestsException" // -// * ErrCodeConflictException "ConflictException" -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering -func (c *MediaLive) PurchaseOffering(input *PurchaseOfferingInput) (*PurchaseOfferingOutput, error) { - req, out := c.PurchaseOfferingRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListReservations +func (c *MediaLive) ListReservations(input *ListReservationsInput) (*ListReservationsOutput, error) { + req, out := c.ListReservationsRequest(input) return out, req.Send() } -// PurchaseOfferingWithContext is the same as PurchaseOffering with the addition of +// ListReservationsWithContext is the same as ListReservations with the addition of // the ability to pass a context and additional request options. // -// See PurchaseOffering for details on how to use this API operation. +// See ListReservations 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 *MediaLive) PurchaseOfferingWithContext(ctx aws.Context, input *PurchaseOfferingInput, opts ...request.Option) (*PurchaseOfferingOutput, error) { - req, out := c.PurchaseOfferingRequest(input) +func (c *MediaLive) ListReservationsWithContext(ctx aws.Context, input *ListReservationsInput, opts ...request.Option) (*ListReservationsOutput, error) { + req, out := c.ListReservationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartChannel = "StartChannel" +// ListReservationsPages iterates over the pages of a ListReservations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListReservations 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 ListReservations operation. +// pageNum := 0 +// err := client.ListReservationsPages(params, +// func(page *medialive.ListReservationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaLive) ListReservationsPages(input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool) error { + return c.ListReservationsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// StartChannelRequest generates a "aws/request.Request" representing the -// client's request for the StartChannel operation. The "output" return +// ListReservationsPagesWithContext same as ListReservationsPages 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 *MediaLive) ListReservationsPagesWithContext(ctx aws.Context, input *ListReservationsInput, fn func(*ListReservationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListReservationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListReservationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListReservationsOutput), !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 StartChannel for more information on using the StartChannel +// 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 StartChannelRequest method. -// req, resp := client.StartChannelRequest(params) +// // 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/medialive-2017-10-14/StartChannel -func (c *MediaLive) StartChannelRequest(input *StartChannelInput) (req *request.Request, output *StartChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource +func (c *MediaLive) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ - Name: opStartChannel, - HTTPMethod: "POST", - HTTPPath: "/prod/channels/{channelId}/start", + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/prod/tags/{resource-arn}", } if input == nil { - input = &StartChannelInput{} + input = &ListTagsForResourceInput{} } - output = &StartChannelOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } -// StartChannel API operation for AWS Elemental MediaLive. +// ListTagsForResource API operation for AWS Elemental MediaLive. // -// Starts an existing channel +// Produces list of tags that have been created for a 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 AWS Elemental MediaLive's -// API operation StartChannel for usage and error information. +// API operation ListTagsForResource for usage and error information. // // Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// // * ErrCodeBadRequestException "BadRequestException" // // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" // -// * ErrCodeBadGatewayException "BadGatewayException" -// -// * ErrCodeNotFoundException "NotFoundException" -// -// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" -// -// * ErrCodeTooManyRequestsException "TooManyRequestsException" -// -// * ErrCodeConflictException "ConflictException" -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartChannel -func (c *MediaLive) StartChannel(input *StartChannelInput) (*StartChannelOutput, error) { - req, out := c.StartChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListTagsForResource +func (c *MediaLive) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } -// StartChannelWithContext is the same as StartChannel with the addition of +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // -// See StartChannel for details on how to use this API operation. +// 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 *MediaLive) StartChannelWithContext(ctx aws.Context, input *StartChannelInput, opts ...request.Option) (*StartChannelOutput, error) { - req, out := c.StartChannelRequest(input) +func (c *MediaLive) 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 opStopChannel = "StopChannel" +const opPurchaseOffering = "PurchaseOffering" -// StopChannelRequest generates a "aws/request.Request" representing the -// client's request for the StopChannel operation. The "output" return +// PurchaseOfferingRequest generates a "aws/request.Request" representing the +// client's request for the PurchaseOffering 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 StopChannel for more information on using the StopChannel +// See PurchaseOffering for more information on using the PurchaseOffering // 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 StopChannelRequest method. -// req, resp := client.StopChannelRequest(params) +// // Example sending a request using the PurchaseOfferingRequest method. +// req, resp := client.PurchaseOfferingRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopChannel -func (c *MediaLive) StopChannelRequest(input *StopChannelInput) (req *request.Request, output *StopChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering +func (c *MediaLive) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req *request.Request, output *PurchaseOfferingOutput) { op := &request.Operation{ - Name: opStopChannel, + Name: opPurchaseOffering, HTTPMethod: "POST", - HTTPPath: "/prod/channels/{channelId}/stop", + HTTPPath: "/prod/offerings/{offeringId}/purchase", } if input == nil { - input = &StopChannelInput{} + input = &PurchaseOfferingInput{} } - output = &StopChannelOutput{} + output = &PurchaseOfferingOutput{} req = c.newRequest(op, input, output) return } -// StopChannel API operation for AWS Elemental MediaLive. +// PurchaseOffering API operation for AWS Elemental MediaLive. // -// Stops a running channel +// Purchase an offering and create a reservation. // // 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 Elemental MediaLive's -// API operation StopChannel for usage and error information. +// API operation PurchaseOffering for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2667,176 +3325,177 @@ func (c *MediaLive) StopChannelRequest(input *StopChannelInput) (req *request.Re // // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopChannel -func (c *MediaLive) StopChannel(input *StopChannelInput) (*StopChannelOutput, error) { - req, out := c.StopChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/PurchaseOffering +func (c *MediaLive) PurchaseOffering(input *PurchaseOfferingInput) (*PurchaseOfferingOutput, error) { + req, out := c.PurchaseOfferingRequest(input) return out, req.Send() } -// StopChannelWithContext is the same as StopChannel with the addition of +// PurchaseOfferingWithContext is the same as PurchaseOffering with the addition of // the ability to pass a context and additional request options. // -// See StopChannel for details on how to use this API operation. +// See PurchaseOffering 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 *MediaLive) StopChannelWithContext(ctx aws.Context, input *StopChannelInput, opts ...request.Option) (*StopChannelOutput, error) { - req, out := c.StopChannelRequest(input) +func (c *MediaLive) PurchaseOfferingWithContext(ctx aws.Context, input *PurchaseOfferingInput, opts ...request.Option) (*PurchaseOfferingOutput, error) { + req, out := c.PurchaseOfferingRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateChannel = "UpdateChannel" +const opStartChannel = "StartChannel" -// UpdateChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateChannel operation. The "output" return +// StartChannelRequest generates a "aws/request.Request" representing the +// client's request for the StartChannel 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 UpdateChannel for more information on using the UpdateChannel +// See StartChannel for more information on using the StartChannel // 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 UpdateChannelRequest method. -// req, resp := client.UpdateChannelRequest(params) +// // Example sending a request using the StartChannelRequest method. +// req, resp := client.StartChannelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel -func (c *MediaLive) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartChannel +func (c *MediaLive) StartChannelRequest(input *StartChannelInput) (req *request.Request, output *StartChannelOutput) { op := &request.Operation{ - Name: opUpdateChannel, - HTTPMethod: "PUT", - HTTPPath: "/prod/channels/{channelId}", + Name: opStartChannel, + HTTPMethod: "POST", + HTTPPath: "/prod/channels/{channelId}/start", } if input == nil { - input = &UpdateChannelInput{} + input = &StartChannelInput{} } - output = &UpdateChannelOutput{} + output = &StartChannelOutput{} req = c.newRequest(op, input, output) return } -// UpdateChannel API operation for AWS Elemental MediaLive. +// StartChannel API operation for AWS Elemental MediaLive. // -// Updates a channel. +// Starts an existing channel // // 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 Elemental MediaLive's -// API operation UpdateChannel for usage and error information. +// API operation StartChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" // -// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" -// // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" // // * ErrCodeBadGatewayException "BadGatewayException" // +// * ErrCodeNotFoundException "NotFoundException" +// // * ErrCodeGatewayTimeoutException "GatewayTimeoutException" // +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel -func (c *MediaLive) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) { - req, out := c.UpdateChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartChannel +func (c *MediaLive) StartChannel(input *StartChannelInput) (*StartChannelOutput, error) { + req, out := c.StartChannelRequest(input) return out, req.Send() } -// UpdateChannelWithContext is the same as UpdateChannel with the addition of +// StartChannelWithContext is the same as StartChannel with the addition of // the ability to pass a context and additional request options. // -// See UpdateChannel for details on how to use this API operation. +// See StartChannel 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 *MediaLive) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) { - req, out := c.UpdateChannelRequest(input) +func (c *MediaLive) StartChannelWithContext(ctx aws.Context, input *StartChannelInput, opts ...request.Option) (*StartChannelOutput, error) { + req, out := c.StartChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateChannelClass = "UpdateChannelClass" +const opStartMultiplex = "StartMultiplex" -// UpdateChannelClassRequest generates a "aws/request.Request" representing the -// client's request for the UpdateChannelClass operation. The "output" return +// StartMultiplexRequest generates a "aws/request.Request" representing the +// client's request for the StartMultiplex 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 UpdateChannelClass for more information on using the UpdateChannelClass +// See StartMultiplex for more information on using the StartMultiplex // 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 UpdateChannelClassRequest method. -// req, resp := client.UpdateChannelClassRequest(params) +// // Example sending a request using the StartMultiplexRequest method. +// req, resp := client.StartMultiplexRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelClass -func (c *MediaLive) UpdateChannelClassRequest(input *UpdateChannelClassInput) (req *request.Request, output *UpdateChannelClassOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartMultiplex +func (c *MediaLive) StartMultiplexRequest(input *StartMultiplexInput) (req *request.Request, output *StartMultiplexOutput) { op := &request.Operation{ - Name: opUpdateChannelClass, - HTTPMethod: "PUT", - HTTPPath: "/prod/channels/{channelId}/channelClass", + Name: opStartMultiplex, + HTTPMethod: "POST", + HTTPPath: "/prod/multiplexes/{multiplexId}/start", } if input == nil { - input = &UpdateChannelClassInput{} + input = &StartMultiplexInput{} } - output = &UpdateChannelClassOutput{} + output = &StartMultiplexOutput{} req = c.newRequest(op, input, output) return } -// UpdateChannelClass API operation for AWS Elemental MediaLive. +// StartMultiplex API operation for AWS Elemental MediaLive. // -// Changes the class of the channel. +// Start (run) the multiplex. Starting the multiplex does not start the channels. +// You must explicitly start each channel. // // 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 Elemental MediaLive's -// API operation UpdateChannelClass for usage and error information. +// API operation StartMultiplex for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" // -// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" -// // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" @@ -2851,80 +3510,80 @@ func (c *MediaLive) UpdateChannelClassRequest(input *UpdateChannelClassInput) (r // // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelClass -func (c *MediaLive) UpdateChannelClass(input *UpdateChannelClassInput) (*UpdateChannelClassOutput, error) { - req, out := c.UpdateChannelClassRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartMultiplex +func (c *MediaLive) StartMultiplex(input *StartMultiplexInput) (*StartMultiplexOutput, error) { + req, out := c.StartMultiplexRequest(input) return out, req.Send() } -// UpdateChannelClassWithContext is the same as UpdateChannelClass with the addition of +// StartMultiplexWithContext is the same as StartMultiplex with the addition of // the ability to pass a context and additional request options. // -// See UpdateChannelClass for details on how to use this API operation. +// See StartMultiplex 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 *MediaLive) UpdateChannelClassWithContext(ctx aws.Context, input *UpdateChannelClassInput, opts ...request.Option) (*UpdateChannelClassOutput, error) { - req, out := c.UpdateChannelClassRequest(input) +func (c *MediaLive) StartMultiplexWithContext(ctx aws.Context, input *StartMultiplexInput, opts ...request.Option) (*StartMultiplexOutput, error) { + req, out := c.StartMultiplexRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateInput = "UpdateInput" +const opStopChannel = "StopChannel" -// UpdateInputRequest generates a "aws/request.Request" representing the -// client's request for the UpdateInput operation. The "output" return +// StopChannelRequest generates a "aws/request.Request" representing the +// client's request for the StopChannel 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 UpdateInput for more information on using the UpdateInput +// See StopChannel for more information on using the StopChannel // 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 UpdateInputRequest method. -// req, resp := client.UpdateInputRequest(params) +// // Example sending a request using the StopChannelRequest method. +// req, resp := client.StopChannelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput -func (c *MediaLive) UpdateInputRequest(input *UpdateInputInput) (req *request.Request, output *UpdateInputOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopChannel +func (c *MediaLive) StopChannelRequest(input *StopChannelInput) (req *request.Request, output *StopChannelOutput) { op := &request.Operation{ - Name: opUpdateInput, - HTTPMethod: "PUT", - HTTPPath: "/prod/inputs/{inputId}", + Name: opStopChannel, + HTTPMethod: "POST", + HTTPPath: "/prod/channels/{channelId}/stop", } if input == nil { - input = &UpdateInputInput{} + input = &StopChannelInput{} } - output = &UpdateInputOutput{} + output = &StopChannelOutput{} req = c.newRequest(op, input, output) return } -// UpdateInput API operation for AWS Elemental MediaLive. +// StopChannel API operation for AWS Elemental MediaLive. // -// Updates an input. +// Stops a running channel // // 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 Elemental MediaLive's -// API operation UpdateInput for usage and error information. +// API operation StopChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2939,82 +3598,85 @@ func (c *MediaLive) UpdateInputRequest(input *UpdateInputInput) (req *request.Re // // * ErrCodeGatewayTimeoutException "GatewayTimeoutException" // +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput -func (c *MediaLive) UpdateInput(input *UpdateInputInput) (*UpdateInputOutput, error) { - req, out := c.UpdateInputRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopChannel +func (c *MediaLive) StopChannel(input *StopChannelInput) (*StopChannelOutput, error) { + req, out := c.StopChannelRequest(input) return out, req.Send() } -// UpdateInputWithContext is the same as UpdateInput with the addition of +// StopChannelWithContext is the same as StopChannel with the addition of // the ability to pass a context and additional request options. // -// See UpdateInput for details on how to use this API operation. +// See StopChannel 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 *MediaLive) UpdateInputWithContext(ctx aws.Context, input *UpdateInputInput, opts ...request.Option) (*UpdateInputOutput, error) { - req, out := c.UpdateInputRequest(input) +func (c *MediaLive) StopChannelWithContext(ctx aws.Context, input *StopChannelInput, opts ...request.Option) (*StopChannelOutput, error) { + req, out := c.StopChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateInputSecurityGroup = "UpdateInputSecurityGroup" +const opStopMultiplex = "StopMultiplex" -// UpdateInputSecurityGroupRequest generates a "aws/request.Request" representing the -// client's request for the UpdateInputSecurityGroup operation. The "output" return +// StopMultiplexRequest generates a "aws/request.Request" representing the +// client's request for the StopMultiplex 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 UpdateInputSecurityGroup for more information on using the UpdateInputSecurityGroup +// See StopMultiplex for more information on using the StopMultiplex // 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 UpdateInputSecurityGroupRequest method. -// req, resp := client.UpdateInputSecurityGroupRequest(params) +// // Example sending a request using the StopMultiplexRequest method. +// req, resp := client.StopMultiplexRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup -func (c *MediaLive) UpdateInputSecurityGroupRequest(input *UpdateInputSecurityGroupInput) (req *request.Request, output *UpdateInputSecurityGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopMultiplex +func (c *MediaLive) StopMultiplexRequest(input *StopMultiplexInput) (req *request.Request, output *StopMultiplexOutput) { op := &request.Operation{ - Name: opUpdateInputSecurityGroup, - HTTPMethod: "PUT", - HTTPPath: "/prod/inputSecurityGroups/{inputSecurityGroupId}", + Name: opStopMultiplex, + HTTPMethod: "POST", + HTTPPath: "/prod/multiplexes/{multiplexId}/stop", } if input == nil { - input = &UpdateInputSecurityGroupInput{} + input = &StopMultiplexInput{} } - output = &UpdateInputSecurityGroupOutput{} + output = &StopMultiplexOutput{} req = c.newRequest(op, input, output) return } -// UpdateInputSecurityGroup API operation for AWS Elemental MediaLive. +// StopMultiplex API operation for AWS Elemental MediaLive. // -// Update an Input Security Group's Whilelists. +// Stops a running multiplex. If the multiplex isn't running, this action has +// no effect. // // 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 Elemental MediaLive's -// API operation UpdateInputSecurityGroup for usage and error information. +// API operation StopMultiplex for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -3029,277 +3691,1921 @@ func (c *MediaLive) UpdateInputSecurityGroupRequest(input *UpdateInputSecurityGr // // * ErrCodeGatewayTimeoutException "GatewayTimeoutException" // +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup -func (c *MediaLive) UpdateInputSecurityGroup(input *UpdateInputSecurityGroupInput) (*UpdateInputSecurityGroupOutput, error) { - req, out := c.UpdateInputSecurityGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopMultiplex +func (c *MediaLive) StopMultiplex(input *StopMultiplexInput) (*StopMultiplexOutput, error) { + req, out := c.StopMultiplexRequest(input) return out, req.Send() } -// UpdateInputSecurityGroupWithContext is the same as UpdateInputSecurityGroup with the addition of +// StopMultiplexWithContext is the same as StopMultiplex with the addition of // the ability to pass a context and additional request options. // -// See UpdateInputSecurityGroup for details on how to use this API operation. +// See StopMultiplex 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 *MediaLive) UpdateInputSecurityGroupWithContext(ctx aws.Context, input *UpdateInputSecurityGroupInput, opts ...request.Option) (*UpdateInputSecurityGroupOutput, error) { - req, out := c.UpdateInputSecurityGroupRequest(input) +func (c *MediaLive) StopMultiplexWithContext(ctx aws.Context, input *StopMultiplexInput, opts ...request.Option) (*StopMultiplexOutput, error) { + req, out := c.StopMultiplexRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateReservation = "UpdateReservation" +const opUpdateChannel = "UpdateChannel" -// UpdateReservationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateReservation operation. The "output" return +// UpdateChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateChannel 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 UpdateReservation for more information on using the UpdateReservation +// See UpdateChannel for more information on using the UpdateChannel // 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 UpdateReservationRequest method. -// req, resp := client.UpdateReservationRequest(params) +// // Example sending a request using the UpdateChannelRequest method. +// req, resp := client.UpdateChannelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateReservation -func (c *MediaLive) UpdateReservationRequest(input *UpdateReservationInput) (req *request.Request, output *UpdateReservationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel +func (c *MediaLive) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) { op := &request.Operation{ - Name: opUpdateReservation, + Name: opUpdateChannel, HTTPMethod: "PUT", - HTTPPath: "/prod/reservations/{reservationId}", + HTTPPath: "/prod/channels/{channelId}", } if input == nil { - input = &UpdateReservationInput{} + input = &UpdateChannelInput{} } - output = &UpdateReservationOutput{} + output = &UpdateChannelOutput{} req = c.newRequest(op, input, output) return } -// UpdateReservation API operation for AWS Elemental MediaLive. +// UpdateChannel API operation for AWS Elemental MediaLive. // -// Update reservation. +// Updates a channel. // // 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 Elemental MediaLive's -// API operation UpdateReservation for usage and error information. +// API operation UpdateChannel for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" // +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// // * ErrCodeInternalServerErrorException "InternalServerErrorException" // // * ErrCodeForbiddenException "ForbiddenException" // // * ErrCodeBadGatewayException "BadGatewayException" // -// * ErrCodeNotFoundException "NotFoundException" -// // * ErrCodeGatewayTimeoutException "GatewayTimeoutException" // -// * ErrCodeTooManyRequestsException "TooManyRequestsException" -// // * ErrCodeConflictException "ConflictException" // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateReservation -func (c *MediaLive) UpdateReservation(input *UpdateReservationInput) (*UpdateReservationOutput, error) { - req, out := c.UpdateReservationRequest(input) - return out, req.Send() +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannel +func (c *MediaLive) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) { + req, out := c.UpdateChannelRequest(input) + return out, req.Send() } -// UpdateReservationWithContext is the same as UpdateReservation with the addition of +// UpdateChannelWithContext is the same as UpdateChannel with the addition of // the ability to pass a context and additional request options. // -// See UpdateReservation for details on how to use this API operation. +// See UpdateChannel 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 *MediaLive) UpdateReservationWithContext(ctx aws.Context, input *UpdateReservationInput, opts ...request.Option) (*UpdateReservationOutput, error) { - req, out := c.UpdateReservationRequest(input) +func (c *MediaLive) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) { + req, out := c.UpdateChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Aac Settings -type AacSettings struct { - _ struct{} `type:"structure"` +const opUpdateChannelClass = "UpdateChannelClass" - // Average bitrate in bits/second. Valid values depend on rate control mode - // and profile. - Bitrate *float64 `locationName:"bitrate" type:"double"` +// UpdateChannelClassRequest generates a "aws/request.Request" representing the +// client's request for the UpdateChannelClass 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 UpdateChannelClass for more information on using the UpdateChannelClass +// 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 UpdateChannelClassRequest method. +// req, resp := client.UpdateChannelClassRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelClass +func (c *MediaLive) UpdateChannelClassRequest(input *UpdateChannelClassInput) (req *request.Request, output *UpdateChannelClassOutput) { + op := &request.Operation{ + Name: opUpdateChannelClass, + HTTPMethod: "PUT", + HTTPPath: "/prod/channels/{channelId}/channelClass", + } - // Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control - // mode and profile. The adReceiverMix setting receives a stereo description - // plus control track and emits a mono AAC encode of the description track, - // with control data emitted in the PES header as per ETSI TS 101 154 Annex - // E. - CodingMode *string `locationName:"codingMode" type:"string" enum:"AacCodingMode"` + if input == nil { + input = &UpdateChannelClassInput{} + } - // Set to "broadcasterMixedAd" when input contains pre-mixed main audio + AD - // (narration) as a stereo pair. The Audio Type field (audioType) will be set - // to 3, which signals to downstream systems that this stream contains "broadcaster - // mixed AD". Note that the input received by the encoder must contain pre-mixed - // audio; the encoder does not perform the mixing. The values in audioTypeControl - // and audioType (in AudioDescription) are ignored when set to broadcasterMixedAd.Leave - // set to "normal" when input does not contain pre-mixed audio + AD. - InputType *string `locationName:"inputType" type:"string" enum:"AacInputType"` + output = &UpdateChannelClassOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateChannelClass API operation for AWS Elemental MediaLive. +// +// Changes the class of the channel. +// +// 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 Elemental MediaLive's +// API operation UpdateChannelClass for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateChannelClass +func (c *MediaLive) UpdateChannelClass(input *UpdateChannelClassInput) (*UpdateChannelClassOutput, error) { + req, out := c.UpdateChannelClassRequest(input) + return out, req.Send() +} + +// UpdateChannelClassWithContext is the same as UpdateChannelClass with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateChannelClass 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 *MediaLive) UpdateChannelClassWithContext(ctx aws.Context, input *UpdateChannelClassInput, opts ...request.Option) (*UpdateChannelClassOutput, error) { + req, out := c.UpdateChannelClassRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateInput = "UpdateInput" + +// UpdateInputRequest generates a "aws/request.Request" representing the +// client's request for the UpdateInput 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 UpdateInput for more information on using the UpdateInput +// 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 UpdateInputRequest method. +// req, resp := client.UpdateInputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput +func (c *MediaLive) UpdateInputRequest(input *UpdateInputInput) (req *request.Request, output *UpdateInputOutput) { + op := &request.Operation{ + Name: opUpdateInput, + HTTPMethod: "PUT", + HTTPPath: "/prod/inputs/{inputId}", + } + + if input == nil { + input = &UpdateInputInput{} + } + + output = &UpdateInputOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateInput API operation for AWS Elemental MediaLive. +// +// Updates an input. +// +// 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 Elemental MediaLive's +// API operation UpdateInput for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInput +func (c *MediaLive) UpdateInput(input *UpdateInputInput) (*UpdateInputOutput, error) { + req, out := c.UpdateInputRequest(input) + return out, req.Send() +} + +// UpdateInputWithContext is the same as UpdateInput with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateInput 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 *MediaLive) UpdateInputWithContext(ctx aws.Context, input *UpdateInputInput, opts ...request.Option) (*UpdateInputOutput, error) { + req, out := c.UpdateInputRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateInputSecurityGroup = "UpdateInputSecurityGroup" + +// UpdateInputSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateInputSecurityGroup 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 UpdateInputSecurityGroup for more information on using the UpdateInputSecurityGroup +// 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 UpdateInputSecurityGroupRequest method. +// req, resp := client.UpdateInputSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup +func (c *MediaLive) UpdateInputSecurityGroupRequest(input *UpdateInputSecurityGroupInput) (req *request.Request, output *UpdateInputSecurityGroupOutput) { + op := &request.Operation{ + Name: opUpdateInputSecurityGroup, + HTTPMethod: "PUT", + HTTPPath: "/prod/inputSecurityGroups/{inputSecurityGroupId}", + } + + if input == nil { + input = &UpdateInputSecurityGroupInput{} + } + + output = &UpdateInputSecurityGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateInputSecurityGroup API operation for AWS Elemental MediaLive. +// +// Update an Input Security Group's Whilelists. +// +// 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 Elemental MediaLive's +// API operation UpdateInputSecurityGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup +func (c *MediaLive) UpdateInputSecurityGroup(input *UpdateInputSecurityGroupInput) (*UpdateInputSecurityGroupOutput, error) { + req, out := c.UpdateInputSecurityGroupRequest(input) + return out, req.Send() +} + +// UpdateInputSecurityGroupWithContext is the same as UpdateInputSecurityGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateInputSecurityGroup 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 *MediaLive) UpdateInputSecurityGroupWithContext(ctx aws.Context, input *UpdateInputSecurityGroupInput, opts ...request.Option) (*UpdateInputSecurityGroupOutput, error) { + req, out := c.UpdateInputSecurityGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateMultiplex = "UpdateMultiplex" + +// UpdateMultiplexRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMultiplex 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 UpdateMultiplex for more information on using the UpdateMultiplex +// 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 UpdateMultiplexRequest method. +// req, resp := client.UpdateMultiplexRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateMultiplex +func (c *MediaLive) UpdateMultiplexRequest(input *UpdateMultiplexInput) (req *request.Request, output *UpdateMultiplexOutput) { + op := &request.Operation{ + Name: opUpdateMultiplex, + HTTPMethod: "PUT", + HTTPPath: "/prod/multiplexes/{multiplexId}", + } + + if input == nil { + input = &UpdateMultiplexInput{} + } + + output = &UpdateMultiplexOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMultiplex API operation for AWS Elemental MediaLive. +// +// Updates a multiplex. +// +// 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 Elemental MediaLive's +// API operation UpdateMultiplex for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateMultiplex +func (c *MediaLive) UpdateMultiplex(input *UpdateMultiplexInput) (*UpdateMultiplexOutput, error) { + req, out := c.UpdateMultiplexRequest(input) + return out, req.Send() +} + +// UpdateMultiplexWithContext is the same as UpdateMultiplex with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMultiplex 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 *MediaLive) UpdateMultiplexWithContext(ctx aws.Context, input *UpdateMultiplexInput, opts ...request.Option) (*UpdateMultiplexOutput, error) { + req, out := c.UpdateMultiplexRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateMultiplexProgram = "UpdateMultiplexProgram" + +// UpdateMultiplexProgramRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMultiplexProgram 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 UpdateMultiplexProgram for more information on using the UpdateMultiplexProgram +// 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 UpdateMultiplexProgramRequest method. +// req, resp := client.UpdateMultiplexProgramRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateMultiplexProgram +func (c *MediaLive) UpdateMultiplexProgramRequest(input *UpdateMultiplexProgramInput) (req *request.Request, output *UpdateMultiplexProgramOutput) { + op := &request.Operation{ + Name: opUpdateMultiplexProgram, + HTTPMethod: "PUT", + HTTPPath: "/prod/multiplexes/{multiplexId}/programs/{programName}", + } + + if input == nil { + input = &UpdateMultiplexProgramInput{} + } + + output = &UpdateMultiplexProgramOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMultiplexProgram API operation for AWS Elemental MediaLive. +// +// Update a program in a multiplex. +// +// 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 Elemental MediaLive's +// API operation UpdateMultiplexProgram for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeUnprocessableEntityException "UnprocessableEntityException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateMultiplexProgram +func (c *MediaLive) UpdateMultiplexProgram(input *UpdateMultiplexProgramInput) (*UpdateMultiplexProgramOutput, error) { + req, out := c.UpdateMultiplexProgramRequest(input) + return out, req.Send() +} + +// UpdateMultiplexProgramWithContext is the same as UpdateMultiplexProgram with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMultiplexProgram 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 *MediaLive) UpdateMultiplexProgramWithContext(ctx aws.Context, input *UpdateMultiplexProgramInput, opts ...request.Option) (*UpdateMultiplexProgramOutput, error) { + req, out := c.UpdateMultiplexProgramRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateReservation = "UpdateReservation" + +// UpdateReservationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateReservation 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 UpdateReservation for more information on using the UpdateReservation +// 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 UpdateReservationRequest method. +// req, resp := client.UpdateReservationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateReservation +func (c *MediaLive) UpdateReservationRequest(input *UpdateReservationInput) (req *request.Request, output *UpdateReservationOutput) { + op := &request.Operation{ + Name: opUpdateReservation, + HTTPMethod: "PUT", + HTTPPath: "/prod/reservations/{reservationId}", + } + + if input == nil { + input = &UpdateReservationInput{} + } + + output = &UpdateReservationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateReservation API operation for AWS Elemental MediaLive. +// +// Update reservation. +// +// 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 Elemental MediaLive's +// API operation UpdateReservation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// +// * ErrCodeForbiddenException "ForbiddenException" +// +// * ErrCodeBadGatewayException "BadGatewayException" +// +// * ErrCodeNotFoundException "NotFoundException" +// +// * ErrCodeGatewayTimeoutException "GatewayTimeoutException" +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// +// * ErrCodeConflictException "ConflictException" +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateReservation +func (c *MediaLive) UpdateReservation(input *UpdateReservationInput) (*UpdateReservationOutput, error) { + req, out := c.UpdateReservationRequest(input) + return out, req.Send() +} + +// UpdateReservationWithContext is the same as UpdateReservation with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateReservation 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 *MediaLive) UpdateReservationWithContext(ctx aws.Context, input *UpdateReservationInput, opts ...request.Option) (*UpdateReservationOutput, error) { + req, out := c.UpdateReservationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Aac Settings +type AacSettings struct { + _ struct{} `type:"structure"` + + // Average bitrate in bits/second. Valid values depend on rate control mode + // and profile. + Bitrate *float64 `locationName:"bitrate" type:"double"` + + // Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control + // mode and profile. The adReceiverMix setting receives a stereo description + // plus control track and emits a mono AAC encode of the description track, + // with control data emitted in the PES header as per ETSI TS 101 154 Annex + // E. + CodingMode *string `locationName:"codingMode" type:"string" enum:"AacCodingMode"` + + // Set to "broadcasterMixedAd" when input contains pre-mixed main audio + AD + // (narration) as a stereo pair. The Audio Type field (audioType) will be set + // to 3, which signals to downstream systems that this stream contains "broadcaster + // mixed AD". Note that the input received by the encoder must contain pre-mixed + // audio; the encoder does not perform the mixing. The values in audioTypeControl + // and audioType (in AudioDescription) are ignored when set to broadcasterMixedAd.Leave + // set to "normal" when input does not contain pre-mixed audio + AD. + InputType *string `locationName:"inputType" type:"string" enum:"AacInputType"` + + // AAC Profile. + Profile *string `locationName:"profile" type:"string" enum:"AacProfile"` + + // Rate Control Mode. + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"AacRateControlMode"` + + // Sets LATM / LOAS AAC output for raw containers. + RawFormat *string `locationName:"rawFormat" type:"string" enum:"AacRawFormat"` + + // Sample rate in Hz. Valid values depend on rate control mode and profile. + SampleRate *float64 `locationName:"sampleRate" type:"double"` + + // Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport + // Stream containers. + Spec *string `locationName:"spec" type:"string" enum:"AacSpec"` + + // VBR Quality Level - Only used if rateControlMode is VBR. + VbrQuality *string `locationName:"vbrQuality" type:"string" enum:"AacVbrQuality"` +} + +// String returns the string representation +func (s AacSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AacSettings) GoString() string { + return s.String() +} + +// SetBitrate sets the Bitrate field's value. +func (s *AacSettings) SetBitrate(v float64) *AacSettings { + s.Bitrate = &v + return s +} + +// SetCodingMode sets the CodingMode field's value. +func (s *AacSettings) SetCodingMode(v string) *AacSettings { + s.CodingMode = &v + return s +} + +// SetInputType sets the InputType field's value. +func (s *AacSettings) SetInputType(v string) *AacSettings { + s.InputType = &v + return s +} + +// SetProfile sets the Profile field's value. +func (s *AacSettings) SetProfile(v string) *AacSettings { + s.Profile = &v + return s +} + +// SetRateControlMode sets the RateControlMode field's value. +func (s *AacSettings) SetRateControlMode(v string) *AacSettings { + s.RateControlMode = &v + return s +} + +// SetRawFormat sets the RawFormat field's value. +func (s *AacSettings) SetRawFormat(v string) *AacSettings { + s.RawFormat = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *AacSettings) SetSampleRate(v float64) *AacSettings { + s.SampleRate = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *AacSettings) SetSpec(v string) *AacSettings { + s.Spec = &v + return s +} + +// SetVbrQuality sets the VbrQuality field's value. +func (s *AacSettings) SetVbrQuality(v string) *AacSettings { + s.VbrQuality = &v + return s +} + +// Ac3 Settings +type Ac3Settings struct { + _ struct{} `type:"structure"` + + // Average bitrate in bits/second. Valid bitrates depend on the coding mode. + Bitrate *float64 `locationName:"bitrate" type:"double"` + + // Specifies the bitstream mode (bsmod) for the emitted AC-3 stream. See ATSC + // A/52-2012 for background on these values. + BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Ac3BitstreamMode"` + + // Dolby Digital coding mode. Determines number of channels. + CodingMode *string `locationName:"codingMode" type:"string" enum:"Ac3CodingMode"` + + // Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, + // dialnorm will be passed through. + Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` + + // If set to filmStandard, adds dynamic range compression signaling to the output + // bitstream as defined in the Dolby Digital specification. + DrcProfile *string `locationName:"drcProfile" type:"string" enum:"Ac3DrcProfile"` + + // When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior + // to encoding. Only valid in codingMode32Lfe mode. + LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Ac3LfeFilter"` + + // When set to "followInput", encoder metadata will be sourced from the DD, + // DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied + // from one of these streams, then the static metadata settings will be used. + MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Ac3MetadataControl"` +} + +// String returns the string representation +func (s Ac3Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Ac3Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Ac3Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Ac3Settings"} + if s.Dialnorm != nil && *s.Dialnorm < 1 { + invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitrate sets the Bitrate field's value. +func (s *Ac3Settings) SetBitrate(v float64) *Ac3Settings { + s.Bitrate = &v + return s +} + +// SetBitstreamMode sets the BitstreamMode field's value. +func (s *Ac3Settings) SetBitstreamMode(v string) *Ac3Settings { + s.BitstreamMode = &v + return s +} + +// SetCodingMode sets the CodingMode field's value. +func (s *Ac3Settings) SetCodingMode(v string) *Ac3Settings { + s.CodingMode = &v + return s +} + +// SetDialnorm sets the Dialnorm field's value. +func (s *Ac3Settings) SetDialnorm(v int64) *Ac3Settings { + s.Dialnorm = &v + return s +} + +// SetDrcProfile sets the DrcProfile field's value. +func (s *Ac3Settings) SetDrcProfile(v string) *Ac3Settings { + s.DrcProfile = &v + return s +} + +// SetLfeFilter sets the LfeFilter field's value. +func (s *Ac3Settings) SetLfeFilter(v string) *Ac3Settings { + s.LfeFilter = &v + return s +} + +// SetMetadataControl sets the MetadataControl field's value. +func (s *Ac3Settings) SetMetadataControl(v string) *Ac3Settings { + s.MetadataControl = &v + return s +} + +// Archive Container Settings +type ArchiveContainerSettings struct { + _ struct{} `type:"structure"` + + // M2ts Settings + M2tsSettings *M2tsSettings `locationName:"m2tsSettings" type:"structure"` +} + +// String returns the string representation +func (s ArchiveContainerSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ArchiveContainerSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveContainerSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveContainerSettings"} + if s.M2tsSettings != nil { + if err := s.M2tsSettings.Validate(); err != nil { + invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetM2tsSettings sets the M2tsSettings field's value. +func (s *ArchiveContainerSettings) SetM2tsSettings(v *M2tsSettings) *ArchiveContainerSettings { + s.M2tsSettings = v + return s +} + +// Archive Group Settings +type ArchiveGroupSettings struct { + _ struct{} `type:"structure"` + + // A directory and base filename where archive files should be written. + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` + + // Number of seconds to write to archive file before closing and starting a + // new one. + RolloverInterval *int64 `locationName:"rolloverInterval" min:"1" type:"integer"` +} + +// String returns the string representation +func (s ArchiveGroupSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ArchiveGroupSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveGroupSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.RolloverInterval != nil && *s.RolloverInterval < 1 { + invalidParams.Add(request.NewErrParamMinValue("RolloverInterval", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestination sets the Destination field's value. +func (s *ArchiveGroupSettings) SetDestination(v *OutputLocationRef) *ArchiveGroupSettings { + s.Destination = v + return s +} + +// SetRolloverInterval sets the RolloverInterval field's value. +func (s *ArchiveGroupSettings) SetRolloverInterval(v int64) *ArchiveGroupSettings { + s.RolloverInterval = &v + return s +} + +// Archive Output Settings +type ArchiveOutputSettings struct { + _ struct{} `type:"structure"` + + // Settings specific to the container type of the file. + // + // ContainerSettings is a required field + ContainerSettings *ArchiveContainerSettings `locationName:"containerSettings" type:"structure" required:"true"` + + // Output file extension. If excluded, this will be auto-selected from the container + // type. + Extension *string `locationName:"extension" type:"string"` + + // String concatenated to the end of the destination filename. Required for + // multiple outputs of the same type. + NameModifier *string `locationName:"nameModifier" type:"string"` +} + +// String returns the string representation +func (s ArchiveOutputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ArchiveOutputSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveOutputSettings"} + if s.ContainerSettings == nil { + invalidParams.Add(request.NewErrParamRequired("ContainerSettings")) + } + if s.ContainerSettings != nil { + if err := s.ContainerSettings.Validate(); err != nil { + invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainerSettings sets the ContainerSettings field's value. +func (s *ArchiveOutputSettings) SetContainerSettings(v *ArchiveContainerSettings) *ArchiveOutputSettings { + s.ContainerSettings = v + return s +} + +// SetExtension sets the Extension field's value. +func (s *ArchiveOutputSettings) SetExtension(v string) *ArchiveOutputSettings { + s.Extension = &v + return s +} + +// SetNameModifier sets the NameModifier field's value. +func (s *ArchiveOutputSettings) SetNameModifier(v string) *ArchiveOutputSettings { + s.NameModifier = &v + return s +} + +// Arib Destination Settings +type AribDestinationSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AribDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AribDestinationSettings) GoString() string { + return s.String() +} + +// Arib Source Settings +type AribSourceSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AribSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AribSourceSettings) GoString() string { + return s.String() +} + +// Audio Channel Mapping +type AudioChannelMapping struct { + _ struct{} `type:"structure"` + + // Indices and gain values for each input channel that should be remixed into + // this output channel. + // + // InputChannelLevels is a required field + InputChannelLevels []*InputChannelLevel `locationName:"inputChannelLevels" type:"list" required:"true"` + + // The index of the output channel being produced. + // + // OutputChannel is a required field + OutputChannel *int64 `locationName:"outputChannel" type:"integer" required:"true"` +} + +// String returns the string representation +func (s AudioChannelMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioChannelMapping) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioChannelMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioChannelMapping"} + if s.InputChannelLevels == nil { + invalidParams.Add(request.NewErrParamRequired("InputChannelLevels")) + } + if s.OutputChannel == nil { + invalidParams.Add(request.NewErrParamRequired("OutputChannel")) + } + if s.InputChannelLevels != nil { + for i, v := range s.InputChannelLevels { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputChannelLevels", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputChannelLevels sets the InputChannelLevels field's value. +func (s *AudioChannelMapping) SetInputChannelLevels(v []*InputChannelLevel) *AudioChannelMapping { + s.InputChannelLevels = v + return s +} + +// SetOutputChannel sets the OutputChannel field's value. +func (s *AudioChannelMapping) SetOutputChannel(v int64) *AudioChannelMapping { + s.OutputChannel = &v + return s +} + +// Audio Codec Settings +type AudioCodecSettings struct { + _ struct{} `type:"structure"` + + // Aac Settings + AacSettings *AacSettings `locationName:"aacSettings" type:"structure"` + + // Ac3 Settings + Ac3Settings *Ac3Settings `locationName:"ac3Settings" type:"structure"` + + // Eac3 Settings + Eac3Settings *Eac3Settings `locationName:"eac3Settings" type:"structure"` + + // Mp2 Settings + Mp2Settings *Mp2Settings `locationName:"mp2Settings" type:"structure"` + + // Pass Through Settings + PassThroughSettings *PassThroughSettings `locationName:"passThroughSettings" type:"structure"` +} + +// String returns the string representation +func (s AudioCodecSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioCodecSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioCodecSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioCodecSettings"} + if s.Ac3Settings != nil { + if err := s.Ac3Settings.Validate(); err != nil { + invalidParams.AddNested("Ac3Settings", err.(request.ErrInvalidParams)) + } + } + if s.Eac3Settings != nil { + if err := s.Eac3Settings.Validate(); err != nil { + invalidParams.AddNested("Eac3Settings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAacSettings sets the AacSettings field's value. +func (s *AudioCodecSettings) SetAacSettings(v *AacSettings) *AudioCodecSettings { + s.AacSettings = v + return s +} + +// SetAc3Settings sets the Ac3Settings field's value. +func (s *AudioCodecSettings) SetAc3Settings(v *Ac3Settings) *AudioCodecSettings { + s.Ac3Settings = v + return s +} + +// SetEac3Settings sets the Eac3Settings field's value. +func (s *AudioCodecSettings) SetEac3Settings(v *Eac3Settings) *AudioCodecSettings { + s.Eac3Settings = v + return s +} + +// SetMp2Settings sets the Mp2Settings field's value. +func (s *AudioCodecSettings) SetMp2Settings(v *Mp2Settings) *AudioCodecSettings { + s.Mp2Settings = v + return s +} + +// SetPassThroughSettings sets the PassThroughSettings field's value. +func (s *AudioCodecSettings) SetPassThroughSettings(v *PassThroughSettings) *AudioCodecSettings { + s.PassThroughSettings = v + return s +} + +// Audio Description +type AudioDescription struct { + _ struct{} `type:"structure"` + + // Advanced audio normalization settings. + AudioNormalizationSettings *AudioNormalizationSettings `locationName:"audioNormalizationSettings" type:"structure"` + + // The name of the AudioSelector used as the source for this AudioDescription. + // + // AudioSelectorName is a required field + AudioSelectorName *string `locationName:"audioSelectorName" type:"string" required:"true"` + + // Applies only if audioTypeControl is useConfigured. The values for audioType + // are defined in ISO-IEC 13818-1. + AudioType *string `locationName:"audioType" type:"string" enum:"AudioType"` + + // Determines how audio type is determined. followInput: If the input contains + // an ISO 639 audioType, then that value is passed through to the output. If + // the input contains no ISO 639 audioType, the value in Audio Type is included + // in the output. useConfigured: The value in Audio Type is included in the + // output.Note that this field and audioType are both ignored if inputType is + // broadcasterMixedAd. + AudioTypeControl *string `locationName:"audioTypeControl" type:"string" enum:"AudioDescriptionAudioTypeControl"` + + // Audio codec settings. + CodecSettings *AudioCodecSettings `locationName:"codecSettings" type:"structure"` + + // Indicates the language of the audio output track. Only used if languageControlMode + // is useConfigured, or there is no ISO 639 language code specified in the input. + LanguageCode *string `locationName:"languageCode" min:"3" type:"string"` + + // Choosing followInput will cause the ISO 639 language code of the output to + // follow the ISO 639 language code of the input. The languageCode will be used + // when useConfigured is set, or when followInput is selected but there is no + // ISO 639 language code specified by the input. + LanguageCodeControl *string `locationName:"languageCodeControl" type:"string" enum:"AudioDescriptionLanguageCodeControl"` + + // The name of this AudioDescription. Outputs will use this name to uniquely + // identify this AudioDescription. Description names should be unique within + // this Live Event. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // Settings that control how input audio channels are remixed into the output + // audio channels. + RemixSettings *RemixSettings `locationName:"remixSettings" type:"structure"` + + // Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by + // the player (eg. English, or Director Commentary). + StreamName *string `locationName:"streamName" type:"string"` +} + +// String returns the string representation +func (s AudioDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioDescription) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioDescription"} + if s.AudioSelectorName == nil { + invalidParams.Add(request.NewErrParamRequired("AudioSelectorName")) + } + if s.LanguageCode != nil && len(*s.LanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.CodecSettings != nil { + if err := s.CodecSettings.Validate(); err != nil { + invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams)) + } + } + if s.RemixSettings != nil { + if err := s.RemixSettings.Validate(); err != nil { + invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioNormalizationSettings sets the AudioNormalizationSettings field's value. +func (s *AudioDescription) SetAudioNormalizationSettings(v *AudioNormalizationSettings) *AudioDescription { + s.AudioNormalizationSettings = v + return s +} + +// SetAudioSelectorName sets the AudioSelectorName field's value. +func (s *AudioDescription) SetAudioSelectorName(v string) *AudioDescription { + s.AudioSelectorName = &v + return s +} + +// SetAudioType sets the AudioType field's value. +func (s *AudioDescription) SetAudioType(v string) *AudioDescription { + s.AudioType = &v + return s +} + +// SetAudioTypeControl sets the AudioTypeControl field's value. +func (s *AudioDescription) SetAudioTypeControl(v string) *AudioDescription { + s.AudioTypeControl = &v + return s +} + +// SetCodecSettings sets the CodecSettings field's value. +func (s *AudioDescription) SetCodecSettings(v *AudioCodecSettings) *AudioDescription { + s.CodecSettings = v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *AudioDescription) SetLanguageCode(v string) *AudioDescription { + s.LanguageCode = &v + return s +} + +// SetLanguageCodeControl sets the LanguageCodeControl field's value. +func (s *AudioDescription) SetLanguageCodeControl(v string) *AudioDescription { + s.LanguageCodeControl = &v + return s +} + +// SetName sets the Name field's value. +func (s *AudioDescription) SetName(v string) *AudioDescription { + s.Name = &v + return s +} + +// SetRemixSettings sets the RemixSettings field's value. +func (s *AudioDescription) SetRemixSettings(v *RemixSettings) *AudioDescription { + s.RemixSettings = v + return s +} + +// SetStreamName sets the StreamName field's value. +func (s *AudioDescription) SetStreamName(v string) *AudioDescription { + s.StreamName = &v + return s +} + +// Audio Language Selection +type AudioLanguageSelection struct { + _ struct{} `type:"structure"` + + // Selects a specific three-letter language code from within an audio source. + // + // LanguageCode is a required field + LanguageCode *string `locationName:"languageCode" type:"string" required:"true"` + + // When set to "strict", the transport stream demux strictly identifies audio + // streams by their language descriptor. If a PMT update occurs such that an + // audio stream matching the initially selected language is no longer present + // then mute will be encoded until the language returns. If "loose", then on + // a PMT update the demux will choose another audio stream in the program with + // the same stream type if it can't find one with the same language. + LanguageSelectionPolicy *string `locationName:"languageSelectionPolicy" type:"string" enum:"AudioLanguageSelectionPolicy"` +} + +// String returns the string representation +func (s AudioLanguageSelection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioLanguageSelection) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioLanguageSelection) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioLanguageSelection"} + if s.LanguageCode == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageCode")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *AudioLanguageSelection) SetLanguageCode(v string) *AudioLanguageSelection { + s.LanguageCode = &v + return s +} + +// SetLanguageSelectionPolicy sets the LanguageSelectionPolicy field's value. +func (s *AudioLanguageSelection) SetLanguageSelectionPolicy(v string) *AudioLanguageSelection { + s.LanguageSelectionPolicy = &v + return s +} + +// Audio Normalization Settings +type AudioNormalizationSettings struct { + _ struct{} `type:"structure"` + + // Audio normalization algorithm to use. itu17701 conforms to the CALM Act specification, + // itu17702 conforms to the EBU R-128 specification. + Algorithm *string `locationName:"algorithm" type:"string" enum:"AudioNormalizationAlgorithm"` + + // When set to correctAudio the output audio is corrected using the chosen algorithm. + // If set to measureOnly, the audio will be measured but not adjusted. + AlgorithmControl *string `locationName:"algorithmControl" type:"string" enum:"AudioNormalizationAlgorithmControl"` + + // Target LKFS(loudness) to adjust volume to. If no value is entered, a default + // value will be used according to the chosen algorithm. The CALM Act (1770-1) + // recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends + // a target of -23 LKFS. + TargetLkfs *float64 `locationName:"targetLkfs" type:"double"` +} + +// String returns the string representation +func (s AudioNormalizationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioNormalizationSettings) GoString() string { + return s.String() +} + +// SetAlgorithm sets the Algorithm field's value. +func (s *AudioNormalizationSettings) SetAlgorithm(v string) *AudioNormalizationSettings { + s.Algorithm = &v + return s +} + +// SetAlgorithmControl sets the AlgorithmControl field's value. +func (s *AudioNormalizationSettings) SetAlgorithmControl(v string) *AudioNormalizationSettings { + s.AlgorithmControl = &v + return s +} + +// SetTargetLkfs sets the TargetLkfs field's value. +func (s *AudioNormalizationSettings) SetTargetLkfs(v float64) *AudioNormalizationSettings { + s.TargetLkfs = &v + return s +} + +// Audio Only Hls Settings +type AudioOnlyHlsSettings struct { + _ struct{} `type:"structure"` + + // Specifies the group to which the audio Rendition belongs. + AudioGroupId *string `locationName:"audioGroupId" type:"string"` + + // Optional. Specifies the .jpg or .png image to use as the cover art for an + // audio-only output. We recommend a low bit-size file because the image increases + // the output audio bandwidth.The image is attached to the audio as an ID3 tag, + // frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native + // Frames" standard. + AudioOnlyImage *InputLocation `locationName:"audioOnlyImage" type:"structure"` + + // Four types of audio-only tracks are supported:Audio-Only Variant StreamThe + // client can play back this audio-only stream instead of video in low-bandwidth + // scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.Alternate + // Audio, Auto Select, DefaultAlternate rendition that the client should try + // to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest + // with DEFAULT=YES, AUTOSELECT=YESAlternate Audio, Auto Select, Not DefaultAlternate + // rendition that the client may try to play back by default. Represented as + // an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YESAlternate + // Audio, not Auto SelectAlternate rendition that the client will not try to + // play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with + // DEFAULT=NO, AUTOSELECT=NO + AudioTrackType *string `locationName:"audioTrackType" type:"string" enum:"AudioOnlyHlsTrackType"` +} + +// String returns the string representation +func (s AudioOnlyHlsSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioOnlyHlsSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioOnlyHlsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioOnlyHlsSettings"} + if s.AudioOnlyImage != nil { + if err := s.AudioOnlyImage.Validate(); err != nil { + invalidParams.AddNested("AudioOnlyImage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioGroupId sets the AudioGroupId field's value. +func (s *AudioOnlyHlsSettings) SetAudioGroupId(v string) *AudioOnlyHlsSettings { + s.AudioGroupId = &v + return s +} + +// SetAudioOnlyImage sets the AudioOnlyImage field's value. +func (s *AudioOnlyHlsSettings) SetAudioOnlyImage(v *InputLocation) *AudioOnlyHlsSettings { + s.AudioOnlyImage = v + return s +} + +// SetAudioTrackType sets the AudioTrackType field's value. +func (s *AudioOnlyHlsSettings) SetAudioTrackType(v string) *AudioOnlyHlsSettings { + s.AudioTrackType = &v + return s +} + +// Audio Pid Selection +type AudioPidSelection struct { + _ struct{} `type:"structure"` + + // Selects a specific PID from within a source. + // + // Pid is a required field + Pid *int64 `locationName:"pid" type:"integer" required:"true"` +} + +// String returns the string representation +func (s AudioPidSelection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioPidSelection) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioPidSelection) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioPidSelection"} + if s.Pid == nil { + invalidParams.Add(request.NewErrParamRequired("Pid")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPid sets the Pid field's value. +func (s *AudioPidSelection) SetPid(v int64) *AudioPidSelection { + s.Pid = &v + return s +} + +// Audio Selector +type AudioSelector struct { + _ struct{} `type:"structure"` + + // The name of this AudioSelector. AudioDescriptions will use this name to uniquely + // identify this Selector. Selector names should be unique per input. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The audio selector settings. + SelectorSettings *AudioSelectorSettings `locationName:"selectorSettings" type:"structure"` +} + +// String returns the string representation +func (s AudioSelector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioSelector) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioSelector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioSelector"} + 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.SelectorSettings != nil { + if err := s.SelectorSettings.Validate(); err != nil { + invalidParams.AddNested("SelectorSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *AudioSelector) SetName(v string) *AudioSelector { + s.Name = &v + return s +} + +// SetSelectorSettings sets the SelectorSettings field's value. +func (s *AudioSelector) SetSelectorSettings(v *AudioSelectorSettings) *AudioSelector { + s.SelectorSettings = v + return s +} + +// Audio Selector Settings +type AudioSelectorSettings struct { + _ struct{} `type:"structure"` + + // Audio Language Selection + AudioLanguageSelection *AudioLanguageSelection `locationName:"audioLanguageSelection" type:"structure"` + + // Audio Pid Selection + AudioPidSelection *AudioPidSelection `locationName:"audioPidSelection" type:"structure"` +} + +// String returns the string representation +func (s AudioSelectorSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioSelectorSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudioSelectorSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudioSelectorSettings"} + if s.AudioLanguageSelection != nil { + if err := s.AudioLanguageSelection.Validate(); err != nil { + invalidParams.AddNested("AudioLanguageSelection", err.(request.ErrInvalidParams)) + } + } + if s.AudioPidSelection != nil { + if err := s.AudioPidSelection.Validate(); err != nil { + invalidParams.AddNested("AudioPidSelection", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudioLanguageSelection sets the AudioLanguageSelection field's value. +func (s *AudioSelectorSettings) SetAudioLanguageSelection(v *AudioLanguageSelection) *AudioSelectorSettings { + s.AudioLanguageSelection = v + return s +} + +// SetAudioPidSelection sets the AudioPidSelection field's value. +func (s *AudioSelectorSettings) SetAudioPidSelection(v *AudioPidSelection) *AudioSelectorSettings { + s.AudioPidSelection = v + return s +} + +// Avail Blanking +type AvailBlanking struct { + _ struct{} `type:"structure"` + + // Blanking image to be used. Leave empty for solid black. Only bmp and png + // images are supported. + AvailBlankingImage *InputLocation `locationName:"availBlankingImage" type:"structure"` + + // When set to enabled, causes video, audio and captions to be blanked when + // insertion metadata is added. + State *string `locationName:"state" type:"string" enum:"AvailBlankingState"` +} + +// String returns the string representation +func (s AvailBlanking) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AvailBlanking) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailBlanking) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailBlanking"} + if s.AvailBlankingImage != nil { + if err := s.AvailBlankingImage.Validate(); err != nil { + invalidParams.AddNested("AvailBlankingImage", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailBlankingImage sets the AvailBlankingImage field's value. +func (s *AvailBlanking) SetAvailBlankingImage(v *InputLocation) *AvailBlanking { + s.AvailBlankingImage = v + return s +} + +// SetState sets the State field's value. +func (s *AvailBlanking) SetState(v string) *AvailBlanking { + s.State = &v + return s +} + +// Avail Configuration +type AvailConfiguration struct { + _ struct{} `type:"structure"` + + // Ad avail settings. + AvailSettings *AvailSettings `locationName:"availSettings" type:"structure"` +} + +// String returns the string representation +func (s AvailConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AvailConfiguration) GoString() string { + return s.String() +} - // AAC Profile. - Profile *string `locationName:"profile" type:"string" enum:"AacProfile"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailConfiguration"} + if s.AvailSettings != nil { + if err := s.AvailSettings.Validate(); err != nil { + invalidParams.AddNested("AvailSettings", err.(request.ErrInvalidParams)) + } + } - // Rate Control Mode. - RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"AacRateControlMode"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Sets LATM / LOAS AAC output for raw containers. - RawFormat *string `locationName:"rawFormat" type:"string" enum:"AacRawFormat"` +// SetAvailSettings sets the AvailSettings field's value. +func (s *AvailConfiguration) SetAvailSettings(v *AvailSettings) *AvailConfiguration { + s.AvailSettings = v + return s +} - // Sample rate in Hz. Valid values depend on rate control mode and profile. - SampleRate *float64 `locationName:"sampleRate" type:"double"` +// Avail Settings +type AvailSettings struct { + _ struct{} `type:"structure"` - // Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport - // Stream containers. - Spec *string `locationName:"spec" type:"string" enum:"AacSpec"` + // Scte35 Splice Insert + Scte35SpliceInsert *Scte35SpliceInsert `locationName:"scte35SpliceInsert" type:"structure"` - // VBR Quality Level - Only used if rateControlMode is VBR. - VbrQuality *string `locationName:"vbrQuality" type:"string" enum:"AacVbrQuality"` + // Scte35 Time Signal Apos + Scte35TimeSignalApos *Scte35TimeSignalApos `locationName:"scte35TimeSignalApos" type:"structure"` } // String returns the string representation -func (s AacSettings) String() string { +func (s AvailSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AacSettings) GoString() string { +func (s AvailSettings) GoString() string { return s.String() } -// SetBitrate sets the Bitrate field's value. -func (s *AacSettings) SetBitrate(v float64) *AacSettings { - s.Bitrate = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *AvailSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AvailSettings"} + if s.Scte35SpliceInsert != nil { + if err := s.Scte35SpliceInsert.Validate(); err != nil { + invalidParams.AddNested("Scte35SpliceInsert", err.(request.ErrInvalidParams)) + } + } + if s.Scte35TimeSignalApos != nil { + if err := s.Scte35TimeSignalApos.Validate(); err != nil { + invalidParams.AddNested("Scte35TimeSignalApos", err.(request.ErrInvalidParams)) + } + } -// SetCodingMode sets the CodingMode field's value. -func (s *AacSettings) SetCodingMode(v string) *AacSettings { - s.CodingMode = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetInputType sets the InputType field's value. -func (s *AacSettings) SetInputType(v string) *AacSettings { - s.InputType = &v +// SetScte35SpliceInsert sets the Scte35SpliceInsert field's value. +func (s *AvailSettings) SetScte35SpliceInsert(v *Scte35SpliceInsert) *AvailSettings { + s.Scte35SpliceInsert = v return s } -// SetProfile sets the Profile field's value. -func (s *AacSettings) SetProfile(v string) *AacSettings { - s.Profile = &v +// SetScte35TimeSignalApos sets the Scte35TimeSignalApos field's value. +func (s *AvailSettings) SetScte35TimeSignalApos(v *Scte35TimeSignalApos) *AvailSettings { + s.Scte35TimeSignalApos = v return s } -// SetRateControlMode sets the RateControlMode field's value. -func (s *AacSettings) SetRateControlMode(v string) *AacSettings { - s.RateControlMode = &v - return s +// A list of schedule actions to create (in a request) or that have been created +// (in a response). +type BatchScheduleActionCreateRequest struct { + _ struct{} `type:"structure"` + + // A list of schedule actions to create. + // + // ScheduleActions is a required field + ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` } -// SetRawFormat sets the RawFormat field's value. -func (s *AacSettings) SetRawFormat(v string) *AacSettings { - s.RawFormat = &v - return s +// String returns the string representation +func (s BatchScheduleActionCreateRequest) String() string { + return awsutil.Prettify(s) } -// SetSampleRate sets the SampleRate field's value. -func (s *AacSettings) SetSampleRate(v float64) *AacSettings { - s.SampleRate = &v - return s +// GoString returns the string representation +func (s BatchScheduleActionCreateRequest) GoString() string { + return s.String() } -// SetSpec sets the Spec field's value. -func (s *AacSettings) SetSpec(v string) *AacSettings { - s.Spec = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchScheduleActionCreateRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionCreateRequest"} + if s.ScheduleActions == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduleActions")) + } + if s.ScheduleActions != nil { + for i, v := range s.ScheduleActions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScheduleActions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetVbrQuality sets the VbrQuality field's value. -func (s *AacSettings) SetVbrQuality(v string) *AacSettings { - s.VbrQuality = &v +// SetScheduleActions sets the ScheduleActions field's value. +func (s *BatchScheduleActionCreateRequest) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateRequest { + s.ScheduleActions = v return s } -// Ac3 Settings -type Ac3Settings struct { +// List of actions that have been created in the schedule. +type BatchScheduleActionCreateResult struct { _ struct{} `type:"structure"` - // Average bitrate in bits/second. Valid bitrates depend on the coding mode. - Bitrate *float64 `locationName:"bitrate" type:"double"` - - // Specifies the bitstream mode (bsmod) for the emitted AC-3 stream. See ATSC - // A/52-2012 for background on these values. - BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Ac3BitstreamMode"` + // List of actions that have been created in the schedule. + // + // ScheduleActions is a required field + ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` +} - // Dolby Digital coding mode. Determines number of channels. - CodingMode *string `locationName:"codingMode" type:"string" enum:"Ac3CodingMode"` +// String returns the string representation +func (s BatchScheduleActionCreateResult) String() string { + return awsutil.Prettify(s) +} - // Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, - // dialnorm will be passed through. - Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` +// GoString returns the string representation +func (s BatchScheduleActionCreateResult) GoString() string { + return s.String() +} - // If set to filmStandard, adds dynamic range compression signaling to the output - // bitstream as defined in the Dolby Digital specification. - DrcProfile *string `locationName:"drcProfile" type:"string" enum:"Ac3DrcProfile"` +// SetScheduleActions sets the ScheduleActions field's value. +func (s *BatchScheduleActionCreateResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateResult { + s.ScheduleActions = v + return s +} - // When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior - // to encoding. Only valid in codingMode32Lfe mode. - LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Ac3LfeFilter"` +// A list of schedule actions to delete. +type BatchScheduleActionDeleteRequest struct { + _ struct{} `type:"structure"` - // When set to "followInput", encoder metadata will be sourced from the DD, - // DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied - // from one of these streams, then the static metadata settings will be used. - MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Ac3MetadataControl"` + // A list of schedule actions to delete. + // + // ActionNames is a required field + ActionNames []*string `locationName:"actionNames" type:"list" required:"true"` } // String returns the string representation -func (s Ac3Settings) String() string { +func (s BatchScheduleActionDeleteRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Ac3Settings) GoString() string { +func (s BatchScheduleActionDeleteRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Ac3Settings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Ac3Settings"} - if s.Dialnorm != nil && *s.Dialnorm < 1 { - invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) +func (s *BatchScheduleActionDeleteRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionDeleteRequest"} + if s.ActionNames == nil { + invalidParams.Add(request.NewErrParamRequired("ActionNames")) } if invalidParams.Len() > 0 { @@ -3308,72 +5614,80 @@ func (s *Ac3Settings) Validate() error { return nil } -// SetBitrate sets the Bitrate field's value. -func (s *Ac3Settings) SetBitrate(v float64) *Ac3Settings { - s.Bitrate = &v - return s -} - -// SetBitstreamMode sets the BitstreamMode field's value. -func (s *Ac3Settings) SetBitstreamMode(v string) *Ac3Settings { - s.BitstreamMode = &v +// SetActionNames sets the ActionNames field's value. +func (s *BatchScheduleActionDeleteRequest) SetActionNames(v []*string) *BatchScheduleActionDeleteRequest { + s.ActionNames = v return s } -// SetCodingMode sets the CodingMode field's value. -func (s *Ac3Settings) SetCodingMode(v string) *Ac3Settings { - s.CodingMode = &v - return s -} +// List of actions that have been deleted from the schedule. +type BatchScheduleActionDeleteResult struct { + _ struct{} `type:"structure"` -// SetDialnorm sets the Dialnorm field's value. -func (s *Ac3Settings) SetDialnorm(v int64) *Ac3Settings { - s.Dialnorm = &v - return s + // List of actions that have been deleted from the schedule. + // + // ScheduleActions is a required field + ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` } -// SetDrcProfile sets the DrcProfile field's value. -func (s *Ac3Settings) SetDrcProfile(v string) *Ac3Settings { - s.DrcProfile = &v - return s +// String returns the string representation +func (s BatchScheduleActionDeleteResult) String() string { + return awsutil.Prettify(s) } -// SetLfeFilter sets the LfeFilter field's value. -func (s *Ac3Settings) SetLfeFilter(v string) *Ac3Settings { - s.LfeFilter = &v - return s +// GoString returns the string representation +func (s BatchScheduleActionDeleteResult) GoString() string { + return s.String() } -// SetMetadataControl sets the MetadataControl field's value. -func (s *Ac3Settings) SetMetadataControl(v string) *Ac3Settings { - s.MetadataControl = &v +// SetScheduleActions sets the ScheduleActions field's value. +func (s *BatchScheduleActionDeleteResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionDeleteResult { + s.ScheduleActions = v return s } -// Archive Container Settings -type ArchiveContainerSettings struct { +// A request to create actions (add actions to the schedule), delete actions +// (remove actions from the schedule), or both create and delete actions. +type BatchUpdateScheduleInput struct { _ struct{} `type:"structure"` - // M2ts Settings - M2tsSettings *M2tsSettings `locationName:"m2tsSettings" type:"structure"` + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` + + // Schedule actions to create in the schedule. + Creates *BatchScheduleActionCreateRequest `locationName:"creates" type:"structure"` + + // Schedule actions to delete from the schedule. + Deletes *BatchScheduleActionDeleteRequest `locationName:"deletes" type:"structure"` } // String returns the string representation -func (s ArchiveContainerSettings) String() string { +func (s BatchUpdateScheduleInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ArchiveContainerSettings) GoString() string { +func (s BatchUpdateScheduleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ArchiveContainerSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ArchiveContainerSettings"} - if s.M2tsSettings != nil { - if err := s.M2tsSettings.Validate(); err != nil { - invalidParams.AddNested("M2tsSettings", err.(request.ErrInvalidParams)) +func (s *BatchUpdateScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchUpdateScheduleInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + if s.Creates != nil { + if err := s.Creates.Validate(); err != nil { + invalidParams.AddNested("Creates", err.(request.ErrInvalidParams)) + } + } + if s.Deletes != nil { + if err := s.Deletes.Validate(); err != nil { + invalidParams.AddNested("Deletes", err.(request.ErrInvalidParams)) } } @@ -3383,101 +5697,108 @@ func (s *ArchiveContainerSettings) Validate() error { return nil } -// SetM2tsSettings sets the M2tsSettings field's value. -func (s *ArchiveContainerSettings) SetM2tsSettings(v *M2tsSettings) *ArchiveContainerSettings { - s.M2tsSettings = v +// SetChannelId sets the ChannelId field's value. +func (s *BatchUpdateScheduleInput) SetChannelId(v string) *BatchUpdateScheduleInput { + s.ChannelId = &v return s } -// Archive Group Settings -type ArchiveGroupSettings struct { +// SetCreates sets the Creates field's value. +func (s *BatchUpdateScheduleInput) SetCreates(v *BatchScheduleActionCreateRequest) *BatchUpdateScheduleInput { + s.Creates = v + return s +} + +// SetDeletes sets the Deletes field's value. +func (s *BatchUpdateScheduleInput) SetDeletes(v *BatchScheduleActionDeleteRequest) *BatchUpdateScheduleInput { + s.Deletes = v + return s +} + +type BatchUpdateScheduleOutput struct { _ struct{} `type:"structure"` - // A directory and base filename where archive files should be written. - // - // Destination is a required field - Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` + // List of actions that have been created in the schedule. + Creates *BatchScheduleActionCreateResult `locationName:"creates" type:"structure"` - // Number of seconds to write to archive file before closing and starting a - // new one. - RolloverInterval *int64 `locationName:"rolloverInterval" min:"1" type:"integer"` + // List of actions that have been deleted from the schedule. + Deletes *BatchScheduleActionDeleteResult `locationName:"deletes" type:"structure"` } // String returns the string representation -func (s ArchiveGroupSettings) String() string { +func (s BatchUpdateScheduleOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ArchiveGroupSettings) GoString() string { +func (s BatchUpdateScheduleOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ArchiveGroupSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ArchiveGroupSettings"} - if s.Destination == nil { - invalidParams.Add(request.NewErrParamRequired("Destination")) - } - if s.RolloverInterval != nil && *s.RolloverInterval < 1 { - invalidParams.Add(request.NewErrParamMinValue("RolloverInterval", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDestination sets the Destination field's value. -func (s *ArchiveGroupSettings) SetDestination(v *OutputLocationRef) *ArchiveGroupSettings { - s.Destination = v +// SetCreates sets the Creates field's value. +func (s *BatchUpdateScheduleOutput) SetCreates(v *BatchScheduleActionCreateResult) *BatchUpdateScheduleOutput { + s.Creates = v return s } -// SetRolloverInterval sets the RolloverInterval field's value. -func (s *ArchiveGroupSettings) SetRolloverInterval(v int64) *ArchiveGroupSettings { - s.RolloverInterval = &v +// SetDeletes sets the Deletes field's value. +func (s *BatchUpdateScheduleOutput) SetDeletes(v *BatchScheduleActionDeleteResult) *BatchUpdateScheduleOutput { + s.Deletes = v return s } -// Archive Output Settings -type ArchiveOutputSettings struct { +// Blackout Slate +type BlackoutSlate struct { _ struct{} `type:"structure"` - // Settings specific to the container type of the file. - // - // ContainerSettings is a required field - ContainerSettings *ArchiveContainerSettings `locationName:"containerSettings" type:"structure" required:"true"` + // Blackout slate image to be used. Leave empty for solid black. Only bmp and + // png images are supported. + BlackoutSlateImage *InputLocation `locationName:"blackoutSlateImage" type:"structure"` - // Output file extension. If excluded, this will be auto-selected from the container - // type. - Extension *string `locationName:"extension" type:"string"` + // Setting to enabled causes the encoder to blackout the video, audio, and captions, + // and raise the "Network Blackout Image" slate when an SCTE104/35 Network End + // Segmentation Descriptor is encountered. The blackout will be lifted when + // the Network Start Segmentation Descriptor is encountered. The Network End + // and Network Start descriptors must contain a network ID that matches the + // value entered in "Network ID". + NetworkEndBlackout *string `locationName:"networkEndBlackout" type:"string" enum:"BlackoutSlateNetworkEndBlackout"` - // String concatenated to the end of the destination filename. Required for - // multiple outputs of the same type. - NameModifier *string `locationName:"nameModifier" type:"string"` + // Path to local file to use as Network End Blackout image. Image will be scaled + // to fill the entire output raster. + NetworkEndBlackoutImage *InputLocation `locationName:"networkEndBlackoutImage" type:"structure"` + + // Provides Network ID that matches EIDR ID format (e.g., "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C"). + NetworkId *string `locationName:"networkId" min:"34" type:"string"` + + // When set to enabled, causes video, audio and captions to be blanked when + // indicated by program metadata. + State *string `locationName:"state" type:"string" enum:"BlackoutSlateState"` } // String returns the string representation -func (s ArchiveOutputSettings) String() string { +func (s BlackoutSlate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ArchiveOutputSettings) GoString() string { +func (s BlackoutSlate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ArchiveOutputSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ArchiveOutputSettings"} - if s.ContainerSettings == nil { - invalidParams.Add(request.NewErrParamRequired("ContainerSettings")) +func (s *BlackoutSlate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BlackoutSlate"} + if s.NetworkId != nil && len(*s.NetworkId) < 34 { + invalidParams.Add(request.NewErrParamMinLen("NetworkId", 34)) } - if s.ContainerSettings != nil { - if err := s.ContainerSettings.Validate(); err != nil { - invalidParams.AddNested("ContainerSettings", err.(request.ErrInvalidParams)) + if s.BlackoutSlateImage != nil { + if err := s.BlackoutSlateImage.Validate(); err != nil { + invalidParams.AddNested("BlackoutSlateImage", err.(request.ErrInvalidParams)) + } + } + if s.NetworkEndBlackoutImage != nil { + if err := s.NetworkEndBlackoutImage.Validate(); err != nil { + invalidParams.AddNested("NetworkEndBlackoutImage", err.(request.ErrInvalidParams)) } } @@ -3487,97 +5808,153 @@ func (s *ArchiveOutputSettings) Validate() error { return nil } -// SetContainerSettings sets the ContainerSettings field's value. -func (s *ArchiveOutputSettings) SetContainerSettings(v *ArchiveContainerSettings) *ArchiveOutputSettings { - s.ContainerSettings = v +// SetBlackoutSlateImage sets the BlackoutSlateImage field's value. +func (s *BlackoutSlate) SetBlackoutSlateImage(v *InputLocation) *BlackoutSlate { + s.BlackoutSlateImage = v return s } -// SetExtension sets the Extension field's value. -func (s *ArchiveOutputSettings) SetExtension(v string) *ArchiveOutputSettings { - s.Extension = &v +// SetNetworkEndBlackout sets the NetworkEndBlackout field's value. +func (s *BlackoutSlate) SetNetworkEndBlackout(v string) *BlackoutSlate { + s.NetworkEndBlackout = &v return s } -// SetNameModifier sets the NameModifier field's value. -func (s *ArchiveOutputSettings) SetNameModifier(v string) *ArchiveOutputSettings { - s.NameModifier = &v +// SetNetworkEndBlackoutImage sets the NetworkEndBlackoutImage field's value. +func (s *BlackoutSlate) SetNetworkEndBlackoutImage(v *InputLocation) *BlackoutSlate { + s.NetworkEndBlackoutImage = v return s } -// Arib Destination Settings -type AribDestinationSettings struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s AribDestinationSettings) String() string { - return awsutil.Prettify(s) +// SetNetworkId sets the NetworkId field's value. +func (s *BlackoutSlate) SetNetworkId(v string) *BlackoutSlate { + s.NetworkId = &v + return s } -// GoString returns the string representation -func (s AribDestinationSettings) GoString() string { - return s.String() +// SetState sets the State field's value. +func (s *BlackoutSlate) SetState(v string) *BlackoutSlate { + s.State = &v + return s } -// Arib Source Settings -type AribSourceSettings struct { +// Burn In Destination Settings +type BurnInDestinationSettings struct { _ struct{} `type:"structure"` -} -// String returns the string representation -func (s AribSourceSettings) String() string { - return awsutil.Prettify(s) -} + // If no explicit xPosition or yPosition is provided, setting alignment to centered + // will place the captions at the bottom center of the output. Similarly, setting + // a left alignment will align captions to the bottom left of the output. If + // x and y positions are given in conjunction with the alignment parameter, + // the font will be justified (either left or centered) relative to those coordinates. + // Selecting "smart" justification will left-justify live subtitles and center-justify + // pre-recorded subtitles. All burn-in and DVB-Sub font settings must match. + Alignment *string `locationName:"alignment" type:"string" enum:"BurnInAlignment"` + + // Specifies the color of the rectangle behind the captions. All burn-in and + // DVB-Sub font settings must match. + BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"BurnInBackgroundColor"` + + // Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. + // Leaving this parameter out is equivalent to setting it to 0 (transparent). + // All burn-in and DVB-Sub font settings must match. + BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"` + + // External font file used for caption burn-in. File extension must be 'ttf' + // or 'tte'. Although the user can select output fonts for many different types + // of input captions, embedded, STL and teletext sources use a strict grid system. + // Using external fonts with these caption sources could cause unexpected display + // of proportional fonts. All burn-in and DVB-Sub font settings must match. + Font *InputLocation `locationName:"font" type:"structure"` + + // Specifies the color of the burned-in captions. This option is not valid for + // source captions that are STL, 608/embedded or teletext. These source settings + // are already pre-defined by the caption stream. All burn-in and DVB-Sub font + // settings must match. + FontColor *string `locationName:"fontColor" type:"string" enum:"BurnInFontColor"` + + // Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. + // All burn-in and DVB-Sub font settings must match. + FontOpacity *int64 `locationName:"fontOpacity" type:"integer"` + + // Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and + // DVB-Sub font settings must match. + FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` + + // When set to 'auto' fontSize will scale depending on the size of the output. + // Giving a positive integer will specify the exact font size in points. All + // burn-in and DVB-Sub font settings must match. + FontSize *string `locationName:"fontSize" type:"string"` + + // Specifies font outline color. This option is not valid for source captions + // that are either 608/embedded or teletext. These source settings are already + // pre-defined by the caption stream. All burn-in and DVB-Sub font settings + // must match. + OutlineColor *string `locationName:"outlineColor" type:"string" enum:"BurnInOutlineColor"` + + // Specifies font outline size in pixels. This option is not valid for source + // captions that are either 608/embedded or teletext. These source settings + // are already pre-defined by the caption stream. All burn-in and DVB-Sub font + // settings must match. + OutlineSize *int64 `locationName:"outlineSize" type:"integer"` + + // Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub + // font settings must match. + ShadowColor *string `locationName:"shadowColor" type:"string" enum:"BurnInShadowColor"` + + // Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving + // this parameter out is equivalent to setting it to 0 (transparent). All burn-in + // and DVB-Sub font settings must match. + ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"` -// GoString returns the string representation -func (s AribSourceSettings) GoString() string { - return s.String() -} + // Specifies the horizontal offset of the shadow relative to the captions in + // pixels. A value of -2 would result in a shadow offset 2 pixels to the left. + // All burn-in and DVB-Sub font settings must match. + ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"` -// Audio Channel Mapping -type AudioChannelMapping struct { - _ struct{} `type:"structure"` + // Specifies the vertical offset of the shadow relative to the captions in pixels. + // A value of -2 would result in a shadow offset 2 pixels above the text. All + // burn-in and DVB-Sub font settings must match. + ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` - // Indices and gain values for each input channel that should be remixed into - // this output channel. - // - // InputChannelLevels is a required field - InputChannelLevels []*InputChannelLevel `locationName:"inputChannelLevels" type:"list" required:"true"` + // Controls whether a fixed grid size will be used to generate the output subtitles + // bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs. + TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"BurnInTeletextGridControl"` - // The index of the output channel being produced. - // - // OutputChannel is a required field - OutputChannel *int64 `locationName:"outputChannel" type:"integer" required:"true"` + // Specifies the horizontal position of the caption relative to the left side + // of the output in pixels. A value of 10 would result in the captions starting + // 10 pixels from the left of the output. If no explicit xPosition is provided, + // the horizontal caption position will be determined by the alignment parameter. + // All burn-in and DVB-Sub font settings must match. + XPosition *int64 `locationName:"xPosition" type:"integer"` + + // Specifies the vertical position of the caption relative to the top of the + // output in pixels. A value of 10 would result in the captions starting 10 + // pixels from the top of the output. If no explicit yPosition is provided, + // the caption will be positioned towards the bottom of the output. All burn-in + // and DVB-Sub font settings must match. + YPosition *int64 `locationName:"yPosition" type:"integer"` } // String returns the string representation -func (s AudioChannelMapping) String() string { +func (s BurnInDestinationSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AudioChannelMapping) GoString() string { +func (s BurnInDestinationSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AudioChannelMapping) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioChannelMapping"} - if s.InputChannelLevels == nil { - invalidParams.Add(request.NewErrParamRequired("InputChannelLevels")) - } - if s.OutputChannel == nil { - invalidParams.Add(request.NewErrParamRequired("OutputChannel")) +func (s *BurnInDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BurnInDestinationSettings"} + if s.FontResolution != nil && *s.FontResolution < 96 { + invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) } - if s.InputChannelLevels != nil { - for i, v := range s.InputChannelLevels { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputChannelLevels", i), err.(request.ErrInvalidParams)) - } + if s.Font != nil { + if err := s.Font.Validate(); err != nil { + invalidParams.AddNested("Font", err.(request.ErrInvalidParams)) } } @@ -3587,181 +5964,158 @@ func (s *AudioChannelMapping) Validate() error { return nil } -// SetInputChannelLevels sets the InputChannelLevels field's value. -func (s *AudioChannelMapping) SetInputChannelLevels(v []*InputChannelLevel) *AudioChannelMapping { - s.InputChannelLevels = v +// SetAlignment sets the Alignment field's value. +func (s *BurnInDestinationSettings) SetAlignment(v string) *BurnInDestinationSettings { + s.Alignment = &v return s } -// SetOutputChannel sets the OutputChannel field's value. -func (s *AudioChannelMapping) SetOutputChannel(v int64) *AudioChannelMapping { - s.OutputChannel = &v +// SetBackgroundColor sets the BackgroundColor field's value. +func (s *BurnInDestinationSettings) SetBackgroundColor(v string) *BurnInDestinationSettings { + s.BackgroundColor = &v return s } -// Audio Codec Settings -type AudioCodecSettings struct { - _ struct{} `type:"structure"` +// SetBackgroundOpacity sets the BackgroundOpacity field's value. +func (s *BurnInDestinationSettings) SetBackgroundOpacity(v int64) *BurnInDestinationSettings { + s.BackgroundOpacity = &v + return s +} - // Aac Settings - AacSettings *AacSettings `locationName:"aacSettings" type:"structure"` +// SetFont sets the Font field's value. +func (s *BurnInDestinationSettings) SetFont(v *InputLocation) *BurnInDestinationSettings { + s.Font = v + return s +} - // Ac3 Settings - Ac3Settings *Ac3Settings `locationName:"ac3Settings" type:"structure"` +// SetFontColor sets the FontColor field's value. +func (s *BurnInDestinationSettings) SetFontColor(v string) *BurnInDestinationSettings { + s.FontColor = &v + return s +} - // Eac3 Settings - Eac3Settings *Eac3Settings `locationName:"eac3Settings" type:"structure"` +// SetFontOpacity sets the FontOpacity field's value. +func (s *BurnInDestinationSettings) SetFontOpacity(v int64) *BurnInDestinationSettings { + s.FontOpacity = &v + return s +} - // Mp2 Settings - Mp2Settings *Mp2Settings `locationName:"mp2Settings" type:"structure"` +// SetFontResolution sets the FontResolution field's value. +func (s *BurnInDestinationSettings) SetFontResolution(v int64) *BurnInDestinationSettings { + s.FontResolution = &v + return s +} - // Pass Through Settings - PassThroughSettings *PassThroughSettings `locationName:"passThroughSettings" type:"structure"` +// SetFontSize sets the FontSize field's value. +func (s *BurnInDestinationSettings) SetFontSize(v string) *BurnInDestinationSettings { + s.FontSize = &v + return s } -// String returns the string representation -func (s AudioCodecSettings) String() string { - return awsutil.Prettify(s) +// SetOutlineColor sets the OutlineColor field's value. +func (s *BurnInDestinationSettings) SetOutlineColor(v string) *BurnInDestinationSettings { + s.OutlineColor = &v + return s } -// GoString returns the string representation -func (s AudioCodecSettings) GoString() string { - return s.String() +// SetOutlineSize sets the OutlineSize field's value. +func (s *BurnInDestinationSettings) SetOutlineSize(v int64) *BurnInDestinationSettings { + s.OutlineSize = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AudioCodecSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioCodecSettings"} - if s.Ac3Settings != nil { - if err := s.Ac3Settings.Validate(); err != nil { - invalidParams.AddNested("Ac3Settings", err.(request.ErrInvalidParams)) - } - } - if s.Eac3Settings != nil { - if err := s.Eac3Settings.Validate(); err != nil { - invalidParams.AddNested("Eac3Settings", err.(request.ErrInvalidParams)) - } - } +// SetShadowColor sets the ShadowColor field's value. +func (s *BurnInDestinationSettings) SetShadowColor(v string) *BurnInDestinationSettings { + s.ShadowColor = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetShadowOpacity sets the ShadowOpacity field's value. +func (s *BurnInDestinationSettings) SetShadowOpacity(v int64) *BurnInDestinationSettings { + s.ShadowOpacity = &v + return s } -// SetAacSettings sets the AacSettings field's value. -func (s *AudioCodecSettings) SetAacSettings(v *AacSettings) *AudioCodecSettings { - s.AacSettings = v +// SetShadowXOffset sets the ShadowXOffset field's value. +func (s *BurnInDestinationSettings) SetShadowXOffset(v int64) *BurnInDestinationSettings { + s.ShadowXOffset = &v return s } -// SetAc3Settings sets the Ac3Settings field's value. -func (s *AudioCodecSettings) SetAc3Settings(v *Ac3Settings) *AudioCodecSettings { - s.Ac3Settings = v +// SetShadowYOffset sets the ShadowYOffset field's value. +func (s *BurnInDestinationSettings) SetShadowYOffset(v int64) *BurnInDestinationSettings { + s.ShadowYOffset = &v return s } -// SetEac3Settings sets the Eac3Settings field's value. -func (s *AudioCodecSettings) SetEac3Settings(v *Eac3Settings) *AudioCodecSettings { - s.Eac3Settings = v +// SetTeletextGridControl sets the TeletextGridControl field's value. +func (s *BurnInDestinationSettings) SetTeletextGridControl(v string) *BurnInDestinationSettings { + s.TeletextGridControl = &v return s } -// SetMp2Settings sets the Mp2Settings field's value. -func (s *AudioCodecSettings) SetMp2Settings(v *Mp2Settings) *AudioCodecSettings { - s.Mp2Settings = v +// SetXPosition sets the XPosition field's value. +func (s *BurnInDestinationSettings) SetXPosition(v int64) *BurnInDestinationSettings { + s.XPosition = &v return s } -// SetPassThroughSettings sets the PassThroughSettings field's value. -func (s *AudioCodecSettings) SetPassThroughSettings(v *PassThroughSettings) *AudioCodecSettings { - s.PassThroughSettings = v +// SetYPosition sets the YPosition field's value. +func (s *BurnInDestinationSettings) SetYPosition(v int64) *BurnInDestinationSettings { + s.YPosition = &v return s } -// Audio Description -type AudioDescription struct { +// Caption Description +type CaptionDescription struct { _ struct{} `type:"structure"` - // Advanced audio normalization settings. - AudioNormalizationSettings *AudioNormalizationSettings `locationName:"audioNormalizationSettings" type:"structure"` - - // The name of the AudioSelector used as the source for this AudioDescription. + // Specifies which input caption selector to use as a caption source when generating + // output captions. This field should match a captionSelector name. // - // AudioSelectorName is a required field - AudioSelectorName *string `locationName:"audioSelectorName" type:"string" required:"true"` - - // Applies only if audioTypeControl is useConfigured. The values for audioType - // are defined in ISO-IEC 13818-1. - AudioType *string `locationName:"audioType" type:"string" enum:"AudioType"` - - // Determines how audio type is determined. followInput: If the input contains - // an ISO 639 audioType, then that value is passed through to the output. If - // the input contains no ISO 639 audioType, the value in Audio Type is included - // in the output. useConfigured: The value in Audio Type is included in the - // output.Note that this field and audioType are both ignored if inputType is - // broadcasterMixedAd. - AudioTypeControl *string `locationName:"audioTypeControl" type:"string" enum:"AudioDescriptionAudioTypeControl"` + // CaptionSelectorName is a required field + CaptionSelectorName *string `locationName:"captionSelectorName" type:"string" required:"true"` - // Audio codec settings. - CodecSettings *AudioCodecSettings `locationName:"codecSettings" type:"structure"` + // Additional settings for captions destination that depend on the destination + // type. + DestinationSettings *CaptionDestinationSettings `locationName:"destinationSettings" type:"structure"` - // Indicates the language of the audio output track. Only used if languageControlMode - // is useConfigured, or there is no ISO 639 language code specified in the input. - LanguageCode *string `locationName:"languageCode" min:"3" type:"string"` + // ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/ + LanguageCode *string `locationName:"languageCode" type:"string"` - // Choosing followInput will cause the ISO 639 language code of the output to - // follow the ISO 639 language code of the input. The languageCode will be used - // when useConfigured is set, or when followInput is selected but there is no - // ISO 639 language code specified by the input. - LanguageCodeControl *string `locationName:"languageCodeControl" type:"string" enum:"AudioDescriptionLanguageCodeControl"` + // Human readable information to indicate captions available for players (eg. + // English, or Spanish). + LanguageDescription *string `locationName:"languageDescription" type:"string"` - // The name of this AudioDescription. Outputs will use this name to uniquely - // identify this AudioDescription. Description names should be unique within - // this Live Event. + // Name of the caption description. Used to associate a caption description + // with an output. Names must be unique within an event. // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` - - // Settings that control how input audio channels are remixed into the output - // audio channels. - RemixSettings *RemixSettings `locationName:"remixSettings" type:"structure"` - - // Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by - // the player (eg. English, or Director Commentary). - StreamName *string `locationName:"streamName" type:"string"` + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` } // String returns the string representation -func (s AudioDescription) String() string { +func (s CaptionDescription) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AudioDescription) GoString() string { +func (s CaptionDescription) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AudioDescription) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioDescription"} - if s.AudioSelectorName == nil { - invalidParams.Add(request.NewErrParamRequired("AudioSelectorName")) - } - if s.LanguageCode != nil && len(*s.LanguageCode) < 3 { - invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3)) +func (s *CaptionDescription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionDescription"} + if s.CaptionSelectorName == nil { + invalidParams.Add(request.NewErrParamRequired("CaptionSelectorName")) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.CodecSettings != nil { - if err := s.CodecSettings.Validate(); err != nil { - invalidParams.AddNested("CodecSettings", err.(request.ErrInvalidParams)) - } - } - if s.RemixSettings != nil { - if err := s.RemixSettings.Validate(); err != nil { - invalidParams.AddNested("RemixSettings", err.(request.ErrInvalidParams)) + if s.DestinationSettings != nil { + if err := s.DestinationSettings.Validate(); err != nil { + invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams)) } } @@ -3771,99 +6125,99 @@ func (s *AudioDescription) Validate() error { return nil } -// SetAudioNormalizationSettings sets the AudioNormalizationSettings field's value. -func (s *AudioDescription) SetAudioNormalizationSettings(v *AudioNormalizationSettings) *AudioDescription { - s.AudioNormalizationSettings = v - return s -} - -// SetAudioSelectorName sets the AudioSelectorName field's value. -func (s *AudioDescription) SetAudioSelectorName(v string) *AudioDescription { - s.AudioSelectorName = &v - return s -} - -// SetAudioType sets the AudioType field's value. -func (s *AudioDescription) SetAudioType(v string) *AudioDescription { - s.AudioType = &v - return s -} - -// SetAudioTypeControl sets the AudioTypeControl field's value. -func (s *AudioDescription) SetAudioTypeControl(v string) *AudioDescription { - s.AudioTypeControl = &v +// SetCaptionSelectorName sets the CaptionSelectorName field's value. +func (s *CaptionDescription) SetCaptionSelectorName(v string) *CaptionDescription { + s.CaptionSelectorName = &v return s } -// SetCodecSettings sets the CodecSettings field's value. -func (s *AudioDescription) SetCodecSettings(v *AudioCodecSettings) *AudioDescription { - s.CodecSettings = v +// SetDestinationSettings sets the DestinationSettings field's value. +func (s *CaptionDescription) SetDestinationSettings(v *CaptionDestinationSettings) *CaptionDescription { + s.DestinationSettings = v return s } // SetLanguageCode sets the LanguageCode field's value. -func (s *AudioDescription) SetLanguageCode(v string) *AudioDescription { +func (s *CaptionDescription) SetLanguageCode(v string) *CaptionDescription { s.LanguageCode = &v return s } -// SetLanguageCodeControl sets the LanguageCodeControl field's value. -func (s *AudioDescription) SetLanguageCodeControl(v string) *AudioDescription { - s.LanguageCodeControl = &v +// SetLanguageDescription sets the LanguageDescription field's value. +func (s *CaptionDescription) SetLanguageDescription(v string) *CaptionDescription { + s.LanguageDescription = &v return s } // SetName sets the Name field's value. -func (s *AudioDescription) SetName(v string) *AudioDescription { +func (s *CaptionDescription) SetName(v string) *CaptionDescription { s.Name = &v return s } -// SetRemixSettings sets the RemixSettings field's value. -func (s *AudioDescription) SetRemixSettings(v *RemixSettings) *AudioDescription { - s.RemixSettings = v - return s -} +// Caption Destination Settings +type CaptionDestinationSettings struct { + _ struct{} `type:"structure"` -// SetStreamName sets the StreamName field's value. -func (s *AudioDescription) SetStreamName(v string) *AudioDescription { - s.StreamName = &v - return s -} + // Arib Destination Settings + AribDestinationSettings *AribDestinationSettings `locationName:"aribDestinationSettings" type:"structure"` -// Audio Language Selection -type AudioLanguageSelection struct { - _ struct{} `type:"structure"` + // Burn In Destination Settings + BurnInDestinationSettings *BurnInDestinationSettings `locationName:"burnInDestinationSettings" type:"structure"` - // Selects a specific three-letter language code from within an audio source. - // - // LanguageCode is a required field - LanguageCode *string `locationName:"languageCode" type:"string" required:"true"` + // Dvb Sub Destination Settings + DvbSubDestinationSettings *DvbSubDestinationSettings `locationName:"dvbSubDestinationSettings" type:"structure"` - // When set to "strict", the transport stream demux strictly identifies audio - // streams by their language descriptor. If a PMT update occurs such that an - // audio stream matching the initially selected language is no longer present - // then mute will be encoded until the language returns. If "loose", then on - // a PMT update the demux will choose another audio stream in the program with - // the same stream type if it can't find one with the same language. - LanguageSelectionPolicy *string `locationName:"languageSelectionPolicy" type:"string" enum:"AudioLanguageSelectionPolicy"` + // Embedded Destination Settings + EmbeddedDestinationSettings *EmbeddedDestinationSettings `locationName:"embeddedDestinationSettings" type:"structure"` + + // Embedded Plus Scte20 Destination Settings + EmbeddedPlusScte20DestinationSettings *EmbeddedPlusScte20DestinationSettings `locationName:"embeddedPlusScte20DestinationSettings" type:"structure"` + + // Rtmp Caption Info Destination Settings + RtmpCaptionInfoDestinationSettings *RtmpCaptionInfoDestinationSettings `locationName:"rtmpCaptionInfoDestinationSettings" type:"structure"` + + // Scte20 Plus Embedded Destination Settings + Scte20PlusEmbeddedDestinationSettings *Scte20PlusEmbeddedDestinationSettings `locationName:"scte20PlusEmbeddedDestinationSettings" type:"structure"` + + // Scte27 Destination Settings + Scte27DestinationSettings *Scte27DestinationSettings `locationName:"scte27DestinationSettings" type:"structure"` + + // Smpte Tt Destination Settings + SmpteTtDestinationSettings *SmpteTtDestinationSettings `locationName:"smpteTtDestinationSettings" type:"structure"` + + // Teletext Destination Settings + TeletextDestinationSettings *TeletextDestinationSettings `locationName:"teletextDestinationSettings" type:"structure"` + + // Ttml Destination Settings + TtmlDestinationSettings *TtmlDestinationSettings `locationName:"ttmlDestinationSettings" type:"structure"` + + // Webvtt Destination Settings + WebvttDestinationSettings *WebvttDestinationSettings `locationName:"webvttDestinationSettings" type:"structure"` } // String returns the string representation -func (s AudioLanguageSelection) String() string { +func (s CaptionDestinationSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AudioLanguageSelection) GoString() string { +func (s CaptionDestinationSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AudioLanguageSelection) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioLanguageSelection"} - if s.LanguageCode == nil { - invalidParams.Add(request.NewErrParamRequired("LanguageCode")) +func (s *CaptionDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionDestinationSettings"} + if s.BurnInDestinationSettings != nil { + if err := s.BurnInDestinationSettings.Validate(); err != nil { + invalidParams.AddNested("BurnInDestinationSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbSubDestinationSettings != nil { + if err := s.DvbSubDestinationSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSubDestinationSettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -3872,161 +6226,130 @@ func (s *AudioLanguageSelection) Validate() error { return nil } -// SetLanguageCode sets the LanguageCode field's value. -func (s *AudioLanguageSelection) SetLanguageCode(v string) *AudioLanguageSelection { - s.LanguageCode = &v +// SetAribDestinationSettings sets the AribDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetAribDestinationSettings(v *AribDestinationSettings) *CaptionDestinationSettings { + s.AribDestinationSettings = v return s } -// SetLanguageSelectionPolicy sets the LanguageSelectionPolicy field's value. -func (s *AudioLanguageSelection) SetLanguageSelectionPolicy(v string) *AudioLanguageSelection { - s.LanguageSelectionPolicy = &v +// SetBurnInDestinationSettings sets the BurnInDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetBurnInDestinationSettings(v *BurnInDestinationSettings) *CaptionDestinationSettings { + s.BurnInDestinationSettings = v return s } -// Audio Normalization Settings -type AudioNormalizationSettings struct { - _ struct{} `type:"structure"` - - // Audio normalization algorithm to use. itu17701 conforms to the CALM Act specification, - // itu17702 conforms to the EBU R-128 specification. - Algorithm *string `locationName:"algorithm" type:"string" enum:"AudioNormalizationAlgorithm"` - - // When set to correctAudio the output audio is corrected using the chosen algorithm. - // If set to measureOnly, the audio will be measured but not adjusted. - AlgorithmControl *string `locationName:"algorithmControl" type:"string" enum:"AudioNormalizationAlgorithmControl"` - - // Target LKFS(loudness) to adjust volume to. If no value is entered, a default - // value will be used according to the chosen algorithm. The CALM Act (1770-1) - // recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends - // a target of -23 LKFS. - TargetLkfs *float64 `locationName:"targetLkfs" type:"double"` -} - -// String returns the string representation -func (s AudioNormalizationSettings) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AudioNormalizationSettings) GoString() string { - return s.String() -} - -// SetAlgorithm sets the Algorithm field's value. -func (s *AudioNormalizationSettings) SetAlgorithm(v string) *AudioNormalizationSettings { - s.Algorithm = &v +// SetDvbSubDestinationSettings sets the DvbSubDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetDvbSubDestinationSettings(v *DvbSubDestinationSettings) *CaptionDestinationSettings { + s.DvbSubDestinationSettings = v return s } -// SetAlgorithmControl sets the AlgorithmControl field's value. -func (s *AudioNormalizationSettings) SetAlgorithmControl(v string) *AudioNormalizationSettings { - s.AlgorithmControl = &v +// SetEmbeddedDestinationSettings sets the EmbeddedDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetEmbeddedDestinationSettings(v *EmbeddedDestinationSettings) *CaptionDestinationSettings { + s.EmbeddedDestinationSettings = v return s } -// SetTargetLkfs sets the TargetLkfs field's value. -func (s *AudioNormalizationSettings) SetTargetLkfs(v float64) *AudioNormalizationSettings { - s.TargetLkfs = &v +// SetEmbeddedPlusScte20DestinationSettings sets the EmbeddedPlusScte20DestinationSettings field's value. +func (s *CaptionDestinationSettings) SetEmbeddedPlusScte20DestinationSettings(v *EmbeddedPlusScte20DestinationSettings) *CaptionDestinationSettings { + s.EmbeddedPlusScte20DestinationSettings = v return s } -// Audio Only Hls Settings -type AudioOnlyHlsSettings struct { - _ struct{} `type:"structure"` - - // Specifies the group to which the audio Rendition belongs. - AudioGroupId *string `locationName:"audioGroupId" type:"string"` - - // Optional. Specifies the .jpg or .png image to use as the cover art for an - // audio-only output. We recommend a low bit-size file because the image increases - // the output audio bandwidth.The image is attached to the audio as an ID3 tag, - // frame type APIC, picture type 0x10, as per the "ID3 tag version 2.4.0 - Native - // Frames" standard. - AudioOnlyImage *InputLocation `locationName:"audioOnlyImage" type:"structure"` - - // Four types of audio-only tracks are supported:Audio-Only Variant StreamThe - // client can play back this audio-only stream instead of video in low-bandwidth - // scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.Alternate - // Audio, Auto Select, DefaultAlternate rendition that the client should try - // to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest - // with DEFAULT=YES, AUTOSELECT=YESAlternate Audio, Auto Select, Not DefaultAlternate - // rendition that the client may try to play back by default. Represented as - // an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YESAlternate - // Audio, not Auto SelectAlternate rendition that the client will not try to - // play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with - // DEFAULT=NO, AUTOSELECT=NO - AudioTrackType *string `locationName:"audioTrackType" type:"string" enum:"AudioOnlyHlsTrackType"` -} - -// String returns the string representation -func (s AudioOnlyHlsSettings) String() string { - return awsutil.Prettify(s) +// SetRtmpCaptionInfoDestinationSettings sets the RtmpCaptionInfoDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetRtmpCaptionInfoDestinationSettings(v *RtmpCaptionInfoDestinationSettings) *CaptionDestinationSettings { + s.RtmpCaptionInfoDestinationSettings = v + return s } -// GoString returns the string representation -func (s AudioOnlyHlsSettings) GoString() string { - return s.String() +// SetScte20PlusEmbeddedDestinationSettings sets the Scte20PlusEmbeddedDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetScte20PlusEmbeddedDestinationSettings(v *Scte20PlusEmbeddedDestinationSettings) *CaptionDestinationSettings { + s.Scte20PlusEmbeddedDestinationSettings = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AudioOnlyHlsSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioOnlyHlsSettings"} - if s.AudioOnlyImage != nil { - if err := s.AudioOnlyImage.Validate(); err != nil { - invalidParams.AddNested("AudioOnlyImage", err.(request.ErrInvalidParams)) - } - } +// SetScte27DestinationSettings sets the Scte27DestinationSettings field's value. +func (s *CaptionDestinationSettings) SetScte27DestinationSettings(v *Scte27DestinationSettings) *CaptionDestinationSettings { + s.Scte27DestinationSettings = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSmpteTtDestinationSettings sets the SmpteTtDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetSmpteTtDestinationSettings(v *SmpteTtDestinationSettings) *CaptionDestinationSettings { + s.SmpteTtDestinationSettings = v + return s } -// SetAudioGroupId sets the AudioGroupId field's value. -func (s *AudioOnlyHlsSettings) SetAudioGroupId(v string) *AudioOnlyHlsSettings { - s.AudioGroupId = &v +// SetTeletextDestinationSettings sets the TeletextDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetTeletextDestinationSettings(v *TeletextDestinationSettings) *CaptionDestinationSettings { + s.TeletextDestinationSettings = v return s } -// SetAudioOnlyImage sets the AudioOnlyImage field's value. -func (s *AudioOnlyHlsSettings) SetAudioOnlyImage(v *InputLocation) *AudioOnlyHlsSettings { - s.AudioOnlyImage = v +// SetTtmlDestinationSettings sets the TtmlDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetTtmlDestinationSettings(v *TtmlDestinationSettings) *CaptionDestinationSettings { + s.TtmlDestinationSettings = v return s } -// SetAudioTrackType sets the AudioTrackType field's value. -func (s *AudioOnlyHlsSettings) SetAudioTrackType(v string) *AudioOnlyHlsSettings { - s.AudioTrackType = &v +// SetWebvttDestinationSettings sets the WebvttDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetWebvttDestinationSettings(v *WebvttDestinationSettings) *CaptionDestinationSettings { + s.WebvttDestinationSettings = v return s } -// Audio Pid Selection -type AudioPidSelection struct { +// Maps a caption channel to an ISO 693-2 language code (http://www.loc.gov/standards/iso639-2), +// with an optional description. +type CaptionLanguageMapping struct { _ struct{} `type:"structure"` - // Selects a specific PID from within a source. + // The closed caption channel being described by this CaptionLanguageMapping. + // Each channel mapping must have a unique channel number (maximum of 4) // - // Pid is a required field - Pid *int64 `locationName:"pid" type:"integer" required:"true"` + // CaptionChannel is a required field + CaptionChannel *int64 `locationName:"captionChannel" min:"1" type:"integer" required:"true"` + + // Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2) + // + // LanguageCode is a required field + LanguageCode *string `locationName:"languageCode" min:"3" type:"string" required:"true"` + + // Textual description of language + // + // LanguageDescription is a required field + LanguageDescription *string `locationName:"languageDescription" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s AudioPidSelection) String() string { +func (s CaptionLanguageMapping) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AudioPidSelection) GoString() string { +func (s CaptionLanguageMapping) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AudioPidSelection) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioPidSelection"} - if s.Pid == nil { - invalidParams.Add(request.NewErrParamRequired("Pid")) +func (s *CaptionLanguageMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionLanguageMapping"} + if s.CaptionChannel == nil { + invalidParams.Add(request.NewErrParamRequired("CaptionChannel")) + } + if s.CaptionChannel != nil && *s.CaptionChannel < 1 { + invalidParams.Add(request.NewErrParamMinValue("CaptionChannel", 1)) + } + if s.LanguageCode == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageCode")) + } + if s.LanguageCode != nil && len(*s.LanguageCode) < 3 { + invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3)) + } + if s.LanguageDescription == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageDescription")) + } + if s.LanguageDescription != nil && len(*s.LanguageDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LanguageDescription", 1)) } if invalidParams.Len() > 0 { @@ -4035,39 +6358,57 @@ func (s *AudioPidSelection) Validate() error { return nil } -// SetPid sets the Pid field's value. -func (s *AudioPidSelection) SetPid(v int64) *AudioPidSelection { - s.Pid = &v +// SetCaptionChannel sets the CaptionChannel field's value. +func (s *CaptionLanguageMapping) SetCaptionChannel(v int64) *CaptionLanguageMapping { + s.CaptionChannel = &v return s } -// Audio Selector -type AudioSelector struct { +// SetLanguageCode sets the LanguageCode field's value. +func (s *CaptionLanguageMapping) SetLanguageCode(v string) *CaptionLanguageMapping { + s.LanguageCode = &v + return s +} + +// SetLanguageDescription sets the LanguageDescription field's value. +func (s *CaptionLanguageMapping) SetLanguageDescription(v string) *CaptionLanguageMapping { + s.LanguageDescription = &v + return s +} + +// Output groups for this Live Event. Output groups contain information about +// where streams should be distributed. +type CaptionSelector struct { _ struct{} `type:"structure"` - // The name of this AudioSelector. AudioDescriptions will use this name to uniquely - // identify this Selector. Selector names should be unique per input. + // When specified this field indicates the three letter language code of the + // caption track to extract from the source. + LanguageCode *string `locationName:"languageCode" type:"string"` + + // Name identifier for a caption selector. This name is used to associate this + // caption selector with one or more caption descriptions. Names must be unique + // within an event. // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The audio selector settings. - SelectorSettings *AudioSelectorSettings `locationName:"selectorSettings" type:"structure"` + // Caption selector settings. + SelectorSettings *CaptionSelectorSettings `locationName:"selectorSettings" type:"structure"` } // String returns the string representation -func (s AudioSelector) String() string { +func (s CaptionSelector) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AudioSelector) GoString() string { +func (s CaptionSelector) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AudioSelector) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioSelector"} +func (s *CaptionSelector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionSelector"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -4086,50 +6427,78 @@ func (s *AudioSelector) Validate() error { return nil } +// SetLanguageCode sets the LanguageCode field's value. +func (s *CaptionSelector) SetLanguageCode(v string) *CaptionSelector { + s.LanguageCode = &v + return s +} + // SetName sets the Name field's value. -func (s *AudioSelector) SetName(v string) *AudioSelector { +func (s *CaptionSelector) SetName(v string) *CaptionSelector { s.Name = &v return s } // SetSelectorSettings sets the SelectorSettings field's value. -func (s *AudioSelector) SetSelectorSettings(v *AudioSelectorSettings) *AudioSelector { +func (s *CaptionSelector) SetSelectorSettings(v *CaptionSelectorSettings) *CaptionSelector { s.SelectorSettings = v return s } -// Audio Selector Settings -type AudioSelectorSettings struct { +// Caption Selector Settings +type CaptionSelectorSettings struct { _ struct{} `type:"structure"` - // Audio Language Selection - AudioLanguageSelection *AudioLanguageSelection `locationName:"audioLanguageSelection" type:"structure"` + // Arib Source Settings + AribSourceSettings *AribSourceSettings `locationName:"aribSourceSettings" type:"structure"` - // Audio Pid Selection - AudioPidSelection *AudioPidSelection `locationName:"audioPidSelection" type:"structure"` + // Dvb Sub Source Settings + DvbSubSourceSettings *DvbSubSourceSettings `locationName:"dvbSubSourceSettings" type:"structure"` + + // Embedded Source Settings + EmbeddedSourceSettings *EmbeddedSourceSettings `locationName:"embeddedSourceSettings" type:"structure"` + + // Scte20 Source Settings + Scte20SourceSettings *Scte20SourceSettings `locationName:"scte20SourceSettings" type:"structure"` + + // Scte27 Source Settings + Scte27SourceSettings *Scte27SourceSettings `locationName:"scte27SourceSettings" type:"structure"` + + // Teletext Source Settings + TeletextSourceSettings *TeletextSourceSettings `locationName:"teletextSourceSettings" type:"structure"` } // String returns the string representation -func (s AudioSelectorSettings) String() string { +func (s CaptionSelectorSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AudioSelectorSettings) GoString() string { +func (s CaptionSelectorSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AudioSelectorSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AudioSelectorSettings"} - if s.AudioLanguageSelection != nil { - if err := s.AudioLanguageSelection.Validate(); err != nil { - invalidParams.AddNested("AudioLanguageSelection", err.(request.ErrInvalidParams)) +func (s *CaptionSelectorSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptionSelectorSettings"} + if s.DvbSubSourceSettings != nil { + if err := s.DvbSubSourceSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSubSourceSettings", err.(request.ErrInvalidParams)) } } - if s.AudioPidSelection != nil { - if err := s.AudioPidSelection.Validate(); err != nil { - invalidParams.AddNested("AudioPidSelection", err.(request.ErrInvalidParams)) + if s.EmbeddedSourceSettings != nil { + if err := s.EmbeddedSourceSettings.Validate(); err != nil { + invalidParams.AddNested("EmbeddedSourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.Scte20SourceSettings != nil { + if err := s.Scte20SourceSettings.Validate(); err != nil { + invalidParams.AddNested("Scte20SourceSettings", err.(request.ErrInvalidParams)) + } + } + if s.Scte27SourceSettings != nil { + if err := s.Scte27SourceSettings.Validate(); err != nil { + invalidParams.AddNested("Scte27SourceSettings", err.(request.ErrInvalidParams)) } } @@ -4139,454 +6508,428 @@ func (s *AudioSelectorSettings) Validate() error { return nil } -// SetAudioLanguageSelection sets the AudioLanguageSelection field's value. -func (s *AudioSelectorSettings) SetAudioLanguageSelection(v *AudioLanguageSelection) *AudioSelectorSettings { - s.AudioLanguageSelection = v - return s -} +// SetAribSourceSettings sets the AribSourceSettings field's value. +func (s *CaptionSelectorSettings) SetAribSourceSettings(v *AribSourceSettings) *CaptionSelectorSettings { + s.AribSourceSettings = v + return s +} + +// SetDvbSubSourceSettings sets the DvbSubSourceSettings field's value. +func (s *CaptionSelectorSettings) SetDvbSubSourceSettings(v *DvbSubSourceSettings) *CaptionSelectorSettings { + s.DvbSubSourceSettings = v + return s +} + +// SetEmbeddedSourceSettings sets the EmbeddedSourceSettings field's value. +func (s *CaptionSelectorSettings) SetEmbeddedSourceSettings(v *EmbeddedSourceSettings) *CaptionSelectorSettings { + s.EmbeddedSourceSettings = v + return s +} + +// SetScte20SourceSettings sets the Scte20SourceSettings field's value. +func (s *CaptionSelectorSettings) SetScte20SourceSettings(v *Scte20SourceSettings) *CaptionSelectorSettings { + s.Scte20SourceSettings = v + return s +} + +// SetScte27SourceSettings sets the Scte27SourceSettings field's value. +func (s *CaptionSelectorSettings) SetScte27SourceSettings(v *Scte27SourceSettings) *CaptionSelectorSettings { + s.Scte27SourceSettings = v + return s +} + +// SetTeletextSourceSettings sets the TeletextSourceSettings field's value. +func (s *CaptionSelectorSettings) SetTeletextSourceSettings(v *TeletextSourceSettings) *CaptionSelectorSettings { + s.TeletextSourceSettings = v + return s +} + +type Channel struct { + _ struct{} `type:"structure"` + + // The unique arn of the channel. + Arn *string `locationName:"arn" type:"string"` + + // The class for this channel. STANDARD for a channel with two pipelines or + // SINGLE_PIPELINE for a channel with one pipeline. + ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` + + // A list of destinations of the channel. For UDP outputs, there is onedestination + // per output. For other types (HLS, for example), there isone destination per + // packager. + Destinations []*OutputDestination `locationName:"destinations" type:"list"` + + // The endpoints where outgoing connections initiate from + EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + + // Encoder Settings + EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` + + // The unique id of the channel. + Id *string `locationName:"id" type:"string"` + + // List of input attachments for channel. + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + + // The log level being written to CloudWatch Logs. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + + // The name of the channel. (user-mutable) + Name *string `locationName:"name" type:"string"` + + // Runtime details for the pipelines of a running channel. + PipelineDetails []*PipelineDetail `locationName:"pipelineDetails" type:"list"` -// SetAudioPidSelection sets the AudioPidSelection field's value. -func (s *AudioSelectorSettings) SetAudioPidSelection(v *AudioPidSelection) *AudioSelectorSettings { - s.AudioPidSelection = v - return s -} + // The number of currently healthy pipelines. + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` -// Avail Blanking -type AvailBlanking struct { - _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the role assumed when running the Channel. + RoleArn *string `locationName:"roleArn" type:"string"` - // Blanking image to be used. Leave empty for solid black. Only bmp and png - // images are supported. - AvailBlankingImage *InputLocation `locationName:"availBlankingImage" type:"structure"` + State *string `locationName:"state" type:"string" enum:"ChannelState"` - // When set to enabled, causes video, audio and captions to be blanked when - // insertion metadata is added. - State *string `locationName:"state" type:"string" enum:"AvailBlankingState"` + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s AvailBlanking) String() string { +func (s Channel) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AvailBlanking) GoString() string { +func (s Channel) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AvailBlanking) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AvailBlanking"} - if s.AvailBlankingImage != nil { - if err := s.AvailBlankingImage.Validate(); err != nil { - invalidParams.AddNested("AvailBlankingImage", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *Channel) SetArn(v string) *Channel { + s.Arn = &v + return s } -// SetAvailBlankingImage sets the AvailBlankingImage field's value. -func (s *AvailBlanking) SetAvailBlankingImage(v *InputLocation) *AvailBlanking { - s.AvailBlankingImage = v +// SetChannelClass sets the ChannelClass field's value. +func (s *Channel) SetChannelClass(v string) *Channel { + s.ChannelClass = &v return s } -// SetState sets the State field's value. -func (s *AvailBlanking) SetState(v string) *AvailBlanking { - s.State = &v +// SetDestinations sets the Destinations field's value. +func (s *Channel) SetDestinations(v []*OutputDestination) *Channel { + s.Destinations = v return s } -// Avail Configuration -type AvailConfiguration struct { - _ struct{} `type:"structure"` - - // Ad avail settings. - AvailSettings *AvailSettings `locationName:"availSettings" type:"structure"` +// SetEgressEndpoints sets the EgressEndpoints field's value. +func (s *Channel) SetEgressEndpoints(v []*ChannelEgressEndpoint) *Channel { + s.EgressEndpoints = v + return s } -// String returns the string representation -func (s AvailConfiguration) String() string { - return awsutil.Prettify(s) +// SetEncoderSettings sets the EncoderSettings field's value. +func (s *Channel) SetEncoderSettings(v *EncoderSettings) *Channel { + s.EncoderSettings = v + return s } -// GoString returns the string representation -func (s AvailConfiguration) GoString() string { - return s.String() +// SetId sets the Id field's value. +func (s *Channel) SetId(v string) *Channel { + s.Id = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AvailConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AvailConfiguration"} - if s.AvailSettings != nil { - if err := s.AvailSettings.Validate(); err != nil { - invalidParams.AddNested("AvailSettings", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetInputAttachments sets the InputAttachments field's value. +func (s *Channel) SetInputAttachments(v []*InputAttachment) *Channel { + s.InputAttachments = v + return s } -// SetAvailSettings sets the AvailSettings field's value. -func (s *AvailConfiguration) SetAvailSettings(v *AvailSettings) *AvailConfiguration { - s.AvailSettings = v +// SetInputSpecification sets the InputSpecification field's value. +func (s *Channel) SetInputSpecification(v *InputSpecification) *Channel { + s.InputSpecification = v return s } -// Avail Settings -type AvailSettings struct { - _ struct{} `type:"structure"` - - // Scte35 Splice Insert - Scte35SpliceInsert *Scte35SpliceInsert `locationName:"scte35SpliceInsert" type:"structure"` - - // Scte35 Time Signal Apos - Scte35TimeSignalApos *Scte35TimeSignalApos `locationName:"scte35TimeSignalApos" type:"structure"` +// SetLogLevel sets the LogLevel field's value. +func (s *Channel) SetLogLevel(v string) *Channel { + s.LogLevel = &v + return s } -// String returns the string representation -func (s AvailSettings) String() string { - return awsutil.Prettify(s) +// SetName sets the Name field's value. +func (s *Channel) SetName(v string) *Channel { + s.Name = &v + return s } -// GoString returns the string representation -func (s AvailSettings) GoString() string { - return s.String() +// SetPipelineDetails sets the PipelineDetails field's value. +func (s *Channel) SetPipelineDetails(v []*PipelineDetail) *Channel { + s.PipelineDetails = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AvailSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AvailSettings"} - if s.Scte35SpliceInsert != nil { - if err := s.Scte35SpliceInsert.Validate(); err != nil { - invalidParams.AddNested("Scte35SpliceInsert", err.(request.ErrInvalidParams)) - } - } - if s.Scte35TimeSignalApos != nil { - if err := s.Scte35TimeSignalApos.Validate(); err != nil { - invalidParams.AddNested("Scte35TimeSignalApos", err.(request.ErrInvalidParams)) - } - } +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *Channel) SetPipelinesRunningCount(v int64) *Channel { + s.PipelinesRunningCount = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRoleArn sets the RoleArn field's value. +func (s *Channel) SetRoleArn(v string) *Channel { + s.RoleArn = &v + return s } -// SetScte35SpliceInsert sets the Scte35SpliceInsert field's value. -func (s *AvailSettings) SetScte35SpliceInsert(v *Scte35SpliceInsert) *AvailSettings { - s.Scte35SpliceInsert = v +// SetState sets the State field's value. +func (s *Channel) SetState(v string) *Channel { + s.State = &v return s } -// SetScte35TimeSignalApos sets the Scte35TimeSignalApos field's value. -func (s *AvailSettings) SetScte35TimeSignalApos(v *Scte35TimeSignalApos) *AvailSettings { - s.Scte35TimeSignalApos = v +// SetTags sets the Tags field's value. +func (s *Channel) SetTags(v map[string]*string) *Channel { + s.Tags = v return s } -// A list of schedule actions to create (in a request) or that have been created -// (in a response). -type BatchScheduleActionCreateRequest struct { +type ChannelEgressEndpoint struct { _ struct{} `type:"structure"` - // A list of schedule actions to create. - // - // ScheduleActions is a required field - ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` + // Public IP of where a channel's output comes from + SourceIp *string `locationName:"sourceIp" type:"string"` } // String returns the string representation -func (s BatchScheduleActionCreateRequest) String() string { +func (s ChannelEgressEndpoint) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchScheduleActionCreateRequest) GoString() string { +func (s ChannelEgressEndpoint) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchScheduleActionCreateRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionCreateRequest"} - if s.ScheduleActions == nil { - invalidParams.Add(request.NewErrParamRequired("ScheduleActions")) - } - if s.ScheduleActions != nil { - for i, v := range s.ScheduleActions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScheduleActions", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetScheduleActions sets the ScheduleActions field's value. -func (s *BatchScheduleActionCreateRequest) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateRequest { - s.ScheduleActions = v +// SetSourceIp sets the SourceIp field's value. +func (s *ChannelEgressEndpoint) SetSourceIp(v string) *ChannelEgressEndpoint { + s.SourceIp = &v return s } -// List of actions that have been created in the schedule. -type BatchScheduleActionCreateResult struct { +type ChannelSummary struct { _ struct{} `type:"structure"` - // List of actions that have been created in the schedule. - // - // ScheduleActions is a required field - ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` -} + // The unique arn of the channel. + Arn *string `locationName:"arn" type:"string"` -// String returns the string representation -func (s BatchScheduleActionCreateResult) String() string { - return awsutil.Prettify(s) -} + // The class for this channel. STANDARD for a channel with two pipelines or + // SINGLE_PIPELINE for a channel with one pipeline. + ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` + + // A list of destinations of the channel. For UDP outputs, there is onedestination + // per output. For other types (HLS, for example), there isone destination per + // packager. + Destinations []*OutputDestination `locationName:"destinations" type:"list"` + + // The endpoints where outgoing connections initiate from + EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + + // The unique id of the channel. + Id *string `locationName:"id" type:"string"` + + // List of input attachments for channel. + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + + // The log level being written to CloudWatch Logs. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + + // The name of the channel. (user-mutable) + Name *string `locationName:"name" type:"string"` -// GoString returns the string representation -func (s BatchScheduleActionCreateResult) GoString() string { - return s.String() -} + // The number of currently healthy pipelines. + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` -// SetScheduleActions sets the ScheduleActions field's value. -func (s *BatchScheduleActionCreateResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionCreateResult { - s.ScheduleActions = v - return s -} + // The Amazon Resource Name (ARN) of the role assumed when running the Channel. + RoleArn *string `locationName:"roleArn" type:"string"` -// A list of schedule actions to delete. -type BatchScheduleActionDeleteRequest struct { - _ struct{} `type:"structure"` + State *string `locationName:"state" type:"string" enum:"ChannelState"` - // A list of schedule actions to delete. - // - // ActionNames is a required field - ActionNames []*string `locationName:"actionNames" type:"list" required:"true"` + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s BatchScheduleActionDeleteRequest) String() string { +func (s ChannelSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchScheduleActionDeleteRequest) GoString() string { +func (s ChannelSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchScheduleActionDeleteRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchScheduleActionDeleteRequest"} - if s.ActionNames == nil { - invalidParams.Add(request.NewErrParamRequired("ActionNames")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *ChannelSummary) SetArn(v string) *ChannelSummary { + s.Arn = &v + return s } -// SetActionNames sets the ActionNames field's value. -func (s *BatchScheduleActionDeleteRequest) SetActionNames(v []*string) *BatchScheduleActionDeleteRequest { - s.ActionNames = v +// SetChannelClass sets the ChannelClass field's value. +func (s *ChannelSummary) SetChannelClass(v string) *ChannelSummary { + s.ChannelClass = &v return s } -// List of actions that have been deleted from the schedule. -type BatchScheduleActionDeleteResult struct { - _ struct{} `type:"structure"` - - // List of actions that have been deleted from the schedule. - // - // ScheduleActions is a required field - ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list" required:"true"` +// SetDestinations sets the Destinations field's value. +func (s *ChannelSummary) SetDestinations(v []*OutputDestination) *ChannelSummary { + s.Destinations = v + return s } -// String returns the string representation -func (s BatchScheduleActionDeleteResult) String() string { - return awsutil.Prettify(s) +// SetEgressEndpoints sets the EgressEndpoints field's value. +func (s *ChannelSummary) SetEgressEndpoints(v []*ChannelEgressEndpoint) *ChannelSummary { + s.EgressEndpoints = v + return s } -// GoString returns the string representation -func (s BatchScheduleActionDeleteResult) GoString() string { - return s.String() +// SetId sets the Id field's value. +func (s *ChannelSummary) SetId(v string) *ChannelSummary { + s.Id = &v + return s } -// SetScheduleActions sets the ScheduleActions field's value. -func (s *BatchScheduleActionDeleteResult) SetScheduleActions(v []*ScheduleAction) *BatchScheduleActionDeleteResult { - s.ScheduleActions = v +// SetInputAttachments sets the InputAttachments field's value. +func (s *ChannelSummary) SetInputAttachments(v []*InputAttachment) *ChannelSummary { + s.InputAttachments = v return s } -// A request to create actions (add actions to the schedule), delete actions -// (remove actions from the schedule), or both create and delete actions. -type BatchUpdateScheduleInput struct { - _ struct{} `type:"structure"` - - // ChannelId is a required field - ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` - - // Schedule actions to create in the schedule. - Creates *BatchScheduleActionCreateRequest `locationName:"creates" type:"structure"` - - // Schedule actions to delete from the schedule. - Deletes *BatchScheduleActionDeleteRequest `locationName:"deletes" type:"structure"` +// SetInputSpecification sets the InputSpecification field's value. +func (s *ChannelSummary) SetInputSpecification(v *InputSpecification) *ChannelSummary { + s.InputSpecification = v + return s } -// String returns the string representation -func (s BatchUpdateScheduleInput) String() string { - return awsutil.Prettify(s) +// SetLogLevel sets the LogLevel field's value. +func (s *ChannelSummary) SetLogLevel(v string) *ChannelSummary { + s.LogLevel = &v + return s } -// GoString returns the string representation -func (s BatchUpdateScheduleInput) GoString() string { - return s.String() +// SetName sets the Name field's value. +func (s *ChannelSummary) SetName(v string) *ChannelSummary { + s.Name = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchUpdateScheduleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchUpdateScheduleInput"} - if s.ChannelId == nil { - invalidParams.Add(request.NewErrParamRequired("ChannelId")) - } - if s.ChannelId != nil && len(*s.ChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) - } - if s.Creates != nil { - if err := s.Creates.Validate(); err != nil { - invalidParams.AddNested("Creates", err.(request.ErrInvalidParams)) - } - } - if s.Deletes != nil { - if err := s.Deletes.Validate(); err != nil { - invalidParams.AddNested("Deletes", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *ChannelSummary) SetPipelinesRunningCount(v int64) *ChannelSummary { + s.PipelinesRunningCount = &v + return s } -// SetChannelId sets the ChannelId field's value. -func (s *BatchUpdateScheduleInput) SetChannelId(v string) *BatchUpdateScheduleInput { - s.ChannelId = &v +// SetRoleArn sets the RoleArn field's value. +func (s *ChannelSummary) SetRoleArn(v string) *ChannelSummary { + s.RoleArn = &v return s } -// SetCreates sets the Creates field's value. -func (s *BatchUpdateScheduleInput) SetCreates(v *BatchScheduleActionCreateRequest) *BatchUpdateScheduleInput { - s.Creates = v +// SetState sets the State field's value. +func (s *ChannelSummary) SetState(v string) *ChannelSummary { + s.State = &v return s } -// SetDeletes sets the Deletes field's value. -func (s *BatchUpdateScheduleInput) SetDeletes(v *BatchScheduleActionDeleteRequest) *BatchUpdateScheduleInput { - s.Deletes = v +// SetTags sets the Tags field's value. +func (s *ChannelSummary) SetTags(v map[string]*string) *ChannelSummary { + s.Tags = v return s } -type BatchUpdateScheduleOutput struct { +// Passthrough applies no color space conversion to the output +type ColorSpacePassthroughSettings struct { _ struct{} `type:"structure"` - - // List of actions that have been created in the schedule. - Creates *BatchScheduleActionCreateResult `locationName:"creates" type:"structure"` - - // List of actions that have been deleted from the schedule. - Deletes *BatchScheduleActionDeleteResult `locationName:"deletes" type:"structure"` } // String returns the string representation -func (s BatchUpdateScheduleOutput) String() string { +func (s ColorSpacePassthroughSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchUpdateScheduleOutput) GoString() string { +func (s ColorSpacePassthroughSettings) GoString() string { return s.String() } -// SetCreates sets the Creates field's value. -func (s *BatchUpdateScheduleOutput) SetCreates(v *BatchScheduleActionCreateResult) *BatchUpdateScheduleOutput { - s.Creates = v - return s -} +type CreateChannelInput struct { + _ struct{} `type:"structure"` -// SetDeletes sets the Deletes field's value. -func (s *BatchUpdateScheduleOutput) SetDeletes(v *BatchScheduleActionDeleteResult) *BatchUpdateScheduleOutput { - s.Deletes = v - return s -} + // A standard channel has two encoding pipelines and a single pipeline channel + // only has one. + ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` -// Blackout Slate -type BlackoutSlate struct { - _ struct{} `type:"structure"` + Destinations []*OutputDestination `locationName:"destinations" type:"list"` - // Blackout slate image to be used. Leave empty for solid black. Only bmp and - // png images are supported. - BlackoutSlateImage *InputLocation `locationName:"blackoutSlateImage" type:"structure"` + // Encoder Settings + EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` - // Setting to enabled causes the encoder to blackout the video, audio, and captions, - // and raise the "Network Blackout Image" slate when an SCTE104/35 Network End - // Segmentation Descriptor is encountered. The blackout will be lifted when - // the Network Start Segmentation Descriptor is encountered. The Network End - // and Network Start descriptors must contain a network ID that matches the - // value entered in "Network ID". - NetworkEndBlackout *string `locationName:"networkEndBlackout" type:"string" enum:"BlackoutSlateNetworkEndBlackout"` + InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` - // Path to local file to use as Network End Blackout image. Image will be scaled - // to fill the entire output raster. - NetworkEndBlackoutImage *InputLocation `locationName:"networkEndBlackoutImage" type:"structure"` + InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` - // Provides Network ID that matches EIDR ID format (e.g., "10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C"). - NetworkId *string `locationName:"networkId" min:"34" type:"string"` + // The log level the user wants for their channel. + LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` - // When set to enabled, causes video, audio and captions to be blanked when - // indicated by program metadata. - State *string `locationName:"state" type:"string" enum:"BlackoutSlateState"` + Name *string `locationName:"name" type:"string"` + + RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` + + Reserved *string `locationName:"reserved" deprecated:"true" type:"string"` + + RoleArn *string `locationName:"roleArn" type:"string"` + + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s BlackoutSlate) String() string { +func (s CreateChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BlackoutSlate) GoString() string { +func (s CreateChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BlackoutSlate) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BlackoutSlate"} - if s.NetworkId != nil && len(*s.NetworkId) < 34 { - invalidParams.Add(request.NewErrParamMinLen("NetworkId", 34)) +func (s *CreateChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"} + if s.Destinations != nil { + for i, v := range s.Destinations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams)) + } + } } - if s.BlackoutSlateImage != nil { - if err := s.BlackoutSlateImage.Validate(); err != nil { - invalidParams.AddNested("BlackoutSlateImage", err.(request.ErrInvalidParams)) + if s.EncoderSettings != nil { + if err := s.EncoderSettings.Validate(); err != nil { + invalidParams.AddNested("EncoderSettings", err.(request.ErrInvalidParams)) } } - if s.NetworkEndBlackoutImage != nil { - if err := s.NetworkEndBlackoutImage.Validate(); err != nil { - invalidParams.AddNested("NetworkEndBlackoutImage", err.(request.ErrInvalidParams)) + if s.InputAttachments != nil { + for i, v := range s.InputAttachments { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputAttachments", i), err.(request.ErrInvalidParams)) + } } } @@ -4596,153 +6939,138 @@ func (s *BlackoutSlate) Validate() error { return nil } -// SetBlackoutSlateImage sets the BlackoutSlateImage field's value. -func (s *BlackoutSlate) SetBlackoutSlateImage(v *InputLocation) *BlackoutSlate { - s.BlackoutSlateImage = v +// SetChannelClass sets the ChannelClass field's value. +func (s *CreateChannelInput) SetChannelClass(v string) *CreateChannelInput { + s.ChannelClass = &v return s } -// SetNetworkEndBlackout sets the NetworkEndBlackout field's value. -func (s *BlackoutSlate) SetNetworkEndBlackout(v string) *BlackoutSlate { - s.NetworkEndBlackout = &v +// SetDestinations sets the Destinations field's value. +func (s *CreateChannelInput) SetDestinations(v []*OutputDestination) *CreateChannelInput { + s.Destinations = v return s } -// SetNetworkEndBlackoutImage sets the NetworkEndBlackoutImage field's value. -func (s *BlackoutSlate) SetNetworkEndBlackoutImage(v *InputLocation) *BlackoutSlate { - s.NetworkEndBlackoutImage = v +// SetEncoderSettings sets the EncoderSettings field's value. +func (s *CreateChannelInput) SetEncoderSettings(v *EncoderSettings) *CreateChannelInput { + s.EncoderSettings = v return s } -// SetNetworkId sets the NetworkId field's value. -func (s *BlackoutSlate) SetNetworkId(v string) *BlackoutSlate { - s.NetworkId = &v +// SetInputAttachments sets the InputAttachments field's value. +func (s *CreateChannelInput) SetInputAttachments(v []*InputAttachment) *CreateChannelInput { + s.InputAttachments = v return s } -// SetState sets the State field's value. -func (s *BlackoutSlate) SetState(v string) *BlackoutSlate { - s.State = &v +// SetInputSpecification sets the InputSpecification field's value. +func (s *CreateChannelInput) SetInputSpecification(v *InputSpecification) *CreateChannelInput { + s.InputSpecification = v return s } -// Burn In Destination Settings -type BurnInDestinationSettings struct { - _ struct{} `type:"structure"` +// SetLogLevel sets the LogLevel field's value. +func (s *CreateChannelInput) SetLogLevel(v string) *CreateChannelInput { + s.LogLevel = &v + return s +} - // If no explicit xPosition or yPosition is provided, setting alignment to centered - // will place the captions at the bottom center of the output. Similarly, setting - // a left alignment will align captions to the bottom left of the output. If - // x and y positions are given in conjunction with the alignment parameter, - // the font will be justified (either left or centered) relative to those coordinates. - // Selecting "smart" justification will left-justify live subtitles and center-justify - // pre-recorded subtitles. All burn-in and DVB-Sub font settings must match. - Alignment *string `locationName:"alignment" type:"string" enum:"BurnInAlignment"` +// SetName sets the Name field's value. +func (s *CreateChannelInput) SetName(v string) *CreateChannelInput { + s.Name = &v + return s +} - // Specifies the color of the rectangle behind the captions. All burn-in and - // DVB-Sub font settings must match. - BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"BurnInBackgroundColor"` +// SetRequestId sets the RequestId field's value. +func (s *CreateChannelInput) SetRequestId(v string) *CreateChannelInput { + s.RequestId = &v + return s +} - // Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. - // Leaving this parameter out is equivalent to setting it to 0 (transparent). - // All burn-in and DVB-Sub font settings must match. - BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"` +// SetReserved sets the Reserved field's value. +func (s *CreateChannelInput) SetReserved(v string) *CreateChannelInput { + s.Reserved = &v + return s +} - // External font file used for caption burn-in. File extension must be 'ttf' - // or 'tte'. Although the user can select output fonts for many different types - // of input captions, embedded, STL and teletext sources use a strict grid system. - // Using external fonts with these caption sources could cause unexpected display - // of proportional fonts. All burn-in and DVB-Sub font settings must match. - Font *InputLocation `locationName:"font" type:"structure"` +// SetRoleArn sets the RoleArn field's value. +func (s *CreateChannelInput) SetRoleArn(v string) *CreateChannelInput { + s.RoleArn = &v + return s +} - // Specifies the color of the burned-in captions. This option is not valid for - // source captions that are STL, 608/embedded or teletext. These source settings - // are already pre-defined by the caption stream. All burn-in and DVB-Sub font - // settings must match. - FontColor *string `locationName:"fontColor" type:"string" enum:"BurnInFontColor"` +// SetTags sets the Tags field's value. +func (s *CreateChannelInput) SetTags(v map[string]*string) *CreateChannelInput { + s.Tags = v + return s +} - // Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. - // All burn-in and DVB-Sub font settings must match. - FontOpacity *int64 `locationName:"fontOpacity" type:"integer"` +type CreateChannelOutput struct { + _ struct{} `type:"structure"` - // Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and - // DVB-Sub font settings must match. - FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` + Channel *Channel `locationName:"channel" type:"structure"` +} - // When set to 'auto' fontSize will scale depending on the size of the output. - // Giving a positive integer will specify the exact font size in points. All - // burn-in and DVB-Sub font settings must match. - FontSize *string `locationName:"fontSize" type:"string"` +// String returns the string representation +func (s CreateChannelOutput) String() string { + return awsutil.Prettify(s) +} - // Specifies font outline color. This option is not valid for source captions - // that are either 608/embedded or teletext. These source settings are already - // pre-defined by the caption stream. All burn-in and DVB-Sub font settings - // must match. - OutlineColor *string `locationName:"outlineColor" type:"string" enum:"BurnInOutlineColor"` +// GoString returns the string representation +func (s CreateChannelOutput) GoString() string { + return s.String() +} - // Specifies font outline size in pixels. This option is not valid for source - // captions that are either 608/embedded or teletext. These source settings - // are already pre-defined by the caption stream. All burn-in and DVB-Sub font - // settings must match. - OutlineSize *int64 `locationName:"outlineSize" type:"integer"` +// SetChannel sets the Channel field's value. +func (s *CreateChannelOutput) SetChannel(v *Channel) *CreateChannelOutput { + s.Channel = v + return s +} - // Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub - // font settings must match. - ShadowColor *string `locationName:"shadowColor" type:"string" enum:"BurnInShadowColor"` +type CreateInputInput struct { + _ struct{} `type:"structure"` - // Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving - // this parameter out is equivalent to setting it to 0 (transparent). All burn-in - // and DVB-Sub font settings must match. - ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"` + Destinations []*InputDestinationRequest `locationName:"destinations" type:"list"` - // Specifies the horizontal offset of the shadow relative to the captions in - // pixels. A value of -2 would result in a shadow offset 2 pixels to the left. - // All burn-in and DVB-Sub font settings must match. - ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"` + InputSecurityGroups []*string `locationName:"inputSecurityGroups" type:"list"` - // Specifies the vertical offset of the shadow relative to the captions in pixels. - // A value of -2 would result in a shadow offset 2 pixels above the text. All - // burn-in and DVB-Sub font settings must match. - ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` + MediaConnectFlows []*MediaConnectFlowRequest `locationName:"mediaConnectFlows" type:"list"` - // Controls whether a fixed grid size will be used to generate the output subtitles - // bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs. - TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"BurnInTeletextGridControl"` + Name *string `locationName:"name" type:"string"` - // Specifies the horizontal position of the caption relative to the left side - // of the output in pixels. A value of 10 would result in the captions starting - // 10 pixels from the left of the output. If no explicit xPosition is provided, - // the horizontal caption position will be determined by the alignment parameter. - // All burn-in and DVB-Sub font settings must match. - XPosition *int64 `locationName:"xPosition" type:"integer"` + RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` - // Specifies the vertical position of the caption relative to the top of the - // output in pixels. A value of 10 would result in the captions starting 10 - // pixels from the top of the output. If no explicit yPosition is provided, - // the caption will be positioned towards the bottom of the output. All burn-in - // and DVB-Sub font settings must match. - YPosition *int64 `locationName:"yPosition" type:"integer"` + RoleArn *string `locationName:"roleArn" type:"string"` + + Sources []*InputSourceRequest `locationName:"sources" type:"list"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + Type *string `locationName:"type" type:"string" enum:"InputType"` + + // Settings for a private VPC Input.When this property is specified, the input + // destination addresses will be created in a VPC rather than with public Internet + // addresses.This property requires setting the roleArn property on Input creation.Not + // compatible with the inputSecurityGroups property. + Vpc *InputVpcRequest `locationName:"vpc" type:"structure"` } // String returns the string representation -func (s BurnInDestinationSettings) String() string { +func (s CreateInputInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BurnInDestinationSettings) GoString() string { +func (s CreateInputInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BurnInDestinationSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BurnInDestinationSettings"} - if s.FontResolution != nil && *s.FontResolution < 96 { - invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) - } - if s.Font != nil { - if err := s.Font.Validate(); err != nil { - invalidParams.AddNested("Font", err.(request.ErrInvalidParams)) +func (s *CreateInputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInputInput"} + if s.Vpc != nil { + if err := s.Vpc.Validate(); err != nil { + invalidParams.AddNested("Vpc", err.(request.ErrInvalidParams)) } } @@ -4752,260 +7080,185 @@ func (s *BurnInDestinationSettings) Validate() error { return nil } -// SetAlignment sets the Alignment field's value. -func (s *BurnInDestinationSettings) SetAlignment(v string) *BurnInDestinationSettings { - s.Alignment = &v - return s -} - -// SetBackgroundColor sets the BackgroundColor field's value. -func (s *BurnInDestinationSettings) SetBackgroundColor(v string) *BurnInDestinationSettings { - s.BackgroundColor = &v - return s -} - -// SetBackgroundOpacity sets the BackgroundOpacity field's value. -func (s *BurnInDestinationSettings) SetBackgroundOpacity(v int64) *BurnInDestinationSettings { - s.BackgroundOpacity = &v - return s -} - -// SetFont sets the Font field's value. -func (s *BurnInDestinationSettings) SetFont(v *InputLocation) *BurnInDestinationSettings { - s.Font = v - return s -} - -// SetFontColor sets the FontColor field's value. -func (s *BurnInDestinationSettings) SetFontColor(v string) *BurnInDestinationSettings { - s.FontColor = &v - return s -} - -// SetFontOpacity sets the FontOpacity field's value. -func (s *BurnInDestinationSettings) SetFontOpacity(v int64) *BurnInDestinationSettings { - s.FontOpacity = &v - return s -} - -// SetFontResolution sets the FontResolution field's value. -func (s *BurnInDestinationSettings) SetFontResolution(v int64) *BurnInDestinationSettings { - s.FontResolution = &v - return s -} - -// SetFontSize sets the FontSize field's value. -func (s *BurnInDestinationSettings) SetFontSize(v string) *BurnInDestinationSettings { - s.FontSize = &v +// SetDestinations sets the Destinations field's value. +func (s *CreateInputInput) SetDestinations(v []*InputDestinationRequest) *CreateInputInput { + s.Destinations = v return s } -// SetOutlineColor sets the OutlineColor field's value. -func (s *BurnInDestinationSettings) SetOutlineColor(v string) *BurnInDestinationSettings { - s.OutlineColor = &v +// SetInputSecurityGroups sets the InputSecurityGroups field's value. +func (s *CreateInputInput) SetInputSecurityGroups(v []*string) *CreateInputInput { + s.InputSecurityGroups = v return s } -// SetOutlineSize sets the OutlineSize field's value. -func (s *BurnInDestinationSettings) SetOutlineSize(v int64) *BurnInDestinationSettings { - s.OutlineSize = &v +// SetMediaConnectFlows sets the MediaConnectFlows field's value. +func (s *CreateInputInput) SetMediaConnectFlows(v []*MediaConnectFlowRequest) *CreateInputInput { + s.MediaConnectFlows = v return s } -// SetShadowColor sets the ShadowColor field's value. -func (s *BurnInDestinationSettings) SetShadowColor(v string) *BurnInDestinationSettings { - s.ShadowColor = &v +// SetName sets the Name field's value. +func (s *CreateInputInput) SetName(v string) *CreateInputInput { + s.Name = &v return s } -// SetShadowOpacity sets the ShadowOpacity field's value. -func (s *BurnInDestinationSettings) SetShadowOpacity(v int64) *BurnInDestinationSettings { - s.ShadowOpacity = &v +// SetRequestId sets the RequestId field's value. +func (s *CreateInputInput) SetRequestId(v string) *CreateInputInput { + s.RequestId = &v return s } -// SetShadowXOffset sets the ShadowXOffset field's value. -func (s *BurnInDestinationSettings) SetShadowXOffset(v int64) *BurnInDestinationSettings { - s.ShadowXOffset = &v +// SetRoleArn sets the RoleArn field's value. +func (s *CreateInputInput) SetRoleArn(v string) *CreateInputInput { + s.RoleArn = &v return s } -// SetShadowYOffset sets the ShadowYOffset field's value. -func (s *BurnInDestinationSettings) SetShadowYOffset(v int64) *BurnInDestinationSettings { - s.ShadowYOffset = &v +// SetSources sets the Sources field's value. +func (s *CreateInputInput) SetSources(v []*InputSourceRequest) *CreateInputInput { + s.Sources = v return s } -// SetTeletextGridControl sets the TeletextGridControl field's value. -func (s *BurnInDestinationSettings) SetTeletextGridControl(v string) *BurnInDestinationSettings { - s.TeletextGridControl = &v +// SetTags sets the Tags field's value. +func (s *CreateInputInput) SetTags(v map[string]*string) *CreateInputInput { + s.Tags = v return s } -// SetXPosition sets the XPosition field's value. -func (s *BurnInDestinationSettings) SetXPosition(v int64) *BurnInDestinationSettings { - s.XPosition = &v +// SetType sets the Type field's value. +func (s *CreateInputInput) SetType(v string) *CreateInputInput { + s.Type = &v return s } -// SetYPosition sets the YPosition field's value. -func (s *BurnInDestinationSettings) SetYPosition(v int64) *BurnInDestinationSettings { - s.YPosition = &v +// SetVpc sets the Vpc field's value. +func (s *CreateInputInput) SetVpc(v *InputVpcRequest) *CreateInputInput { + s.Vpc = v return s } -// Output groups for this Live Event. Output groups contain information about -// where streams should be distributed. -type CaptionDescription struct { +type CreateInputOutput struct { _ struct{} `type:"structure"` - // Specifies which input caption selector to use as a caption source when generating - // output captions. This field should match a captionSelector name. - // - // CaptionSelectorName is a required field - CaptionSelectorName *string `locationName:"captionSelectorName" type:"string" required:"true"` - - // Additional settings for captions destination that depend on the destination - // type. - DestinationSettings *CaptionDestinationSettings `locationName:"destinationSettings" type:"structure"` - - // ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/ - LanguageCode *string `locationName:"languageCode" type:"string"` - - // Human readable information to indicate captions available for players (eg. - // English, or Spanish). - LanguageDescription *string `locationName:"languageDescription" type:"string"` - - // Name of the caption description. Used to associate a caption description - // with an output. Names must be unique within an event. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + Input *Input `locationName:"input" type:"structure"` } // String returns the string representation -func (s CaptionDescription) String() string { +func (s CreateInputOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CaptionDescription) GoString() string { +func (s CreateInputOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CaptionDescription) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CaptionDescription"} - if s.CaptionSelectorName == nil { - invalidParams.Add(request.NewErrParamRequired("CaptionSelectorName")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.DestinationSettings != nil { - if err := s.DestinationSettings.Validate(); err != nil { - invalidParams.AddNested("DestinationSettings", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetInput sets the Input field's value. +func (s *CreateInputOutput) SetInput(v *Input) *CreateInputOutput { + s.Input = v + return s } -// SetCaptionSelectorName sets the CaptionSelectorName field's value. -func (s *CaptionDescription) SetCaptionSelectorName(v string) *CaptionDescription { - s.CaptionSelectorName = &v - return s +type CreateInputSecurityGroupInput struct { + _ struct{} `type:"structure"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + WhitelistRules []*InputWhitelistRuleCidr `locationName:"whitelistRules" type:"list"` } -// SetDestinationSettings sets the DestinationSettings field's value. -func (s *CaptionDescription) SetDestinationSettings(v *CaptionDestinationSettings) *CaptionDescription { - s.DestinationSettings = v - return s +// String returns the string representation +func (s CreateInputSecurityGroupInput) String() string { + return awsutil.Prettify(s) } -// SetLanguageCode sets the LanguageCode field's value. -func (s *CaptionDescription) SetLanguageCode(v string) *CaptionDescription { - s.LanguageCode = &v - return s +// GoString returns the string representation +func (s CreateInputSecurityGroupInput) GoString() string { + return s.String() } -// SetLanguageDescription sets the LanguageDescription field's value. -func (s *CaptionDescription) SetLanguageDescription(v string) *CaptionDescription { - s.LanguageDescription = &v +// SetTags sets the Tags field's value. +func (s *CreateInputSecurityGroupInput) SetTags(v map[string]*string) *CreateInputSecurityGroupInput { + s.Tags = v return s } -// SetName sets the Name field's value. -func (s *CaptionDescription) SetName(v string) *CaptionDescription { - s.Name = &v +// SetWhitelistRules sets the WhitelistRules field's value. +func (s *CreateInputSecurityGroupInput) SetWhitelistRules(v []*InputWhitelistRuleCidr) *CreateInputSecurityGroupInput { + s.WhitelistRules = v return s } -// Caption Destination Settings -type CaptionDestinationSettings struct { +type CreateInputSecurityGroupOutput struct { _ struct{} `type:"structure"` - // Arib Destination Settings - AribDestinationSettings *AribDestinationSettings `locationName:"aribDestinationSettings" type:"structure"` - - // Burn In Destination Settings - BurnInDestinationSettings *BurnInDestinationSettings `locationName:"burnInDestinationSettings" type:"structure"` - - // Dvb Sub Destination Settings - DvbSubDestinationSettings *DvbSubDestinationSettings `locationName:"dvbSubDestinationSettings" type:"structure"` + // An Input Security Group + SecurityGroup *InputSecurityGroup `locationName:"securityGroup" type:"structure"` +} - // Embedded Destination Settings - EmbeddedDestinationSettings *EmbeddedDestinationSettings `locationName:"embeddedDestinationSettings" type:"structure"` +// String returns the string representation +func (s CreateInputSecurityGroupOutput) String() string { + return awsutil.Prettify(s) +} - // Embedded Plus Scte20 Destination Settings - EmbeddedPlusScte20DestinationSettings *EmbeddedPlusScte20DestinationSettings `locationName:"embeddedPlusScte20DestinationSettings" type:"structure"` +// GoString returns the string representation +func (s CreateInputSecurityGroupOutput) GoString() string { + return s.String() +} - // Rtmp Caption Info Destination Settings - RtmpCaptionInfoDestinationSettings *RtmpCaptionInfoDestinationSettings `locationName:"rtmpCaptionInfoDestinationSettings" type:"structure"` +// SetSecurityGroup sets the SecurityGroup field's value. +func (s *CreateInputSecurityGroupOutput) SetSecurityGroup(v *InputSecurityGroup) *CreateInputSecurityGroupOutput { + s.SecurityGroup = v + return s +} - // Scte20 Plus Embedded Destination Settings - Scte20PlusEmbeddedDestinationSettings *Scte20PlusEmbeddedDestinationSettings `locationName:"scte20PlusEmbeddedDestinationSettings" type:"structure"` +type CreateMultiplexInput struct { + _ struct{} `type:"structure"` - // Scte27 Destination Settings - Scte27DestinationSettings *Scte27DestinationSettings `locationName:"scte27DestinationSettings" type:"structure"` + // AvailabilityZones is a required field + AvailabilityZones []*string `locationName:"availabilityZones" type:"list" required:"true"` - // Smpte Tt Destination Settings - SmpteTtDestinationSettings *SmpteTtDestinationSettings `locationName:"smpteTtDestinationSettings" type:"structure"` + // Contains configuration for a Multiplex event + // + // MultiplexSettings is a required field + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure" required:"true"` - // Teletext Destination Settings - TeletextDestinationSettings *TeletextDestinationSettings `locationName:"teletextDestinationSettings" type:"structure"` + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` - // Ttml Destination Settings - TtmlDestinationSettings *TtmlDestinationSettings `locationName:"ttmlDestinationSettings" type:"structure"` + RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` - // Webvtt Destination Settings - WebvttDestinationSettings *WebvttDestinationSettings `locationName:"webvttDestinationSettings" type:"structure"` + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s CaptionDestinationSettings) String() string { +func (s CreateMultiplexInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CaptionDestinationSettings) GoString() string { +func (s CreateMultiplexInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CaptionDestinationSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CaptionDestinationSettings"} - if s.BurnInDestinationSettings != nil { - if err := s.BurnInDestinationSettings.Validate(); err != nil { - invalidParams.AddNested("BurnInDestinationSettings", err.(request.ErrInvalidParams)) - } +func (s *CreateMultiplexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMultiplexInput"} + if s.AvailabilityZones == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZones")) } - if s.DvbSubDestinationSettings != nil { - if err := s.DvbSubDestinationSettings.Validate(); err != nil { - invalidParams.AddNested("DvbSubDestinationSettings", err.(request.ErrInvalidParams)) + if s.MultiplexSettings == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexSettings")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.MultiplexSettings != nil { + if err := s.MultiplexSettings.Validate(); err != nil { + invalidParams.AddNested("MultiplexSettings", err.(request.ErrInvalidParams)) } } @@ -5015,130 +7268,105 @@ func (s *CaptionDestinationSettings) Validate() error { return nil } -// SetAribDestinationSettings sets the AribDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetAribDestinationSettings(v *AribDestinationSettings) *CaptionDestinationSettings { - s.AribDestinationSettings = v - return s -} - -// SetBurnInDestinationSettings sets the BurnInDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetBurnInDestinationSettings(v *BurnInDestinationSettings) *CaptionDestinationSettings { - s.BurnInDestinationSettings = v - return s -} - -// SetDvbSubDestinationSettings sets the DvbSubDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetDvbSubDestinationSettings(v *DvbSubDestinationSettings) *CaptionDestinationSettings { - s.DvbSubDestinationSettings = v +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *CreateMultiplexInput) SetAvailabilityZones(v []*string) *CreateMultiplexInput { + s.AvailabilityZones = v return s } -// SetEmbeddedDestinationSettings sets the EmbeddedDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetEmbeddedDestinationSettings(v *EmbeddedDestinationSettings) *CaptionDestinationSettings { - s.EmbeddedDestinationSettings = v +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *CreateMultiplexInput) SetMultiplexSettings(v *MultiplexSettings) *CreateMultiplexInput { + s.MultiplexSettings = v return s } -// SetEmbeddedPlusScte20DestinationSettings sets the EmbeddedPlusScte20DestinationSettings field's value. -func (s *CaptionDestinationSettings) SetEmbeddedPlusScte20DestinationSettings(v *EmbeddedPlusScte20DestinationSettings) *CaptionDestinationSettings { - s.EmbeddedPlusScte20DestinationSettings = v +// SetName sets the Name field's value. +func (s *CreateMultiplexInput) SetName(v string) *CreateMultiplexInput { + s.Name = &v return s } -// SetRtmpCaptionInfoDestinationSettings sets the RtmpCaptionInfoDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetRtmpCaptionInfoDestinationSettings(v *RtmpCaptionInfoDestinationSettings) *CaptionDestinationSettings { - s.RtmpCaptionInfoDestinationSettings = v +// SetRequestId sets the RequestId field's value. +func (s *CreateMultiplexInput) SetRequestId(v string) *CreateMultiplexInput { + s.RequestId = &v return s } -// SetScte20PlusEmbeddedDestinationSettings sets the Scte20PlusEmbeddedDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetScte20PlusEmbeddedDestinationSettings(v *Scte20PlusEmbeddedDestinationSettings) *CaptionDestinationSettings { - s.Scte20PlusEmbeddedDestinationSettings = v +// SetTags sets the Tags field's value. +func (s *CreateMultiplexInput) SetTags(v map[string]*string) *CreateMultiplexInput { + s.Tags = v return s } -// SetScte27DestinationSettings sets the Scte27DestinationSettings field's value. -func (s *CaptionDestinationSettings) SetScte27DestinationSettings(v *Scte27DestinationSettings) *CaptionDestinationSettings { - s.Scte27DestinationSettings = v - return s -} +type CreateMultiplexOutput struct { + _ struct{} `type:"structure"` -// SetSmpteTtDestinationSettings sets the SmpteTtDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetSmpteTtDestinationSettings(v *SmpteTtDestinationSettings) *CaptionDestinationSettings { - s.SmpteTtDestinationSettings = v - return s + // The multiplex object. + Multiplex *Multiplex `locationName:"multiplex" type:"structure"` } -// SetTeletextDestinationSettings sets the TeletextDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetTeletextDestinationSettings(v *TeletextDestinationSettings) *CaptionDestinationSettings { - s.TeletextDestinationSettings = v - return s +// String returns the string representation +func (s CreateMultiplexOutput) String() string { + return awsutil.Prettify(s) } -// SetTtmlDestinationSettings sets the TtmlDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetTtmlDestinationSettings(v *TtmlDestinationSettings) *CaptionDestinationSettings { - s.TtmlDestinationSettings = v - return s +// GoString returns the string representation +func (s CreateMultiplexOutput) GoString() string { + return s.String() } -// SetWebvttDestinationSettings sets the WebvttDestinationSettings field's value. -func (s *CaptionDestinationSettings) SetWebvttDestinationSettings(v *WebvttDestinationSettings) *CaptionDestinationSettings { - s.WebvttDestinationSettings = v +// SetMultiplex sets the Multiplex field's value. +func (s *CreateMultiplexOutput) SetMultiplex(v *Multiplex) *CreateMultiplexOutput { + s.Multiplex = v return s } -// Maps a caption channel to an ISO 693-2 language code (http://www.loc.gov/standards/iso639-2), -// with an optional description. -type CaptionLanguageMapping struct { +type CreateMultiplexProgramInput struct { _ struct{} `type:"structure"` - // The closed caption channel being described by this CaptionLanguageMapping. - // Each channel mapping must have a unique channel number (maximum of 4) - // - // CaptionChannel is a required field - CaptionChannel *int64 `locationName:"captionChannel" min:"1" type:"integer" required:"true"` + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` - // Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2) + // Multiplex Program settings configuration. // - // LanguageCode is a required field - LanguageCode *string `locationName:"languageCode" min:"3" type:"string" required:"true"` + // MultiplexProgramSettings is a required field + MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure" required:"true"` - // Textual description of language - // - // LanguageDescription is a required field - LanguageDescription *string `locationName:"languageDescription" min:"1" type:"string" required:"true"` + // ProgramName is a required field + ProgramName *string `locationName:"programName" type:"string" required:"true"` + + RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` } // String returns the string representation -func (s CaptionLanguageMapping) String() string { +func (s CreateMultiplexProgramInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CaptionLanguageMapping) GoString() string { +func (s CreateMultiplexProgramInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CaptionLanguageMapping) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CaptionLanguageMapping"} - if s.CaptionChannel == nil { - invalidParams.Add(request.NewErrParamRequired("CaptionChannel")) - } - if s.CaptionChannel != nil && *s.CaptionChannel < 1 { - invalidParams.Add(request.NewErrParamMinValue("CaptionChannel", 1)) +func (s *CreateMultiplexProgramInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMultiplexProgramInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) } - if s.LanguageCode == nil { - invalidParams.Add(request.NewErrParamRequired("LanguageCode")) + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) } - if s.LanguageCode != nil && len(*s.LanguageCode) < 3 { - invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3)) + if s.MultiplexProgramSettings == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexProgramSettings")) } - if s.LanguageDescription == nil { - invalidParams.Add(request.NewErrParamRequired("LanguageDescription")) + if s.ProgramName == nil { + invalidParams.Add(request.NewErrParamRequired("ProgramName")) } - if s.LanguageDescription != nil && len(*s.LanguageDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LanguageDescription", 1)) + if s.MultiplexProgramSettings != nil { + if err := s.MultiplexProgramSettings.Validate(); err != nil { + invalidParams.AddNested("MultiplexProgramSettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -5147,67 +7375,80 @@ func (s *CaptionLanguageMapping) Validate() error { return nil } -// SetCaptionChannel sets the CaptionChannel field's value. -func (s *CaptionLanguageMapping) SetCaptionChannel(v int64) *CaptionLanguageMapping { - s.CaptionChannel = &v +// SetMultiplexId sets the MultiplexId field's value. +func (s *CreateMultiplexProgramInput) SetMultiplexId(v string) *CreateMultiplexProgramInput { + s.MultiplexId = &v return s } -// SetLanguageCode sets the LanguageCode field's value. -func (s *CaptionLanguageMapping) SetLanguageCode(v string) *CaptionLanguageMapping { - s.LanguageCode = &v +// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value. +func (s *CreateMultiplexProgramInput) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *CreateMultiplexProgramInput { + s.MultiplexProgramSettings = v return s } -// SetLanguageDescription sets the LanguageDescription field's value. -func (s *CaptionLanguageMapping) SetLanguageDescription(v string) *CaptionLanguageMapping { - s.LanguageDescription = &v +// SetProgramName sets the ProgramName field's value. +func (s *CreateMultiplexProgramInput) SetProgramName(v string) *CreateMultiplexProgramInput { + s.ProgramName = &v return s } -// Output groups for this Live Event. Output groups contain information about -// where streams should be distributed. -type CaptionSelector struct { +// SetRequestId sets the RequestId field's value. +func (s *CreateMultiplexProgramInput) SetRequestId(v string) *CreateMultiplexProgramInput { + s.RequestId = &v + return s +} + +type CreateMultiplexProgramOutput struct { _ struct{} `type:"structure"` - // When specified this field indicates the three letter language code of the - // caption track to extract from the source. - LanguageCode *string `locationName:"languageCode" type:"string"` + // The multiplex program object. + MultiplexProgram *MultiplexProgram `locationName:"multiplexProgram" type:"structure"` +} - // Name identifier for a caption selector. This name is used to associate this - // caption selector with one or more caption descriptions. Names must be unique - // within an event. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` +// String returns the string representation +func (s CreateMultiplexProgramOutput) String() string { + return awsutil.Prettify(s) +} - // Caption selector settings. - SelectorSettings *CaptionSelectorSettings `locationName:"selectorSettings" type:"structure"` +// GoString returns the string representation +func (s CreateMultiplexProgramOutput) GoString() string { + return s.String() +} + +// SetMultiplexProgram sets the MultiplexProgram field's value. +func (s *CreateMultiplexProgramOutput) SetMultiplexProgram(v *MultiplexProgram) *CreateMultiplexProgramOutput { + s.MultiplexProgram = v + return s +} + +type CreateTagsInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` + + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s CaptionSelector) String() string { +func (s CreateTagsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CaptionSelector) GoString() string { +func (s CreateTagsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CaptionSelector) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CaptionSelector"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) +func (s *CreateTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.SelectorSettings != nil { - if err := s.SelectorSettings.Validate(); err != nil { - invalidParams.AddNested("SelectorSettings", err.(request.ErrInvalidParams)) - } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if invalidParams.Len() > 0 { @@ -5216,79 +7457,57 @@ func (s *CaptionSelector) Validate() error { return nil } -// SetLanguageCode sets the LanguageCode field's value. -func (s *CaptionSelector) SetLanguageCode(v string) *CaptionSelector { - s.LanguageCode = &v - return s -} - -// SetName sets the Name field's value. -func (s *CaptionSelector) SetName(v string) *CaptionSelector { - s.Name = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *CreateTagsInput) SetResourceArn(v string) *CreateTagsInput { + s.ResourceArn = &v return s } -// SetSelectorSettings sets the SelectorSettings field's value. -func (s *CaptionSelector) SetSelectorSettings(v *CaptionSelectorSettings) *CaptionSelector { - s.SelectorSettings = v +// SetTags sets the Tags field's value. +func (s *CreateTagsInput) SetTags(v map[string]*string) *CreateTagsInput { + s.Tags = v return s } -// Caption Selector Settings -type CaptionSelectorSettings struct { +type CreateTagsOutput struct { _ struct{} `type:"structure"` +} - // Arib Source Settings - AribSourceSettings *AribSourceSettings `locationName:"aribSourceSettings" type:"structure"` - - // Dvb Sub Source Settings - DvbSubSourceSettings *DvbSubSourceSettings `locationName:"dvbSubSourceSettings" type:"structure"` - - // Embedded Source Settings - EmbeddedSourceSettings *EmbeddedSourceSettings `locationName:"embeddedSourceSettings" type:"structure"` +// String returns the string representation +func (s CreateTagsOutput) String() string { + return awsutil.Prettify(s) +} - // Scte20 Source Settings - Scte20SourceSettings *Scte20SourceSettings `locationName:"scte20SourceSettings" type:"structure"` +// GoString returns the string representation +func (s CreateTagsOutput) GoString() string { + return s.String() +} - // Scte27 Source Settings - Scte27SourceSettings *Scte27SourceSettings `locationName:"scte27SourceSettings" type:"structure"` +type DeleteChannelInput struct { + _ struct{} `type:"structure"` - // Teletext Source Settings - TeletextSourceSettings *TeletextSourceSettings `locationName:"teletextSourceSettings" type:"structure"` + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` } // String returns the string representation -func (s CaptionSelectorSettings) String() string { +func (s DeleteChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CaptionSelectorSettings) GoString() string { +func (s DeleteChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CaptionSelectorSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CaptionSelectorSettings"} - if s.DvbSubSourceSettings != nil { - if err := s.DvbSubSourceSettings.Validate(); err != nil { - invalidParams.AddNested("DvbSubSourceSettings", err.(request.ErrInvalidParams)) - } - } - if s.EmbeddedSourceSettings != nil { - if err := s.EmbeddedSourceSettings.Validate(); err != nil { - invalidParams.AddNested("EmbeddedSourceSettings", err.(request.ErrInvalidParams)) - } - } - if s.Scte20SourceSettings != nil { - if err := s.Scte20SourceSettings.Validate(); err != nil { - invalidParams.AddNested("Scte20SourceSettings", err.(request.ErrInvalidParams)) - } +func (s *DeleteChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) } - if s.Scte27SourceSettings != nil { - if err := s.Scte27SourceSettings.Validate(); err != nil { - invalidParams.AddNested("Scte27SourceSettings", err.(request.ErrInvalidParams)) - } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) } if invalidParams.Len() > 0 { @@ -5297,429 +7516,425 @@ func (s *CaptionSelectorSettings) Validate() error { return nil } -// SetAribSourceSettings sets the AribSourceSettings field's value. -func (s *CaptionSelectorSettings) SetAribSourceSettings(v *AribSourceSettings) *CaptionSelectorSettings { - s.AribSourceSettings = v - return s -} - -// SetDvbSubSourceSettings sets the DvbSubSourceSettings field's value. -func (s *CaptionSelectorSettings) SetDvbSubSourceSettings(v *DvbSubSourceSettings) *CaptionSelectorSettings { - s.DvbSubSourceSettings = v - return s -} - -// SetEmbeddedSourceSettings sets the EmbeddedSourceSettings field's value. -func (s *CaptionSelectorSettings) SetEmbeddedSourceSettings(v *EmbeddedSourceSettings) *CaptionSelectorSettings { - s.EmbeddedSourceSettings = v - return s -} - -// SetScte20SourceSettings sets the Scte20SourceSettings field's value. -func (s *CaptionSelectorSettings) SetScte20SourceSettings(v *Scte20SourceSettings) *CaptionSelectorSettings { - s.Scte20SourceSettings = v - return s -} - -// SetScte27SourceSettings sets the Scte27SourceSettings field's value. -func (s *CaptionSelectorSettings) SetScte27SourceSettings(v *Scte27SourceSettings) *CaptionSelectorSettings { - s.Scte27SourceSettings = v - return s -} - -// SetTeletextSourceSettings sets the TeletextSourceSettings field's value. -func (s *CaptionSelectorSettings) SetTeletextSourceSettings(v *TeletextSourceSettings) *CaptionSelectorSettings { - s.TeletextSourceSettings = v +// SetChannelId sets the ChannelId field's value. +func (s *DeleteChannelInput) SetChannelId(v string) *DeleteChannelInput { + s.ChannelId = &v return s } -type Channel struct { +type DeleteChannelOutput struct { _ struct{} `type:"structure"` - // The unique arn of the channel. Arn *string `locationName:"arn" type:"string"` - // The class for this channel. STANDARD for a channel with two pipelines or - // SINGLE_PIPELINE for a channel with one pipeline. + // A standard channel has two encoding pipelines and a single pipeline channel + // only has one. ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` - // A list of destinations of the channel. For UDP outputs, there is onedestination - // per output. For other types (HLS, for example), there isone destination per - // packager. Destinations []*OutputDestination `locationName:"destinations" type:"list"` - // The endpoints where outgoing connections initiate from EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` // Encoder Settings EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` - // The unique id of the channel. Id *string `locationName:"id" type:"string"` - // List of input attachments for channel. InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` - // The log level being written to CloudWatch Logs. + // The log level the user wants for their channel. LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` - // The name of the channel. (user-mutable) Name *string `locationName:"name" type:"string"` - // Runtime details for the pipelines of a running channel. PipelineDetails []*PipelineDetail `locationName:"pipelineDetails" type:"list"` - // The number of currently healthy pipelines. PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` - // The Amazon Resource Name (ARN) of the role assumed when running the Channel. RoleArn *string `locationName:"roleArn" type:"string"` State *string `locationName:"state" type:"string" enum:"ChannelState"` - // A collection of key-value pairs. Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s Channel) String() string { +func (s DeleteChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Channel) GoString() string { +func (s DeleteChannelOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *Channel) SetArn(v string) *Channel { +func (s *DeleteChannelOutput) SetArn(v string) *DeleteChannelOutput { s.Arn = &v return s } // SetChannelClass sets the ChannelClass field's value. -func (s *Channel) SetChannelClass(v string) *Channel { +func (s *DeleteChannelOutput) SetChannelClass(v string) *DeleteChannelOutput { s.ChannelClass = &v return s } // SetDestinations sets the Destinations field's value. -func (s *Channel) SetDestinations(v []*OutputDestination) *Channel { +func (s *DeleteChannelOutput) SetDestinations(v []*OutputDestination) *DeleteChannelOutput { s.Destinations = v return s } // SetEgressEndpoints sets the EgressEndpoints field's value. -func (s *Channel) SetEgressEndpoints(v []*ChannelEgressEndpoint) *Channel { +func (s *DeleteChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DeleteChannelOutput { s.EgressEndpoints = v return s } // SetEncoderSettings sets the EncoderSettings field's value. -func (s *Channel) SetEncoderSettings(v *EncoderSettings) *Channel { +func (s *DeleteChannelOutput) SetEncoderSettings(v *EncoderSettings) *DeleteChannelOutput { s.EncoderSettings = v return s } // SetId sets the Id field's value. -func (s *Channel) SetId(v string) *Channel { +func (s *DeleteChannelOutput) SetId(v string) *DeleteChannelOutput { s.Id = &v return s } // SetInputAttachments sets the InputAttachments field's value. -func (s *Channel) SetInputAttachments(v []*InputAttachment) *Channel { +func (s *DeleteChannelOutput) SetInputAttachments(v []*InputAttachment) *DeleteChannelOutput { s.InputAttachments = v return s } // SetInputSpecification sets the InputSpecification field's value. -func (s *Channel) SetInputSpecification(v *InputSpecification) *Channel { +func (s *DeleteChannelOutput) SetInputSpecification(v *InputSpecification) *DeleteChannelOutput { s.InputSpecification = v return s } // SetLogLevel sets the LogLevel field's value. -func (s *Channel) SetLogLevel(v string) *Channel { +func (s *DeleteChannelOutput) SetLogLevel(v string) *DeleteChannelOutput { s.LogLevel = &v return s } // SetName sets the Name field's value. -func (s *Channel) SetName(v string) *Channel { +func (s *DeleteChannelOutput) SetName(v string) *DeleteChannelOutput { s.Name = &v return s } // SetPipelineDetails sets the PipelineDetails field's value. -func (s *Channel) SetPipelineDetails(v []*PipelineDetail) *Channel { +func (s *DeleteChannelOutput) SetPipelineDetails(v []*PipelineDetail) *DeleteChannelOutput { s.PipelineDetails = v return s } // SetPipelinesRunningCount sets the PipelinesRunningCount field's value. -func (s *Channel) SetPipelinesRunningCount(v int64) *Channel { +func (s *DeleteChannelOutput) SetPipelinesRunningCount(v int64) *DeleteChannelOutput { s.PipelinesRunningCount = &v return s } // SetRoleArn sets the RoleArn field's value. -func (s *Channel) SetRoleArn(v string) *Channel { +func (s *DeleteChannelOutput) SetRoleArn(v string) *DeleteChannelOutput { s.RoleArn = &v return s } // SetState sets the State field's value. -func (s *Channel) SetState(v string) *Channel { +func (s *DeleteChannelOutput) SetState(v string) *DeleteChannelOutput { s.State = &v return s } // SetTags sets the Tags field's value. -func (s *Channel) SetTags(v map[string]*string) *Channel { +func (s *DeleteChannelOutput) SetTags(v map[string]*string) *DeleteChannelOutput { s.Tags = v return s } -type ChannelEgressEndpoint struct { +type DeleteInputInput struct { _ struct{} `type:"structure"` - // Public IP of where a channel's output comes from - SourceIp *string `locationName:"sourceIp" type:"string"` + // InputId is a required field + InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"` } // String returns the string representation -func (s ChannelEgressEndpoint) String() string { +func (s DeleteInputInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ChannelEgressEndpoint) GoString() string { +func (s DeleteInputInput) GoString() string { return s.String() } -// SetSourceIp sets the SourceIp field's value. -func (s *ChannelEgressEndpoint) SetSourceIp(v string) *ChannelEgressEndpoint { - s.SourceIp = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteInputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInputInput"} + if s.InputId == nil { + invalidParams.Add(request.NewErrParamRequired("InputId")) + } + if s.InputId != nil && len(*s.InputId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputId sets the InputId field's value. +func (s *DeleteInputInput) SetInputId(v string) *DeleteInputInput { + s.InputId = &v return s } -type ChannelSummary struct { +type DeleteInputOutput struct { _ struct{} `type:"structure"` +} - // The unique arn of the channel. - Arn *string `locationName:"arn" type:"string"` +// String returns the string representation +func (s DeleteInputOutput) String() string { + return awsutil.Prettify(s) +} - // The class for this channel. STANDARD for a channel with two pipelines or - // SINGLE_PIPELINE for a channel with one pipeline. - ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` +// GoString returns the string representation +func (s DeleteInputOutput) GoString() string { + return s.String() +} - // A list of destinations of the channel. For UDP outputs, there is onedestination - // per output. For other types (HLS, for example), there isone destination per - // packager. - Destinations []*OutputDestination `locationName:"destinations" type:"list"` +type DeleteInputSecurityGroupInput struct { + _ struct{} `type:"structure"` - // The endpoints where outgoing connections initiate from - EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + // InputSecurityGroupId is a required field + InputSecurityGroupId *string `location:"uri" locationName:"inputSecurityGroupId" type:"string" required:"true"` +} - // The unique id of the channel. - Id *string `locationName:"id" type:"string"` +// String returns the string representation +func (s DeleteInputSecurityGroupInput) String() string { + return awsutil.Prettify(s) +} - // List of input attachments for channel. - InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` +// GoString returns the string representation +func (s DeleteInputSecurityGroupInput) GoString() string { + return s.String() +} - InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteInputSecurityGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInputSecurityGroupInput"} + if s.InputSecurityGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId")) + } + if s.InputSecurityGroupId != nil && len(*s.InputSecurityGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputSecurityGroupId", 1)) + } - // The log level being written to CloudWatch Logs. - LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputSecurityGroupId sets the InputSecurityGroupId field's value. +func (s *DeleteInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DeleteInputSecurityGroupInput { + s.InputSecurityGroupId = &v + return s +} + +type DeleteInputSecurityGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteInputSecurityGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInputSecurityGroupOutput) GoString() string { + return s.String() +} + +type DeleteMultiplexInput struct { + _ struct{} `type:"structure"` + + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteMultiplexInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteMultiplexInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMultiplexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMultiplexInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMultiplexId sets the MultiplexId field's value. +func (s *DeleteMultiplexInput) SetMultiplexId(v string) *DeleteMultiplexInput { + s.MultiplexId = &v + return s +} + +type DeleteMultiplexOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + AvailabilityZones []*string `locationName:"availabilityZones" type:"list"` + + Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"` + + Id *string `locationName:"id" type:"string"` + + // Contains configuration for a Multiplex event + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"` - // The name of the channel. (user-mutable) Name *string `locationName:"name" type:"string"` - // The number of currently healthy pipelines. PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` - // The Amazon Resource Name (ARN) of the role assumed when running the Channel. - RoleArn *string `locationName:"roleArn" type:"string"` + ProgramCount *int64 `locationName:"programCount" type:"integer"` - State *string `locationName:"state" type:"string" enum:"ChannelState"` + // The current state of the multiplex. + State *string `locationName:"state" type:"string" enum:"MultiplexState"` - // A collection of key-value pairs. Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s ChannelSummary) String() string { +func (s DeleteMultiplexOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ChannelSummary) GoString() string { +func (s DeleteMultiplexOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *ChannelSummary) SetArn(v string) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetArn(v string) *DeleteMultiplexOutput { s.Arn = &v return s } -// SetChannelClass sets the ChannelClass field's value. -func (s *ChannelSummary) SetChannelClass(v string) *ChannelSummary { - s.ChannelClass = &v +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *DeleteMultiplexOutput) SetAvailabilityZones(v []*string) *DeleteMultiplexOutput { + s.AvailabilityZones = v return s } // SetDestinations sets the Destinations field's value. -func (s *ChannelSummary) SetDestinations(v []*OutputDestination) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetDestinations(v []*MultiplexOutputDestination) *DeleteMultiplexOutput { s.Destinations = v return s } -// SetEgressEndpoints sets the EgressEndpoints field's value. -func (s *ChannelSummary) SetEgressEndpoints(v []*ChannelEgressEndpoint) *ChannelSummary { - s.EgressEndpoints = v - return s -} - // SetId sets the Id field's value. -func (s *ChannelSummary) SetId(v string) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetId(v string) *DeleteMultiplexOutput { s.Id = &v return s } -// SetInputAttachments sets the InputAttachments field's value. -func (s *ChannelSummary) SetInputAttachments(v []*InputAttachment) *ChannelSummary { - s.InputAttachments = v - return s -} - -// SetInputSpecification sets the InputSpecification field's value. -func (s *ChannelSummary) SetInputSpecification(v *InputSpecification) *ChannelSummary { - s.InputSpecification = v - return s -} - -// SetLogLevel sets the LogLevel field's value. -func (s *ChannelSummary) SetLogLevel(v string) *ChannelSummary { - s.LogLevel = &v +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *DeleteMultiplexOutput) SetMultiplexSettings(v *MultiplexSettings) *DeleteMultiplexOutput { + s.MultiplexSettings = v return s } // SetName sets the Name field's value. -func (s *ChannelSummary) SetName(v string) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetName(v string) *DeleteMultiplexOutput { s.Name = &v return s } // SetPipelinesRunningCount sets the PipelinesRunningCount field's value. -func (s *ChannelSummary) SetPipelinesRunningCount(v int64) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetPipelinesRunningCount(v int64) *DeleteMultiplexOutput { s.PipelinesRunningCount = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *ChannelSummary) SetRoleArn(v string) *ChannelSummary { - s.RoleArn = &v +// SetProgramCount sets the ProgramCount field's value. +func (s *DeleteMultiplexOutput) SetProgramCount(v int64) *DeleteMultiplexOutput { + s.ProgramCount = &v return s } // SetState sets the State field's value. -func (s *ChannelSummary) SetState(v string) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetState(v string) *DeleteMultiplexOutput { s.State = &v return s } // SetTags sets the Tags field's value. -func (s *ChannelSummary) SetTags(v map[string]*string) *ChannelSummary { +func (s *DeleteMultiplexOutput) SetTags(v map[string]*string) *DeleteMultiplexOutput { s.Tags = v return s } -// Passthrough applies no color space conversion to the output -type ColorSpacePassthroughSettings struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s ColorSpacePassthroughSettings) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ColorSpacePassthroughSettings) GoString() string { - return s.String() -} - -type CreateChannelInput struct { +type DeleteMultiplexProgramInput struct { _ struct{} `type:"structure"` - // A standard channel has two encoding pipelines and a single pipeline channel - // only has one. - ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` - - Destinations []*OutputDestination `locationName:"destinations" type:"list"` - - // Encoder Settings - EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` - - InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` - - InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` - - // The log level the user wants for their channel. - LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` - - Name *string `locationName:"name" type:"string"` - - RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` - - Reserved *string `locationName:"reserved" deprecated:"true" type:"string"` - - RoleArn *string `locationName:"roleArn" type:"string"` + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` - Tags map[string]*string `locationName:"tags" type:"map"` + // ProgramName is a required field + ProgramName *string `location:"uri" locationName:"programName" type:"string" required:"true"` } // String returns the string representation -func (s CreateChannelInput) String() string { +func (s DeleteMultiplexProgramInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateChannelInput) GoString() string { +func (s DeleteMultiplexProgramInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"} - if s.Destinations != nil { - for i, v := range s.Destinations { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams)) - } - } +func (s *DeleteMultiplexProgramInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMultiplexProgramInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) } - if s.EncoderSettings != nil { - if err := s.EncoderSettings.Validate(); err != nil { - invalidParams.AddNested("EncoderSettings", err.(request.ErrInvalidParams)) - } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + if s.ProgramName == nil { + invalidParams.Add(request.NewErrParamRequired("ProgramName")) } - if s.InputAttachments != nil { - for i, v := range s.InputAttachments { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputAttachments", i), err.(request.ErrInvalidParams)) - } - } + if s.ProgramName != nil && len(*s.ProgramName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgramName", 1)) } if invalidParams.Len() > 0 { @@ -5728,310 +7943,352 @@ func (s *CreateChannelInput) Validate() error { return nil } -// SetChannelClass sets the ChannelClass field's value. -func (s *CreateChannelInput) SetChannelClass(v string) *CreateChannelInput { - s.ChannelClass = &v +// SetMultiplexId sets the MultiplexId field's value. +func (s *DeleteMultiplexProgramInput) SetMultiplexId(v string) *DeleteMultiplexProgramInput { + s.MultiplexId = &v return s } -// SetDestinations sets the Destinations field's value. -func (s *CreateChannelInput) SetDestinations(v []*OutputDestination) *CreateChannelInput { - s.Destinations = v +// SetProgramName sets the ProgramName field's value. +func (s *DeleteMultiplexProgramInput) SetProgramName(v string) *DeleteMultiplexProgramInput { + s.ProgramName = &v return s } -// SetEncoderSettings sets the EncoderSettings field's value. -func (s *CreateChannelInput) SetEncoderSettings(v *EncoderSettings) *CreateChannelInput { - s.EncoderSettings = v - return s -} +type DeleteMultiplexProgramOutput struct { + _ struct{} `type:"structure"` -// SetInputAttachments sets the InputAttachments field's value. -func (s *CreateChannelInput) SetInputAttachments(v []*InputAttachment) *CreateChannelInput { - s.InputAttachments = v - return s -} + ChannelId *string `locationName:"channelId" type:"string"` -// SetInputSpecification sets the InputSpecification field's value. -func (s *CreateChannelInput) SetInputSpecification(v *InputSpecification) *CreateChannelInput { - s.InputSpecification = v - return s + // Multiplex Program settings configuration. + MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure"` + + // Packet identifiers map for a given Multiplex program. + PacketIdentifiersMap *MultiplexProgramPacketIdentifiersMap `locationName:"packetIdentifiersMap" type:"structure"` + + ProgramName *string `locationName:"programName" type:"string"` } -// SetLogLevel sets the LogLevel field's value. -func (s *CreateChannelInput) SetLogLevel(v string) *CreateChannelInput { - s.LogLevel = &v - return s +// String returns the string representation +func (s DeleteMultiplexProgramOutput) String() string { + return awsutil.Prettify(s) } -// SetName sets the Name field's value. -func (s *CreateChannelInput) SetName(v string) *CreateChannelInput { - s.Name = &v - return s +// GoString returns the string representation +func (s DeleteMultiplexProgramOutput) GoString() string { + return s.String() } -// SetRequestId sets the RequestId field's value. -func (s *CreateChannelInput) SetRequestId(v string) *CreateChannelInput { - s.RequestId = &v +// SetChannelId sets the ChannelId field's value. +func (s *DeleteMultiplexProgramOutput) SetChannelId(v string) *DeleteMultiplexProgramOutput { + s.ChannelId = &v return s } -// SetReserved sets the Reserved field's value. -func (s *CreateChannelInput) SetReserved(v string) *CreateChannelInput { - s.Reserved = &v +// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value. +func (s *DeleteMultiplexProgramOutput) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *DeleteMultiplexProgramOutput { + s.MultiplexProgramSettings = v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *CreateChannelInput) SetRoleArn(v string) *CreateChannelInput { - s.RoleArn = &v +// SetPacketIdentifiersMap sets the PacketIdentifiersMap field's value. +func (s *DeleteMultiplexProgramOutput) SetPacketIdentifiersMap(v *MultiplexProgramPacketIdentifiersMap) *DeleteMultiplexProgramOutput { + s.PacketIdentifiersMap = v return s } -// SetTags sets the Tags field's value. -func (s *CreateChannelInput) SetTags(v map[string]*string) *CreateChannelInput { - s.Tags = v +// SetProgramName sets the ProgramName field's value. +func (s *DeleteMultiplexProgramOutput) SetProgramName(v string) *DeleteMultiplexProgramOutput { + s.ProgramName = &v return s } -type CreateChannelOutput struct { +type DeleteReservationInput struct { _ struct{} `type:"structure"` - Channel *Channel `locationName:"channel" type:"structure"` + // ReservationId is a required field + ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"` } // String returns the string representation -func (s CreateChannelOutput) String() string { +func (s DeleteReservationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateChannelOutput) GoString() string { +func (s DeleteReservationInput) GoString() string { return s.String() } -// SetChannel sets the Channel field's value. -func (s *CreateChannelOutput) SetChannel(v *Channel) *CreateChannelOutput { - s.Channel = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReservationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReservationInput"} + if s.ReservationId == nil { + invalidParams.Add(request.NewErrParamRequired("ReservationId")) + } + if s.ReservationId != nil && len(*s.ReservationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReservationId sets the ReservationId field's value. +func (s *DeleteReservationInput) SetReservationId(v string) *DeleteReservationInput { + s.ReservationId = &v return s } -type CreateInputInput struct { +type DeleteReservationOutput struct { _ struct{} `type:"structure"` - Destinations []*InputDestinationRequest `locationName:"destinations" type:"list"` + Arn *string `locationName:"arn" type:"string"` - InputSecurityGroups []*string `locationName:"inputSecurityGroups" type:"list"` + Count *int64 `locationName:"count" type:"integer"` - MediaConnectFlows []*MediaConnectFlowRequest `locationName:"mediaConnectFlows" type:"list"` + CurrencyCode *string `locationName:"currencyCode" type:"string"` + + Duration *int64 `locationName:"duration" type:"integer"` + + // Units for duration, e.g. 'MONTHS' + DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` + + End *string `locationName:"end" type:"string"` + + FixedPrice *float64 `locationName:"fixedPrice" type:"double"` Name *string `locationName:"name" type:"string"` - RequestId *string `locationName:"requestId" type:"string" idempotencyToken:"true"` + OfferingDescription *string `locationName:"offeringDescription" type:"string"` - RoleArn *string `locationName:"roleArn" type:"string"` + OfferingId *string `locationName:"offeringId" type:"string"` - Sources []*InputSourceRequest `locationName:"sources" type:"list"` + // Offering type, e.g. 'NO_UPFRONT' + OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` - Tags map[string]*string `locationName:"tags" type:"map"` + Region *string `locationName:"region" type:"string"` - Type *string `locationName:"type" type:"string" enum:"InputType"` + ReservationId *string `locationName:"reservationId" type:"string"` - // Settings for a private VPC Input.When this property is specified, the input - // destination addresses will be created in a VPC rather than with public Internet - // addresses.This property requires setting the roleArn property on Input creation.Not - // compatible with the inputSecurityGroups property. - Vpc *InputVpcRequest `locationName:"vpc" type:"structure"` + // Resource configuration (codec, resolution, bitrate, ...) + ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + + Start *string `locationName:"start" type:"string"` + + // Current reservation state + State *string `locationName:"state" type:"string" enum:"ReservationState"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + UsagePrice *float64 `locationName:"usagePrice" type:"double"` } // String returns the string representation -func (s CreateInputInput) String() string { +func (s DeleteReservationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInputInput) GoString() string { +func (s DeleteReservationOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateInputInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateInputInput"} - if s.Vpc != nil { - if err := s.Vpc.Validate(); err != nil { - invalidParams.AddNested("Vpc", err.(request.ErrInvalidParams)) - } - } +// SetArn sets the Arn field's value. +func (s *DeleteReservationOutput) SetArn(v string) *DeleteReservationOutput { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCount sets the Count field's value. +func (s *DeleteReservationOutput) SetCount(v int64) *DeleteReservationOutput { + s.Count = &v + return s } -// SetDestinations sets the Destinations field's value. -func (s *CreateInputInput) SetDestinations(v []*InputDestinationRequest) *CreateInputInput { - s.Destinations = v +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *DeleteReservationOutput) SetCurrencyCode(v string) *DeleteReservationOutput { + s.CurrencyCode = &v return s } -// SetInputSecurityGroups sets the InputSecurityGroups field's value. -func (s *CreateInputInput) SetInputSecurityGroups(v []*string) *CreateInputInput { - s.InputSecurityGroups = v +// SetDuration sets the Duration field's value. +func (s *DeleteReservationOutput) SetDuration(v int64) *DeleteReservationOutput { + s.Duration = &v return s } -// SetMediaConnectFlows sets the MediaConnectFlows field's value. -func (s *CreateInputInput) SetMediaConnectFlows(v []*MediaConnectFlowRequest) *CreateInputInput { - s.MediaConnectFlows = v +// SetDurationUnits sets the DurationUnits field's value. +func (s *DeleteReservationOutput) SetDurationUnits(v string) *DeleteReservationOutput { + s.DurationUnits = &v + return s +} + +// SetEnd sets the End field's value. +func (s *DeleteReservationOutput) SetEnd(v string) *DeleteReservationOutput { + s.End = &v + return s +} + +// SetFixedPrice sets the FixedPrice field's value. +func (s *DeleteReservationOutput) SetFixedPrice(v float64) *DeleteReservationOutput { + s.FixedPrice = &v return s } // SetName sets the Name field's value. -func (s *CreateInputInput) SetName(v string) *CreateInputInput { +func (s *DeleteReservationOutput) SetName(v string) *DeleteReservationOutput { s.Name = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *CreateInputInput) SetRequestId(v string) *CreateInputInput { - s.RequestId = &v +// SetOfferingDescription sets the OfferingDescription field's value. +func (s *DeleteReservationOutput) SetOfferingDescription(v string) *DeleteReservationOutput { + s.OfferingDescription = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *CreateInputInput) SetRoleArn(v string) *CreateInputInput { - s.RoleArn = &v +// SetOfferingId sets the OfferingId field's value. +func (s *DeleteReservationOutput) SetOfferingId(v string) *DeleteReservationOutput { + s.OfferingId = &v return s } -// SetSources sets the Sources field's value. -func (s *CreateInputInput) SetSources(v []*InputSourceRequest) *CreateInputInput { - s.Sources = v +// SetOfferingType sets the OfferingType field's value. +func (s *DeleteReservationOutput) SetOfferingType(v string) *DeleteReservationOutput { + s.OfferingType = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateInputInput) SetTags(v map[string]*string) *CreateInputInput { - s.Tags = v +// SetRegion sets the Region field's value. +func (s *DeleteReservationOutput) SetRegion(v string) *DeleteReservationOutput { + s.Region = &v return s } -// SetType sets the Type field's value. -func (s *CreateInputInput) SetType(v string) *CreateInputInput { - s.Type = &v +// SetReservationId sets the ReservationId field's value. +func (s *DeleteReservationOutput) SetReservationId(v string) *DeleteReservationOutput { + s.ReservationId = &v return s } -// SetVpc sets the Vpc field's value. -func (s *CreateInputInput) SetVpc(v *InputVpcRequest) *CreateInputInput { - s.Vpc = v +// SetResourceSpecification sets the ResourceSpecification field's value. +func (s *DeleteReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DeleteReservationOutput { + s.ResourceSpecification = v return s } -type CreateInputOutput struct { - _ struct{} `type:"structure"` - - Input *Input `locationName:"input" type:"structure"` +// SetStart sets the Start field's value. +func (s *DeleteReservationOutput) SetStart(v string) *DeleteReservationOutput { + s.Start = &v + return s } -// String returns the string representation -func (s CreateInputOutput) String() string { - return awsutil.Prettify(s) +// SetState sets the State field's value. +func (s *DeleteReservationOutput) SetState(v string) *DeleteReservationOutput { + s.State = &v + return s } -// GoString returns the string representation -func (s CreateInputOutput) GoString() string { - return s.String() +// SetTags sets the Tags field's value. +func (s *DeleteReservationOutput) SetTags(v map[string]*string) *DeleteReservationOutput { + s.Tags = v + return s } -// SetInput sets the Input field's value. -func (s *CreateInputOutput) SetInput(v *Input) *CreateInputOutput { - s.Input = v +// SetUsagePrice sets the UsagePrice field's value. +func (s *DeleteReservationOutput) SetUsagePrice(v float64) *DeleteReservationOutput { + s.UsagePrice = &v return s } -type CreateInputSecurityGroupInput struct { +type DeleteScheduleInput struct { _ struct{} `type:"structure"` - Tags map[string]*string `locationName:"tags" type:"map"` - - WhitelistRules []*InputWhitelistRuleCidr `locationName:"whitelistRules" type:"list"` + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` } // String returns the string representation -func (s CreateInputSecurityGroupInput) String() string { +func (s DeleteScheduleInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInputSecurityGroupInput) GoString() string { +func (s DeleteScheduleInput) GoString() string { return s.String() } -// SetTags sets the Tags field's value. -func (s *CreateInputSecurityGroupInput) SetTags(v map[string]*string) *CreateInputSecurityGroupInput { - s.Tags = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteScheduleInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) + } + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetWhitelistRules sets the WhitelistRules field's value. -func (s *CreateInputSecurityGroupInput) SetWhitelistRules(v []*InputWhitelistRuleCidr) *CreateInputSecurityGroupInput { - s.WhitelistRules = v +// SetChannelId sets the ChannelId field's value. +func (s *DeleteScheduleInput) SetChannelId(v string) *DeleteScheduleInput { + s.ChannelId = &v return s } -type CreateInputSecurityGroupOutput struct { +type DeleteScheduleOutput struct { _ struct{} `type:"structure"` - - // An Input Security Group - SecurityGroup *InputSecurityGroup `locationName:"securityGroup" type:"structure"` } // String returns the string representation -func (s CreateInputSecurityGroupOutput) String() string { +func (s DeleteScheduleOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInputSecurityGroupOutput) GoString() string { +func (s DeleteScheduleOutput) GoString() string { return s.String() } -// SetSecurityGroup sets the SecurityGroup field's value. -func (s *CreateInputSecurityGroupOutput) SetSecurityGroup(v *InputSecurityGroup) *CreateInputSecurityGroupOutput { - s.SecurityGroup = v - return s -} - -type CreateTagsInput struct { +type DeleteTagsInput struct { _ struct{} `type:"structure"` // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` - Tags map[string]*string `locationName:"tags" type:"map"` + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` } // String returns the string representation -func (s CreateTagsInput) String() string { +func (s DeleteTagsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTagsInput) GoString() string { +func (s DeleteTagsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateTagsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"} +func (s *DeleteTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } if invalidParams.Len() > 0 { return invalidParams @@ -6040,32 +8297,32 @@ func (s *CreateTagsInput) Validate() error { } // SetResourceArn sets the ResourceArn field's value. -func (s *CreateTagsInput) SetResourceArn(v string) *CreateTagsInput { +func (s *DeleteTagsInput) SetResourceArn(v string) *DeleteTagsInput { s.ResourceArn = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateTagsInput) SetTags(v map[string]*string) *CreateTagsInput { - s.Tags = v +// SetTagKeys sets the TagKeys field's value. +func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput { + s.TagKeys = v return s } -type CreateTagsOutput struct { +type DeleteTagsOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s CreateTagsOutput) String() string { +func (s DeleteTagsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTagsOutput) GoString() string { +func (s DeleteTagsOutput) GoString() string { return s.String() } -type DeleteChannelInput struct { +type DescribeChannelInput struct { _ struct{} `type:"structure"` // ChannelId is a required field @@ -6073,18 +8330,18 @@ type DeleteChannelInput struct { } // String returns the string representation -func (s DeleteChannelInput) String() string { +func (s DescribeChannelInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteChannelInput) GoString() string { +func (s DescribeChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"} +func (s *DescribeChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"} if s.ChannelId == nil { invalidParams.Add(request.NewErrParamRequired("ChannelId")) } @@ -6099,12 +8356,12 @@ func (s *DeleteChannelInput) Validate() error { } // SetChannelId sets the ChannelId field's value. -func (s *DeleteChannelInput) SetChannelId(v string) *DeleteChannelInput { +func (s *DescribeChannelInput) SetChannelId(v string) *DescribeChannelInput { s.ChannelId = &v return s } -type DeleteChannelOutput struct { +type DescribeChannelOutput struct { _ struct{} `type:"structure"` Arn *string `locationName:"arn" type:"string"` @@ -6143,106 +8400,106 @@ type DeleteChannelOutput struct { } // String returns the string representation -func (s DeleteChannelOutput) String() string { +func (s DescribeChannelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteChannelOutput) GoString() string { +func (s DescribeChannelOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *DeleteChannelOutput) SetArn(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetArn(v string) *DescribeChannelOutput { s.Arn = &v return s } // SetChannelClass sets the ChannelClass field's value. -func (s *DeleteChannelOutput) SetChannelClass(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetChannelClass(v string) *DescribeChannelOutput { s.ChannelClass = &v return s } // SetDestinations sets the Destinations field's value. -func (s *DeleteChannelOutput) SetDestinations(v []*OutputDestination) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetDestinations(v []*OutputDestination) *DescribeChannelOutput { s.Destinations = v return s } // SetEgressEndpoints sets the EgressEndpoints field's value. -func (s *DeleteChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DescribeChannelOutput { s.EgressEndpoints = v return s } // SetEncoderSettings sets the EncoderSettings field's value. -func (s *DeleteChannelOutput) SetEncoderSettings(v *EncoderSettings) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetEncoderSettings(v *EncoderSettings) *DescribeChannelOutput { s.EncoderSettings = v return s } // SetId sets the Id field's value. -func (s *DeleteChannelOutput) SetId(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetId(v string) *DescribeChannelOutput { s.Id = &v return s } // SetInputAttachments sets the InputAttachments field's value. -func (s *DeleteChannelOutput) SetInputAttachments(v []*InputAttachment) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetInputAttachments(v []*InputAttachment) *DescribeChannelOutput { s.InputAttachments = v return s } // SetInputSpecification sets the InputSpecification field's value. -func (s *DeleteChannelOutput) SetInputSpecification(v *InputSpecification) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetInputSpecification(v *InputSpecification) *DescribeChannelOutput { s.InputSpecification = v return s } // SetLogLevel sets the LogLevel field's value. -func (s *DeleteChannelOutput) SetLogLevel(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetLogLevel(v string) *DescribeChannelOutput { s.LogLevel = &v return s } // SetName sets the Name field's value. -func (s *DeleteChannelOutput) SetName(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetName(v string) *DescribeChannelOutput { s.Name = &v return s } // SetPipelineDetails sets the PipelineDetails field's value. -func (s *DeleteChannelOutput) SetPipelineDetails(v []*PipelineDetail) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetPipelineDetails(v []*PipelineDetail) *DescribeChannelOutput { s.PipelineDetails = v return s } // SetPipelinesRunningCount sets the PipelinesRunningCount field's value. -func (s *DeleteChannelOutput) SetPipelinesRunningCount(v int64) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetPipelinesRunningCount(v int64) *DescribeChannelOutput { s.PipelinesRunningCount = &v return s } // SetRoleArn sets the RoleArn field's value. -func (s *DeleteChannelOutput) SetRoleArn(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetRoleArn(v string) *DescribeChannelOutput { s.RoleArn = &v return s } // SetState sets the State field's value. -func (s *DeleteChannelOutput) SetState(v string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetState(v string) *DescribeChannelOutput { s.State = &v return s } // SetTags sets the Tags field's value. -func (s *DeleteChannelOutput) SetTags(v map[string]*string) *DeleteChannelOutput { +func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOutput { s.Tags = v return s } -type DeleteInputInput struct { +type DescribeInputInput struct { _ struct{} `type:"structure"` // InputId is a required field @@ -6250,18 +8507,18 @@ type DeleteInputInput struct { } // String returns the string representation -func (s DeleteInputInput) String() string { +func (s DescribeInputInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInputInput) GoString() string { +func (s DescribeInputInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteInputInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteInputInput"} +func (s *DescribeInputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInputInput"} if s.InputId == nil { invalidParams.Add(request.NewErrParamRequired("InputId")) } @@ -6276,26 +8533,143 @@ func (s *DeleteInputInput) Validate() error { } // SetInputId sets the InputId field's value. -func (s *DeleteInputInput) SetInputId(v string) *DeleteInputInput { +func (s *DescribeInputInput) SetInputId(v string) *DescribeInputInput { s.InputId = &v return s } -type DeleteInputOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeleteInputOutput) String() string { - return awsutil.Prettify(s) +type DescribeInputOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + AttachedChannels []*string `locationName:"attachedChannels" type:"list"` + + Destinations []*InputDestination `locationName:"destinations" type:"list"` + + Id *string `locationName:"id" type:"string"` + + // A standard input has two sources and a single pipeline input only has one. + InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"` + + // There are two types of input sources, static and dynamic. If an input source + // is dynamic you canchange the source url of the input dynamically using an + // input switch action. However, the only input typeto support a dynamic url + // at this time is MP4_FILE. By default all input sources are static. + InputSourceType *string `locationName:"inputSourceType" type:"string" enum:"InputSourceType"` + + MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"` + + Name *string `locationName:"name" type:"string"` + + RoleArn *string `locationName:"roleArn" type:"string"` + + SecurityGroups []*string `locationName:"securityGroups" type:"list"` + + Sources []*InputSource `locationName:"sources" type:"list"` + + State *string `locationName:"state" type:"string" enum:"InputState"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + Type *string `locationName:"type" type:"string" enum:"InputType"` +} + +// String returns the string representation +func (s DescribeInputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInputOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeInputOutput) SetArn(v string) *DescribeInputOutput { + s.Arn = &v + return s +} + +// SetAttachedChannels sets the AttachedChannels field's value. +func (s *DescribeInputOutput) SetAttachedChannels(v []*string) *DescribeInputOutput { + s.AttachedChannels = v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *DescribeInputOutput) SetDestinations(v []*InputDestination) *DescribeInputOutput { + s.Destinations = v + return s +} + +// SetId sets the Id field's value. +func (s *DescribeInputOutput) SetId(v string) *DescribeInputOutput { + s.Id = &v + return s +} + +// SetInputClass sets the InputClass field's value. +func (s *DescribeInputOutput) SetInputClass(v string) *DescribeInputOutput { + s.InputClass = &v + return s +} + +// SetInputSourceType sets the InputSourceType field's value. +func (s *DescribeInputOutput) SetInputSourceType(v string) *DescribeInputOutput { + s.InputSourceType = &v + return s +} + +// SetMediaConnectFlows sets the MediaConnectFlows field's value. +func (s *DescribeInputOutput) SetMediaConnectFlows(v []*MediaConnectFlow) *DescribeInputOutput { + s.MediaConnectFlows = v + return s +} + +// SetName sets the Name field's value. +func (s *DescribeInputOutput) SetName(v string) *DescribeInputOutput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DescribeInputOutput) SetRoleArn(v string) *DescribeInputOutput { + s.RoleArn = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *DescribeInputOutput) SetSecurityGroups(v []*string) *DescribeInputOutput { + s.SecurityGroups = v + return s +} + +// SetSources sets the Sources field's value. +func (s *DescribeInputOutput) SetSources(v []*InputSource) *DescribeInputOutput { + s.Sources = v + return s +} + +// SetState sets the State field's value. +func (s *DescribeInputOutput) SetState(v string) *DescribeInputOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeInputOutput) SetTags(v map[string]*string) *DescribeInputOutput { + s.Tags = v + return s } -// GoString returns the string representation -func (s DeleteInputOutput) GoString() string { - return s.String() +// SetType sets the Type field's value. +func (s *DescribeInputOutput) SetType(v string) *DescribeInputOutput { + s.Type = &v + return s } -type DeleteInputSecurityGroupInput struct { +type DescribeInputSecurityGroupInput struct { _ struct{} `type:"structure"` // InputSecurityGroupId is a required field @@ -6303,18 +8677,18 @@ type DeleteInputSecurityGroupInput struct { } // String returns the string representation -func (s DeleteInputSecurityGroupInput) String() string { +func (s DescribeInputSecurityGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInputSecurityGroupInput) GoString() string { +func (s DescribeInputSecurityGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteInputSecurityGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteInputSecurityGroupInput"} +func (s *DescribeInputSecurityGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInputSecurityGroupInput"} if s.InputSecurityGroupId == nil { invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId")) } @@ -6329,50 +8703,98 @@ func (s *DeleteInputSecurityGroupInput) Validate() error { } // SetInputSecurityGroupId sets the InputSecurityGroupId field's value. -func (s *DeleteInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DeleteInputSecurityGroupInput { +func (s *DescribeInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DescribeInputSecurityGroupInput { s.InputSecurityGroupId = &v return s } -type DeleteInputSecurityGroupOutput struct { +type DescribeInputSecurityGroupOutput struct { _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + Id *string `locationName:"id" type:"string"` + + Inputs []*string `locationName:"inputs" type:"list"` + + State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"` } // String returns the string representation -func (s DeleteInputSecurityGroupOutput) String() string { +func (s DescribeInputSecurityGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInputSecurityGroupOutput) GoString() string { +func (s DescribeInputSecurityGroupOutput) GoString() string { return s.String() } -type DeleteReservationInput struct { +// SetArn sets the Arn field's value. +func (s *DescribeInputSecurityGroupOutput) SetArn(v string) *DescribeInputSecurityGroupOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *DescribeInputSecurityGroupOutput) SetId(v string) *DescribeInputSecurityGroupOutput { + s.Id = &v + return s +} + +// SetInputs sets the Inputs field's value. +func (s *DescribeInputSecurityGroupOutput) SetInputs(v []*string) *DescribeInputSecurityGroupOutput { + s.Inputs = v + return s +} + +// SetState sets the State field's value. +func (s *DescribeInputSecurityGroupOutput) SetState(v string) *DescribeInputSecurityGroupOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeInputSecurityGroupOutput) SetTags(v map[string]*string) *DescribeInputSecurityGroupOutput { + s.Tags = v + return s +} + +// SetWhitelistRules sets the WhitelistRules field's value. +func (s *DescribeInputSecurityGroupOutput) SetWhitelistRules(v []*InputWhitelistRule) *DescribeInputSecurityGroupOutput { + s.WhitelistRules = v + return s +} + +type DescribeMultiplexInput struct { _ struct{} `type:"structure"` - // ReservationId is a required field - ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"` + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` } // String returns the string representation -func (s DeleteReservationInput) String() string { +func (s DescribeMultiplexInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteReservationInput) GoString() string { +func (s DescribeMultiplexInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteReservationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteReservationInput"} - if s.ReservationId == nil { - invalidParams.Add(request.NewErrParamRequired("ReservationId")) +func (s *DescribeMultiplexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMultiplexInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) } - if s.ReservationId != nil && len(*s.ReservationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1)) + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) } if invalidParams.Len() > 0 { @@ -6381,199 +8803,235 @@ func (s *DeleteReservationInput) Validate() error { return nil } -// SetReservationId sets the ReservationId field's value. -func (s *DeleteReservationInput) SetReservationId(v string) *DeleteReservationInput { - s.ReservationId = &v +// SetMultiplexId sets the MultiplexId field's value. +func (s *DescribeMultiplexInput) SetMultiplexId(v string) *DescribeMultiplexInput { + s.MultiplexId = &v return s } -type DeleteReservationOutput struct { +type DescribeMultiplexOutput struct { _ struct{} `type:"structure"` Arn *string `locationName:"arn" type:"string"` - Count *int64 `locationName:"count" type:"integer"` - - CurrencyCode *string `locationName:"currencyCode" type:"string"` - - Duration *int64 `locationName:"duration" type:"integer"` + AvailabilityZones []*string `locationName:"availabilityZones" type:"list"` - // Units for duration, e.g. 'MONTHS' - DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` + Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"` - End *string `locationName:"end" type:"string"` + Id *string `locationName:"id" type:"string"` - FixedPrice *float64 `locationName:"fixedPrice" type:"double"` + // Contains configuration for a Multiplex event + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"` Name *string `locationName:"name" type:"string"` - OfferingDescription *string `locationName:"offeringDescription" type:"string"` - - OfferingId *string `locationName:"offeringId" type:"string"` - - // Offering type, e.g. 'NO_UPFRONT' - OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` - - Region *string `locationName:"region" type:"string"` - - ReservationId *string `locationName:"reservationId" type:"string"` - - // Resource configuration (codec, resolution, bitrate, ...) - ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` - Start *string `locationName:"start" type:"string"` + ProgramCount *int64 `locationName:"programCount" type:"integer"` - // Current reservation state - State *string `locationName:"state" type:"string" enum:"ReservationState"` + // The current state of the multiplex. + State *string `locationName:"state" type:"string" enum:"MultiplexState"` Tags map[string]*string `locationName:"tags" type:"map"` - - UsagePrice *float64 `locationName:"usagePrice" type:"double"` } // String returns the string representation -func (s DeleteReservationOutput) String() string { +func (s DescribeMultiplexOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteReservationOutput) GoString() string { +func (s DescribeMultiplexOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *DeleteReservationOutput) SetArn(v string) *DeleteReservationOutput { +func (s *DescribeMultiplexOutput) SetArn(v string) *DescribeMultiplexOutput { s.Arn = &v return s } -// SetCount sets the Count field's value. -func (s *DeleteReservationOutput) SetCount(v int64) *DeleteReservationOutput { - s.Count = &v +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *DescribeMultiplexOutput) SetAvailabilityZones(v []*string) *DescribeMultiplexOutput { + s.AvailabilityZones = v return s } -// SetCurrencyCode sets the CurrencyCode field's value. -func (s *DeleteReservationOutput) SetCurrencyCode(v string) *DeleteReservationOutput { - s.CurrencyCode = &v +// SetDestinations sets the Destinations field's value. +func (s *DescribeMultiplexOutput) SetDestinations(v []*MultiplexOutputDestination) *DescribeMultiplexOutput { + s.Destinations = v return s } -// SetDuration sets the Duration field's value. -func (s *DeleteReservationOutput) SetDuration(v int64) *DeleteReservationOutput { - s.Duration = &v +// SetId sets the Id field's value. +func (s *DescribeMultiplexOutput) SetId(v string) *DescribeMultiplexOutput { + s.Id = &v return s } -// SetDurationUnits sets the DurationUnits field's value. -func (s *DeleteReservationOutput) SetDurationUnits(v string) *DeleteReservationOutput { - s.DurationUnits = &v +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *DescribeMultiplexOutput) SetMultiplexSettings(v *MultiplexSettings) *DescribeMultiplexOutput { + s.MultiplexSettings = v return s } -// SetEnd sets the End field's value. -func (s *DeleteReservationOutput) SetEnd(v string) *DeleteReservationOutput { - s.End = &v +// SetName sets the Name field's value. +func (s *DescribeMultiplexOutput) SetName(v string) *DescribeMultiplexOutput { + s.Name = &v return s } -// SetFixedPrice sets the FixedPrice field's value. -func (s *DeleteReservationOutput) SetFixedPrice(v float64) *DeleteReservationOutput { - s.FixedPrice = &v +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *DescribeMultiplexOutput) SetPipelinesRunningCount(v int64) *DescribeMultiplexOutput { + s.PipelinesRunningCount = &v return s } -// SetName sets the Name field's value. -func (s *DeleteReservationOutput) SetName(v string) *DeleteReservationOutput { - s.Name = &v +// SetProgramCount sets the ProgramCount field's value. +func (s *DescribeMultiplexOutput) SetProgramCount(v int64) *DescribeMultiplexOutput { + s.ProgramCount = &v return s } -// SetOfferingDescription sets the OfferingDescription field's value. -func (s *DeleteReservationOutput) SetOfferingDescription(v string) *DeleteReservationOutput { - s.OfferingDescription = &v +// SetState sets the State field's value. +func (s *DescribeMultiplexOutput) SetState(v string) *DescribeMultiplexOutput { + s.State = &v return s } -// SetOfferingId sets the OfferingId field's value. -func (s *DeleteReservationOutput) SetOfferingId(v string) *DeleteReservationOutput { - s.OfferingId = &v +// SetTags sets the Tags field's value. +func (s *DescribeMultiplexOutput) SetTags(v map[string]*string) *DescribeMultiplexOutput { + s.Tags = v return s } -// SetOfferingType sets the OfferingType field's value. -func (s *DeleteReservationOutput) SetOfferingType(v string) *DeleteReservationOutput { - s.OfferingType = &v - return s +type DescribeMultiplexProgramInput struct { + _ struct{} `type:"structure"` + + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` + + // ProgramName is a required field + ProgramName *string `location:"uri" locationName:"programName" type:"string" required:"true"` } -// SetRegion sets the Region field's value. -func (s *DeleteReservationOutput) SetRegion(v string) *DeleteReservationOutput { - s.Region = &v - return s +// String returns the string representation +func (s DescribeMultiplexProgramInput) String() string { + return awsutil.Prettify(s) } -// SetReservationId sets the ReservationId field's value. -func (s *DeleteReservationOutput) SetReservationId(v string) *DeleteReservationOutput { - s.ReservationId = &v +// GoString returns the string representation +func (s DescribeMultiplexProgramInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMultiplexProgramInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMultiplexProgramInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + if s.ProgramName == nil { + invalidParams.Add(request.NewErrParamRequired("ProgramName")) + } + if s.ProgramName != nil && len(*s.ProgramName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgramName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMultiplexId sets the MultiplexId field's value. +func (s *DescribeMultiplexProgramInput) SetMultiplexId(v string) *DescribeMultiplexProgramInput { + s.MultiplexId = &v return s } -// SetResourceSpecification sets the ResourceSpecification field's value. -func (s *DeleteReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DeleteReservationOutput { - s.ResourceSpecification = v +// SetProgramName sets the ProgramName field's value. +func (s *DescribeMultiplexProgramInput) SetProgramName(v string) *DescribeMultiplexProgramInput { + s.ProgramName = &v return s } -// SetStart sets the Start field's value. -func (s *DeleteReservationOutput) SetStart(v string) *DeleteReservationOutput { - s.Start = &v +type DescribeMultiplexProgramOutput struct { + _ struct{} `type:"structure"` + + ChannelId *string `locationName:"channelId" type:"string"` + + // Multiplex Program settings configuration. + MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure"` + + // Packet identifiers map for a given Multiplex program. + PacketIdentifiersMap *MultiplexProgramPacketIdentifiersMap `locationName:"packetIdentifiersMap" type:"structure"` + + ProgramName *string `locationName:"programName" type:"string"` +} + +// String returns the string representation +func (s DescribeMultiplexProgramOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMultiplexProgramOutput) GoString() string { + return s.String() +} + +// SetChannelId sets the ChannelId field's value. +func (s *DescribeMultiplexProgramOutput) SetChannelId(v string) *DescribeMultiplexProgramOutput { + s.ChannelId = &v return s } -// SetState sets the State field's value. -func (s *DeleteReservationOutput) SetState(v string) *DeleteReservationOutput { - s.State = &v +// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value. +func (s *DescribeMultiplexProgramOutput) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *DescribeMultiplexProgramOutput { + s.MultiplexProgramSettings = v return s } -// SetTags sets the Tags field's value. -func (s *DeleteReservationOutput) SetTags(v map[string]*string) *DeleteReservationOutput { - s.Tags = v +// SetPacketIdentifiersMap sets the PacketIdentifiersMap field's value. +func (s *DescribeMultiplexProgramOutput) SetPacketIdentifiersMap(v *MultiplexProgramPacketIdentifiersMap) *DescribeMultiplexProgramOutput { + s.PacketIdentifiersMap = v return s } -// SetUsagePrice sets the UsagePrice field's value. -func (s *DeleteReservationOutput) SetUsagePrice(v float64) *DeleteReservationOutput { - s.UsagePrice = &v +// SetProgramName sets the ProgramName field's value. +func (s *DescribeMultiplexProgramOutput) SetProgramName(v string) *DescribeMultiplexProgramOutput { + s.ProgramName = &v return s } -type DeleteScheduleInput struct { +type DescribeOfferingInput struct { _ struct{} `type:"structure"` - // ChannelId is a required field - ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` + // OfferingId is a required field + OfferingId *string `location:"uri" locationName:"offeringId" type:"string" required:"true"` } // String returns the string representation -func (s DeleteScheduleInput) String() string { +func (s DescribeOfferingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteScheduleInput) GoString() string { +func (s DescribeOfferingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteScheduleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteScheduleInput"} - if s.ChannelId == nil { - invalidParams.Add(request.NewErrParamRequired("ChannelId")) - } - if s.ChannelId != nil && len(*s.ChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) +func (s *DescribeOfferingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeOfferingInput"} + if s.OfferingId == nil { + invalidParams.Add(request.NewErrParamRequired("OfferingId")) + } + if s.OfferingId != nil && len(*s.OfferingId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OfferingId", 1)) } if invalidParams.Len() > 0 { @@ -6582,116 +9040,142 @@ func (s *DeleteScheduleInput) Validate() error { return nil } -// SetChannelId sets the ChannelId field's value. -func (s *DeleteScheduleInput) SetChannelId(v string) *DeleteScheduleInput { - s.ChannelId = &v +// SetOfferingId sets the OfferingId field's value. +func (s *DescribeOfferingInput) SetOfferingId(v string) *DescribeOfferingInput { + s.OfferingId = &v return s } -type DeleteScheduleOutput struct { +type DescribeOfferingOutput struct { _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + CurrencyCode *string `locationName:"currencyCode" type:"string"` + + Duration *int64 `locationName:"duration" type:"integer"` + + // Units for duration, e.g. 'MONTHS' + DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` + + FixedPrice *float64 `locationName:"fixedPrice" type:"double"` + + OfferingDescription *string `locationName:"offeringDescription" type:"string"` + + OfferingId *string `locationName:"offeringId" type:"string"` + + // Offering type, e.g. 'NO_UPFRONT' + OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` + + Region *string `locationName:"region" type:"string"` + + // Resource configuration (codec, resolution, bitrate, ...) + ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + + UsagePrice *float64 `locationName:"usagePrice" type:"double"` } // String returns the string representation -func (s DeleteScheduleOutput) String() string { +func (s DescribeOfferingOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteScheduleOutput) GoString() string { +func (s DescribeOfferingOutput) GoString() string { return s.String() } -type DeleteTagsInput struct { - _ struct{} `type:"structure"` - - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` +// SetArn sets the Arn field's value. +func (s *DescribeOfferingOutput) SetArn(v string) *DescribeOfferingOutput { + s.Arn = &v + return s +} - // TagKeys is a required field - TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *DescribeOfferingOutput) SetCurrencyCode(v string) *DescribeOfferingOutput { + s.CurrencyCode = &v + return s } -// String returns the string representation -func (s DeleteTagsInput) String() string { - return awsutil.Prettify(s) +// SetDuration sets the Duration field's value. +func (s *DescribeOfferingOutput) SetDuration(v int64) *DescribeOfferingOutput { + s.Duration = &v + return s } -// GoString returns the string representation -func (s DeleteTagsInput) GoString() string { - return s.String() +// SetDurationUnits sets the DurationUnits field's value. +func (s *DescribeOfferingOutput) SetDurationUnits(v string) *DescribeOfferingOutput { + s.DurationUnits = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteTagsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) - } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) - } +// SetFixedPrice sets the FixedPrice field's value. +func (s *DescribeOfferingOutput) SetFixedPrice(v float64) *DescribeOfferingOutput { + s.FixedPrice = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetOfferingDescription sets the OfferingDescription field's value. +func (s *DescribeOfferingOutput) SetOfferingDescription(v string) *DescribeOfferingOutput { + s.OfferingDescription = &v + return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *DeleteTagsInput) SetResourceArn(v string) *DeleteTagsInput { - s.ResourceArn = &v +// SetOfferingId sets the OfferingId field's value. +func (s *DescribeOfferingOutput) SetOfferingId(v string) *DescribeOfferingOutput { + s.OfferingId = &v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput { - s.TagKeys = v +// SetOfferingType sets the OfferingType field's value. +func (s *DescribeOfferingOutput) SetOfferingType(v string) *DescribeOfferingOutput { + s.OfferingType = &v return s } -type DeleteTagsOutput struct { - _ struct{} `type:"structure"` +// SetRegion sets the Region field's value. +func (s *DescribeOfferingOutput) SetRegion(v string) *DescribeOfferingOutput { + s.Region = &v + return s } -// String returns the string representation -func (s DeleteTagsOutput) String() string { - return awsutil.Prettify(s) +// SetResourceSpecification sets the ResourceSpecification field's value. +func (s *DescribeOfferingOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeOfferingOutput { + s.ResourceSpecification = v + return s } -// GoString returns the string representation -func (s DeleteTagsOutput) GoString() string { - return s.String() +// SetUsagePrice sets the UsagePrice field's value. +func (s *DescribeOfferingOutput) SetUsagePrice(v float64) *DescribeOfferingOutput { + s.UsagePrice = &v + return s } -type DescribeChannelInput struct { +type DescribeReservationInput struct { _ struct{} `type:"structure"` - // ChannelId is a required field - ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` + // ReservationId is a required field + ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"` } // String returns the string representation -func (s DescribeChannelInput) String() string { +func (s DescribeReservationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeChannelInput) GoString() string { +func (s DescribeReservationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"} - if s.ChannelId == nil { - invalidParams.Add(request.NewErrParamRequired("ChannelId")) +func (s *DescribeReservationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeReservationInput"} + if s.ReservationId == nil { + invalidParams.Add(request.NewErrParamRequired("ReservationId")) } - if s.ChannelId != nil && len(*s.ChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + if s.ReservationId != nil && len(*s.ReservationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1)) } if invalidParams.Len() > 0 { @@ -6700,175 +9184,206 @@ func (s *DescribeChannelInput) Validate() error { return nil } -// SetChannelId sets the ChannelId field's value. -func (s *DescribeChannelInput) SetChannelId(v string) *DescribeChannelInput { - s.ChannelId = &v +// SetReservationId sets the ReservationId field's value. +func (s *DescribeReservationInput) SetReservationId(v string) *DescribeReservationInput { + s.ReservationId = &v return s } -type DescribeChannelOutput struct { +type DescribeReservationOutput struct { _ struct{} `type:"structure"` Arn *string `locationName:"arn" type:"string"` - // A standard channel has two encoding pipelines and a single pipeline channel - // only has one. - ChannelClass *string `locationName:"channelClass" type:"string" enum:"ChannelClass"` + Count *int64 `locationName:"count" type:"integer"` - Destinations []*OutputDestination `locationName:"destinations" type:"list"` + CurrencyCode *string `locationName:"currencyCode" type:"string"` - EgressEndpoints []*ChannelEgressEndpoint `locationName:"egressEndpoints" type:"list"` + Duration *int64 `locationName:"duration" type:"integer"` - // Encoder Settings - EncoderSettings *EncoderSettings `locationName:"encoderSettings" type:"structure"` + // Units for duration, e.g. 'MONTHS' + DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` - Id *string `locationName:"id" type:"string"` + End *string `locationName:"end" type:"string"` - InputAttachments []*InputAttachment `locationName:"inputAttachments" type:"list"` + FixedPrice *float64 `locationName:"fixedPrice" type:"double"` - InputSpecification *InputSpecification `locationName:"inputSpecification" type:"structure"` + Name *string `locationName:"name" type:"string"` - // The log level the user wants for their channel. - LogLevel *string `locationName:"logLevel" type:"string" enum:"LogLevel"` + OfferingDescription *string `locationName:"offeringDescription" type:"string"` - Name *string `locationName:"name" type:"string"` + OfferingId *string `locationName:"offeringId" type:"string"` - PipelineDetails []*PipelineDetail `locationName:"pipelineDetails" type:"list"` + // Offering type, e.g. 'NO_UPFRONT' + OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` - PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + Region *string `locationName:"region" type:"string"` - RoleArn *string `locationName:"roleArn" type:"string"` + ReservationId *string `locationName:"reservationId" type:"string"` - State *string `locationName:"state" type:"string" enum:"ChannelState"` + // Resource configuration (codec, resolution, bitrate, ...) + ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + + Start *string `locationName:"start" type:"string"` + + // Current reservation state + State *string `locationName:"state" type:"string" enum:"ReservationState"` Tags map[string]*string `locationName:"tags" type:"map"` + + UsagePrice *float64 `locationName:"usagePrice" type:"double"` } // String returns the string representation -func (s DescribeChannelOutput) String() string { +func (s DescribeReservationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeChannelOutput) GoString() string { +func (s DescribeReservationOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *DescribeChannelOutput) SetArn(v string) *DescribeChannelOutput { +func (s *DescribeReservationOutput) SetArn(v string) *DescribeReservationOutput { s.Arn = &v return s } -// SetChannelClass sets the ChannelClass field's value. -func (s *DescribeChannelOutput) SetChannelClass(v string) *DescribeChannelOutput { - s.ChannelClass = &v +// SetCount sets the Count field's value. +func (s *DescribeReservationOutput) SetCount(v int64) *DescribeReservationOutput { + s.Count = &v return s } -// SetDestinations sets the Destinations field's value. -func (s *DescribeChannelOutput) SetDestinations(v []*OutputDestination) *DescribeChannelOutput { - s.Destinations = v +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *DescribeReservationOutput) SetCurrencyCode(v string) *DescribeReservationOutput { + s.CurrencyCode = &v return s } -// SetEgressEndpoints sets the EgressEndpoints field's value. -func (s *DescribeChannelOutput) SetEgressEndpoints(v []*ChannelEgressEndpoint) *DescribeChannelOutput { - s.EgressEndpoints = v +// SetDuration sets the Duration field's value. +func (s *DescribeReservationOutput) SetDuration(v int64) *DescribeReservationOutput { + s.Duration = &v return s } -// SetEncoderSettings sets the EncoderSettings field's value. -func (s *DescribeChannelOutput) SetEncoderSettings(v *EncoderSettings) *DescribeChannelOutput { - s.EncoderSettings = v +// SetDurationUnits sets the DurationUnits field's value. +func (s *DescribeReservationOutput) SetDurationUnits(v string) *DescribeReservationOutput { + s.DurationUnits = &v return s } -// SetId sets the Id field's value. -func (s *DescribeChannelOutput) SetId(v string) *DescribeChannelOutput { - s.Id = &v +// SetEnd sets the End field's value. +func (s *DescribeReservationOutput) SetEnd(v string) *DescribeReservationOutput { + s.End = &v return s } -// SetInputAttachments sets the InputAttachments field's value. -func (s *DescribeChannelOutput) SetInputAttachments(v []*InputAttachment) *DescribeChannelOutput { - s.InputAttachments = v +// SetFixedPrice sets the FixedPrice field's value. +func (s *DescribeReservationOutput) SetFixedPrice(v float64) *DescribeReservationOutput { + s.FixedPrice = &v return s } -// SetInputSpecification sets the InputSpecification field's value. -func (s *DescribeChannelOutput) SetInputSpecification(v *InputSpecification) *DescribeChannelOutput { - s.InputSpecification = v +// SetName sets the Name field's value. +func (s *DescribeReservationOutput) SetName(v string) *DescribeReservationOutput { + s.Name = &v + return s +} + +// SetOfferingDescription sets the OfferingDescription field's value. +func (s *DescribeReservationOutput) SetOfferingDescription(v string) *DescribeReservationOutput { + s.OfferingDescription = &v + return s +} + +// SetOfferingId sets the OfferingId field's value. +func (s *DescribeReservationOutput) SetOfferingId(v string) *DescribeReservationOutput { + s.OfferingId = &v return s } -// SetLogLevel sets the LogLevel field's value. -func (s *DescribeChannelOutput) SetLogLevel(v string) *DescribeChannelOutput { - s.LogLevel = &v +// SetOfferingType sets the OfferingType field's value. +func (s *DescribeReservationOutput) SetOfferingType(v string) *DescribeReservationOutput { + s.OfferingType = &v return s } -// SetName sets the Name field's value. -func (s *DescribeChannelOutput) SetName(v string) *DescribeChannelOutput { - s.Name = &v +// SetRegion sets the Region field's value. +func (s *DescribeReservationOutput) SetRegion(v string) *DescribeReservationOutput { + s.Region = &v return s } -// SetPipelineDetails sets the PipelineDetails field's value. -func (s *DescribeChannelOutput) SetPipelineDetails(v []*PipelineDetail) *DescribeChannelOutput { - s.PipelineDetails = v +// SetReservationId sets the ReservationId field's value. +func (s *DescribeReservationOutput) SetReservationId(v string) *DescribeReservationOutput { + s.ReservationId = &v return s } -// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. -func (s *DescribeChannelOutput) SetPipelinesRunningCount(v int64) *DescribeChannelOutput { - s.PipelinesRunningCount = &v +// SetResourceSpecification sets the ResourceSpecification field's value. +func (s *DescribeReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeReservationOutput { + s.ResourceSpecification = v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *DescribeChannelOutput) SetRoleArn(v string) *DescribeChannelOutput { - s.RoleArn = &v +// SetStart sets the Start field's value. +func (s *DescribeReservationOutput) SetStart(v string) *DescribeReservationOutput { + s.Start = &v return s } // SetState sets the State field's value. -func (s *DescribeChannelOutput) SetState(v string) *DescribeChannelOutput { +func (s *DescribeReservationOutput) SetState(v string) *DescribeReservationOutput { s.State = &v return s } // SetTags sets the Tags field's value. -func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOutput { +func (s *DescribeReservationOutput) SetTags(v map[string]*string) *DescribeReservationOutput { s.Tags = v return s } -type DescribeInputInput struct { +// SetUsagePrice sets the UsagePrice field's value. +func (s *DescribeReservationOutput) SetUsagePrice(v float64) *DescribeReservationOutput { + s.UsagePrice = &v + return s +} + +type DescribeScheduleInput struct { _ struct{} `type:"structure"` - // InputId is a required field - InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"` + // ChannelId is a required field + ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s DescribeInputInput) String() string { +func (s DescribeScheduleInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeInputInput) GoString() string { +func (s DescribeScheduleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeInputInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeInputInput"} - if s.InputId == nil { - invalidParams.Add(request.NewErrParamRequired("InputId")) +func (s *DescribeScheduleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeScheduleInput"} + if s.ChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ChannelId")) } - if s.InputId != nil && len(*s.InputId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InputId", 1)) + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -6877,168 +9392,170 @@ func (s *DescribeInputInput) Validate() error { return nil } -// SetInputId sets the InputId field's value. -func (s *DescribeInputInput) SetInputId(v string) *DescribeInputInput { - s.InputId = &v +// SetChannelId sets the ChannelId field's value. +func (s *DescribeScheduleInput) SetChannelId(v string) *DescribeScheduleInput { + s.ChannelId = &v return s } -type DescribeInputOutput struct { - _ struct{} `type:"structure"` - - Arn *string `locationName:"arn" type:"string"` - - AttachedChannels []*string `locationName:"attachedChannels" type:"list"` - - Destinations []*InputDestination `locationName:"destinations" type:"list"` - - Id *string `locationName:"id" type:"string"` - - // A standard input has two sources and a single pipeline input only has one. - InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"` - - // There are two types of input sources, static and dynamic. If an input source - // is dynamic you canchange the source url of the input dynamically using an - // input switch action. However, the only input typeto support a dynamic url - // at this time is MP4_FILE. By default all input sources are static. - InputSourceType *string `locationName:"inputSourceType" type:"string" enum:"InputSourceType"` - - MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"` - - Name *string `locationName:"name" type:"string"` - - RoleArn *string `locationName:"roleArn" type:"string"` - - SecurityGroups []*string `locationName:"securityGroups" type:"list"` +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeScheduleInput) SetMaxResults(v int64) *DescribeScheduleInput { + s.MaxResults = &v + return s +} - Sources []*InputSource `locationName:"sources" type:"list"` +// SetNextToken sets the NextToken field's value. +func (s *DescribeScheduleInput) SetNextToken(v string) *DescribeScheduleInput { + s.NextToken = &v + return s +} - State *string `locationName:"state" type:"string" enum:"InputState"` +type DescribeScheduleOutput struct { + _ struct{} `type:"structure"` - Tags map[string]*string `locationName:"tags" type:"map"` + NextToken *string `locationName:"nextToken" type:"string"` - Type *string `locationName:"type" type:"string" enum:"InputType"` + ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list"` } // String returns the string representation -func (s DescribeInputOutput) String() string { +func (s DescribeScheduleOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeInputOutput) GoString() string { +func (s DescribeScheduleOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DescribeInputOutput) SetArn(v string) *DescribeInputOutput { - s.Arn = &v - return s -} - -// SetAttachedChannels sets the AttachedChannels field's value. -func (s *DescribeInputOutput) SetAttachedChannels(v []*string) *DescribeInputOutput { - s.AttachedChannels = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeScheduleOutput) SetNextToken(v string) *DescribeScheduleOutput { + s.NextToken = &v return s } -// SetDestinations sets the Destinations field's value. -func (s *DescribeInputOutput) SetDestinations(v []*InputDestination) *DescribeInputOutput { - s.Destinations = v +// SetScheduleActions sets the ScheduleActions field's value. +func (s *DescribeScheduleOutput) SetScheduleActions(v []*ScheduleAction) *DescribeScheduleOutput { + s.ScheduleActions = v return s } -// SetId sets the Id field's value. -func (s *DescribeInputOutput) SetId(v string) *DescribeInputOutput { - s.Id = &v - return s -} +// DVB Network Information Table (NIT) +type DvbNitSettings struct { + _ struct{} `type:"structure"` -// SetInputClass sets the InputClass field's value. -func (s *DescribeInputOutput) SetInputClass(v string) *DescribeInputOutput { - s.InputClass = &v - return s -} + // The numeric value placed in the Network Information Table (NIT). + // + // NetworkId is a required field + NetworkId *int64 `locationName:"networkId" type:"integer" required:"true"` -// SetInputSourceType sets the InputSourceType field's value. -func (s *DescribeInputOutput) SetInputSourceType(v string) *DescribeInputOutput { - s.InputSourceType = &v - return s -} + // The network name text placed in the networkNameDescriptor inside the Network + // Information Table. Maximum length is 256 characters. + // + // NetworkName is a required field + NetworkName *string `locationName:"networkName" min:"1" type:"string" required:"true"` -// SetMediaConnectFlows sets the MediaConnectFlows field's value. -func (s *DescribeInputOutput) SetMediaConnectFlows(v []*MediaConnectFlow) *DescribeInputOutput { - s.MediaConnectFlows = v - return s + // The number of milliseconds between instances of this table in the output + // transport stream. + RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"` } -// SetName sets the Name field's value. -func (s *DescribeInputOutput) SetName(v string) *DescribeInputOutput { - s.Name = &v - return s +// String returns the string representation +func (s DvbNitSettings) String() string { + return awsutil.Prettify(s) } -// SetRoleArn sets the RoleArn field's value. -func (s *DescribeInputOutput) SetRoleArn(v string) *DescribeInputOutput { - s.RoleArn = &v - return s +// GoString returns the string representation +func (s DvbNitSettings) GoString() string { + return s.String() } -// SetSecurityGroups sets the SecurityGroups field's value. -func (s *DescribeInputOutput) SetSecurityGroups(v []*string) *DescribeInputOutput { - s.SecurityGroups = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbNitSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbNitSettings"} + if s.NetworkId == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkId")) + } + if s.NetworkName == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkName")) + } + if s.NetworkName != nil && len(*s.NetworkName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NetworkName", 1)) + } + if s.RepInterval != nil && *s.RepInterval < 25 { + invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25)) + } -// SetSources sets the Sources field's value. -func (s *DescribeInputOutput) SetSources(v []*InputSource) *DescribeInputOutput { - s.Sources = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetState sets the State field's value. -func (s *DescribeInputOutput) SetState(v string) *DescribeInputOutput { - s.State = &v +// SetNetworkId sets the NetworkId field's value. +func (s *DvbNitSettings) SetNetworkId(v int64) *DvbNitSettings { + s.NetworkId = &v return s } -// SetTags sets the Tags field's value. -func (s *DescribeInputOutput) SetTags(v map[string]*string) *DescribeInputOutput { - s.Tags = v +// SetNetworkName sets the NetworkName field's value. +func (s *DvbNitSettings) SetNetworkName(v string) *DvbNitSettings { + s.NetworkName = &v return s } -// SetType sets the Type field's value. -func (s *DescribeInputOutput) SetType(v string) *DescribeInputOutput { - s.Type = &v +// SetRepInterval sets the RepInterval field's value. +func (s *DvbNitSettings) SetRepInterval(v int64) *DvbNitSettings { + s.RepInterval = &v return s } -type DescribeInputSecurityGroupInput struct { +// DVB Service Description Table (SDT) +type DvbSdtSettings struct { _ struct{} `type:"structure"` - // InputSecurityGroupId is a required field - InputSecurityGroupId *string `location:"uri" locationName:"inputSecurityGroupId" type:"string" required:"true"` + // Selects method of inserting SDT information into output stream. The sdtFollow + // setting copies SDT information from input stream to output stream. The sdtFollowIfPresent + // setting copies SDT information from input stream to output stream if SDT + // information is present in the input, otherwise it will fall back on the user-defined + // values. The sdtManual setting means user will enter the SDT information. + // The sdtNone setting means output stream will not contain SDT information. + OutputSdt *string `locationName:"outputSdt" type:"string" enum:"DvbSdtOutputSdt"` + + // The number of milliseconds between instances of this table in the output + // transport stream. + RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"` + + // The service name placed in the serviceDescriptor in the Service Description + // Table. Maximum length is 256 characters. + ServiceName *string `locationName:"serviceName" min:"1" type:"string"` + + // The service provider name placed in the serviceDescriptor in the Service + // Description Table. Maximum length is 256 characters. + ServiceProviderName *string `locationName:"serviceProviderName" min:"1" type:"string"` } // String returns the string representation -func (s DescribeInputSecurityGroupInput) String() string { +func (s DvbSdtSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeInputSecurityGroupInput) GoString() string { +func (s DvbSdtSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeInputSecurityGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeInputSecurityGroupInput"} - if s.InputSecurityGroupId == nil { - invalidParams.Add(request.NewErrParamRequired("InputSecurityGroupId")) +func (s *DvbSdtSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSdtSettings"} + if s.RepInterval != nil && *s.RepInterval < 25 { + invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25)) } - if s.InputSecurityGroupId != nil && len(*s.InputSecurityGroupId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InputSecurityGroupId", 1)) + if s.ServiceName != nil && len(*s.ServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) + } + if s.ServiceProviderName != nil && len(*s.ServiceProviderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceProviderName", 1)) } if invalidParams.Len() > 0 { @@ -7047,99 +9564,154 @@ func (s *DescribeInputSecurityGroupInput) Validate() error { return nil } -// SetInputSecurityGroupId sets the InputSecurityGroupId field's value. -func (s *DescribeInputSecurityGroupInput) SetInputSecurityGroupId(v string) *DescribeInputSecurityGroupInput { - s.InputSecurityGroupId = &v +// SetOutputSdt sets the OutputSdt field's value. +func (s *DvbSdtSettings) SetOutputSdt(v string) *DvbSdtSettings { + s.OutputSdt = &v return s } -type DescribeInputSecurityGroupOutput struct { +// SetRepInterval sets the RepInterval field's value. +func (s *DvbSdtSettings) SetRepInterval(v int64) *DvbSdtSettings { + s.RepInterval = &v + return s +} + +// SetServiceName sets the ServiceName field's value. +func (s *DvbSdtSettings) SetServiceName(v string) *DvbSdtSettings { + s.ServiceName = &v + return s +} + +// SetServiceProviderName sets the ServiceProviderName field's value. +func (s *DvbSdtSettings) SetServiceProviderName(v string) *DvbSdtSettings { + s.ServiceProviderName = &v + return s +} + +// Dvb Sub Destination Settings +type DvbSubDestinationSettings struct { _ struct{} `type:"structure"` - Arn *string `locationName:"arn" type:"string"` + // If no explicit xPosition or yPosition is provided, setting alignment to centered + // will place the captions at the bottom center of the output. Similarly, setting + // a left alignment will align captions to the bottom left of the output. If + // x and y positions are given in conjunction with the alignment parameter, + // the font will be justified (either left or centered) relative to those coordinates. + // Selecting "smart" justification will left-justify live subtitles and center-justify + // pre-recorded subtitles. This option is not valid for source captions that + // are STL or 608/embedded. These source settings are already pre-defined by + // the caption stream. All burn-in and DVB-Sub font settings must match. + Alignment *string `locationName:"alignment" type:"string" enum:"DvbSubDestinationAlignment"` - Id *string `locationName:"id" type:"string"` + // Specifies the color of the rectangle behind the captions. All burn-in and + // DVB-Sub font settings must match. + BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"DvbSubDestinationBackgroundColor"` - Inputs []*string `locationName:"inputs" type:"list"` + // Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. + // Leaving this parameter blank is equivalent to setting it to 0 (transparent). + // All burn-in and DVB-Sub font settings must match. + BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"` - State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"` + // External font file used for caption burn-in. File extension must be 'ttf' + // or 'tte'. Although the user can select output fonts for many different types + // of input captions, embedded, STL and teletext sources use a strict grid system. + // Using external fonts with these caption sources could cause unexpected display + // of proportional fonts. All burn-in and DVB-Sub font settings must match. + Font *InputLocation `locationName:"font" type:"structure"` - Tags map[string]*string `locationName:"tags" type:"map"` + // Specifies the color of the burned-in captions. This option is not valid for + // source captions that are STL, 608/embedded or teletext. These source settings + // are already pre-defined by the caption stream. All burn-in and DVB-Sub font + // settings must match. + FontColor *string `locationName:"fontColor" type:"string" enum:"DvbSubDestinationFontColor"` - WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"` -} + // Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. + // All burn-in and DVB-Sub font settings must match. + FontOpacity *int64 `locationName:"fontOpacity" type:"integer"` -// String returns the string representation -func (s DescribeInputSecurityGroupOutput) String() string { - return awsutil.Prettify(s) -} + // Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and + // DVB-Sub font settings must match. + FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` -// GoString returns the string representation -func (s DescribeInputSecurityGroupOutput) GoString() string { - return s.String() -} + // When set to auto fontSize will scale depending on the size of the output. + // Giving a positive integer will specify the exact font size in points. All + // burn-in and DVB-Sub font settings must match. + FontSize *string `locationName:"fontSize" type:"string"` -// SetArn sets the Arn field's value. -func (s *DescribeInputSecurityGroupOutput) SetArn(v string) *DescribeInputSecurityGroupOutput { - s.Arn = &v - return s -} + // Specifies font outline color. This option is not valid for source captions + // that are either 608/embedded or teletext. These source settings are already + // pre-defined by the caption stream. All burn-in and DVB-Sub font settings + // must match. + OutlineColor *string `locationName:"outlineColor" type:"string" enum:"DvbSubDestinationOutlineColor"` -// SetId sets the Id field's value. -func (s *DescribeInputSecurityGroupOutput) SetId(v string) *DescribeInputSecurityGroupOutput { - s.Id = &v - return s -} + // Specifies font outline size in pixels. This option is not valid for source + // captions that are either 608/embedded or teletext. These source settings + // are already pre-defined by the caption stream. All burn-in and DVB-Sub font + // settings must match. + OutlineSize *int64 `locationName:"outlineSize" type:"integer"` -// SetInputs sets the Inputs field's value. -func (s *DescribeInputSecurityGroupOutput) SetInputs(v []*string) *DescribeInputSecurityGroupOutput { - s.Inputs = v - return s -} + // Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub + // font settings must match. + ShadowColor *string `locationName:"shadowColor" type:"string" enum:"DvbSubDestinationShadowColor"` -// SetState sets the State field's value. -func (s *DescribeInputSecurityGroupOutput) SetState(v string) *DescribeInputSecurityGroupOutput { - s.State = &v - return s -} + // Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving + // this parameter blank is equivalent to setting it to 0 (transparent). All + // burn-in and DVB-Sub font settings must match. + ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"` -// SetTags sets the Tags field's value. -func (s *DescribeInputSecurityGroupOutput) SetTags(v map[string]*string) *DescribeInputSecurityGroupOutput { - s.Tags = v - return s -} + // Specifies the horizontal offset of the shadow relative to the captions in + // pixels. A value of -2 would result in a shadow offset 2 pixels to the left. + // All burn-in and DVB-Sub font settings must match. + ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"` -// SetWhitelistRules sets the WhitelistRules field's value. -func (s *DescribeInputSecurityGroupOutput) SetWhitelistRules(v []*InputWhitelistRule) *DescribeInputSecurityGroupOutput { - s.WhitelistRules = v - return s -} + // Specifies the vertical offset of the shadow relative to the captions in pixels. + // A value of -2 would result in a shadow offset 2 pixels above the text. All + // burn-in and DVB-Sub font settings must match. + ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` -type DescribeOfferingInput struct { - _ struct{} `type:"structure"` + // Controls whether a fixed grid size will be used to generate the output subtitles + // bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs. + TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"DvbSubDestinationTeletextGridControl"` - // OfferingId is a required field - OfferingId *string `location:"uri" locationName:"offeringId" type:"string" required:"true"` + // Specifies the horizontal position of the caption relative to the left side + // of the output in pixels. A value of 10 would result in the captions starting + // 10 pixels from the left of the output. If no explicit xPosition is provided, + // the horizontal caption position will be determined by the alignment parameter. + // This option is not valid for source captions that are STL, 608/embedded or + // teletext. These source settings are already pre-defined by the caption stream. + // All burn-in and DVB-Sub font settings must match. + XPosition *int64 `locationName:"xPosition" type:"integer"` + + // Specifies the vertical position of the caption relative to the top of the + // output in pixels. A value of 10 would result in the captions starting 10 + // pixels from the top of the output. If no explicit yPosition is provided, + // the caption will be positioned towards the bottom of the output. This option + // is not valid for source captions that are STL, 608/embedded or teletext. + // These source settings are already pre-defined by the caption stream. All + // burn-in and DVB-Sub font settings must match. + YPosition *int64 `locationName:"yPosition" type:"integer"` } // String returns the string representation -func (s DescribeOfferingInput) String() string { +func (s DvbSubDestinationSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeOfferingInput) GoString() string { +func (s DvbSubDestinationSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeOfferingInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeOfferingInput"} - if s.OfferingId == nil { - invalidParams.Add(request.NewErrParamRequired("OfferingId")) +func (s *DvbSubDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSubDestinationSettings"} + if s.FontResolution != nil && *s.FontResolution < 96 { + invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) } - if s.OfferingId != nil && len(*s.OfferingId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OfferingId", 1)) + if s.Font != nil { + if err := s.Font.Validate(); err != nil { + invalidParams.AddNested("Font", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -7148,142 +9720,171 @@ func (s *DescribeOfferingInput) Validate() error { return nil } -// SetOfferingId sets the OfferingId field's value. -func (s *DescribeOfferingInput) SetOfferingId(v string) *DescribeOfferingInput { - s.OfferingId = &v +// SetAlignment sets the Alignment field's value. +func (s *DvbSubDestinationSettings) SetAlignment(v string) *DvbSubDestinationSettings { + s.Alignment = &v return s } -type DescribeOfferingOutput struct { - _ struct{} `type:"structure"` - - Arn *string `locationName:"arn" type:"string"` - - CurrencyCode *string `locationName:"currencyCode" type:"string"` - - Duration *int64 `locationName:"duration" type:"integer"` - - // Units for duration, e.g. 'MONTHS' - DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` - - FixedPrice *float64 `locationName:"fixedPrice" type:"double"` - - OfferingDescription *string `locationName:"offeringDescription" type:"string"` - - OfferingId *string `locationName:"offeringId" type:"string"` - - // Offering type, e.g. 'NO_UPFRONT' - OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` +// SetBackgroundColor sets the BackgroundColor field's value. +func (s *DvbSubDestinationSettings) SetBackgroundColor(v string) *DvbSubDestinationSettings { + s.BackgroundColor = &v + return s +} - Region *string `locationName:"region" type:"string"` +// SetBackgroundOpacity sets the BackgroundOpacity field's value. +func (s *DvbSubDestinationSettings) SetBackgroundOpacity(v int64) *DvbSubDestinationSettings { + s.BackgroundOpacity = &v + return s +} - // Resource configuration (codec, resolution, bitrate, ...) - ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` +// SetFont sets the Font field's value. +func (s *DvbSubDestinationSettings) SetFont(v *InputLocation) *DvbSubDestinationSettings { + s.Font = v + return s +} - UsagePrice *float64 `locationName:"usagePrice" type:"double"` +// SetFontColor sets the FontColor field's value. +func (s *DvbSubDestinationSettings) SetFontColor(v string) *DvbSubDestinationSettings { + s.FontColor = &v + return s } -// String returns the string representation -func (s DescribeOfferingOutput) String() string { - return awsutil.Prettify(s) +// SetFontOpacity sets the FontOpacity field's value. +func (s *DvbSubDestinationSettings) SetFontOpacity(v int64) *DvbSubDestinationSettings { + s.FontOpacity = &v + return s } -// GoString returns the string representation -func (s DescribeOfferingOutput) GoString() string { - return s.String() +// SetFontResolution sets the FontResolution field's value. +func (s *DvbSubDestinationSettings) SetFontResolution(v int64) *DvbSubDestinationSettings { + s.FontResolution = &v + return s } -// SetArn sets the Arn field's value. -func (s *DescribeOfferingOutput) SetArn(v string) *DescribeOfferingOutput { - s.Arn = &v +// SetFontSize sets the FontSize field's value. +func (s *DvbSubDestinationSettings) SetFontSize(v string) *DvbSubDestinationSettings { + s.FontSize = &v return s } -// SetCurrencyCode sets the CurrencyCode field's value. -func (s *DescribeOfferingOutput) SetCurrencyCode(v string) *DescribeOfferingOutput { - s.CurrencyCode = &v +// SetOutlineColor sets the OutlineColor field's value. +func (s *DvbSubDestinationSettings) SetOutlineColor(v string) *DvbSubDestinationSettings { + s.OutlineColor = &v return s } -// SetDuration sets the Duration field's value. -func (s *DescribeOfferingOutput) SetDuration(v int64) *DescribeOfferingOutput { - s.Duration = &v +// SetOutlineSize sets the OutlineSize field's value. +func (s *DvbSubDestinationSettings) SetOutlineSize(v int64) *DvbSubDestinationSettings { + s.OutlineSize = &v return s } -// SetDurationUnits sets the DurationUnits field's value. -func (s *DescribeOfferingOutput) SetDurationUnits(v string) *DescribeOfferingOutput { - s.DurationUnits = &v +// SetShadowColor sets the ShadowColor field's value. +func (s *DvbSubDestinationSettings) SetShadowColor(v string) *DvbSubDestinationSettings { + s.ShadowColor = &v return s } -// SetFixedPrice sets the FixedPrice field's value. -func (s *DescribeOfferingOutput) SetFixedPrice(v float64) *DescribeOfferingOutput { - s.FixedPrice = &v +// SetShadowOpacity sets the ShadowOpacity field's value. +func (s *DvbSubDestinationSettings) SetShadowOpacity(v int64) *DvbSubDestinationSettings { + s.ShadowOpacity = &v return s } -// SetOfferingDescription sets the OfferingDescription field's value. -func (s *DescribeOfferingOutput) SetOfferingDescription(v string) *DescribeOfferingOutput { - s.OfferingDescription = &v +// SetShadowXOffset sets the ShadowXOffset field's value. +func (s *DvbSubDestinationSettings) SetShadowXOffset(v int64) *DvbSubDestinationSettings { + s.ShadowXOffset = &v return s } -// SetOfferingId sets the OfferingId field's value. -func (s *DescribeOfferingOutput) SetOfferingId(v string) *DescribeOfferingOutput { - s.OfferingId = &v +// SetShadowYOffset sets the ShadowYOffset field's value. +func (s *DvbSubDestinationSettings) SetShadowYOffset(v int64) *DvbSubDestinationSettings { + s.ShadowYOffset = &v return s } -// SetOfferingType sets the OfferingType field's value. -func (s *DescribeOfferingOutput) SetOfferingType(v string) *DescribeOfferingOutput { - s.OfferingType = &v +// SetTeletextGridControl sets the TeletextGridControl field's value. +func (s *DvbSubDestinationSettings) SetTeletextGridControl(v string) *DvbSubDestinationSettings { + s.TeletextGridControl = &v return s } -// SetRegion sets the Region field's value. -func (s *DescribeOfferingOutput) SetRegion(v string) *DescribeOfferingOutput { - s.Region = &v +// SetXPosition sets the XPosition field's value. +func (s *DvbSubDestinationSettings) SetXPosition(v int64) *DvbSubDestinationSettings { + s.XPosition = &v return s } -// SetResourceSpecification sets the ResourceSpecification field's value. -func (s *DescribeOfferingOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeOfferingOutput { - s.ResourceSpecification = v +// SetYPosition sets the YPosition field's value. +func (s *DvbSubDestinationSettings) SetYPosition(v int64) *DvbSubDestinationSettings { + s.YPosition = &v return s } -// SetUsagePrice sets the UsagePrice field's value. -func (s *DescribeOfferingOutput) SetUsagePrice(v float64) *DescribeOfferingOutput { - s.UsagePrice = &v +// Dvb Sub Source Settings +type DvbSubSourceSettings struct { + _ struct{} `type:"structure"` + + // When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source + // content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through, + // regardless of selectors. + Pid *int64 `locationName:"pid" min:"1" type:"integer"` +} + +// String returns the string representation +func (s DvbSubSourceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DvbSubSourceSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DvbSubSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbSubSourceSettings"} + if s.Pid != nil && *s.Pid < 1 { + invalidParams.Add(request.NewErrParamMinValue("Pid", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPid sets the Pid field's value. +func (s *DvbSubSourceSettings) SetPid(v int64) *DvbSubSourceSettings { + s.Pid = &v return s } -type DescribeReservationInput struct { +// DVB Time and Date Table (SDT) +type DvbTdtSettings struct { _ struct{} `type:"structure"` - // ReservationId is a required field - ReservationId *string `location:"uri" locationName:"reservationId" type:"string" required:"true"` + // The number of milliseconds between instances of this table in the output + // transport stream. + RepInterval *int64 `locationName:"repInterval" min:"1000" type:"integer"` } // String returns the string representation -func (s DescribeReservationInput) String() string { +func (s DvbTdtSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeReservationInput) GoString() string { +func (s DvbTdtSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeReservationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeReservationInput"} - if s.ReservationId == nil { - invalidParams.Add(request.NewErrParamRequired("ReservationId")) - } - if s.ReservationId != nil && len(*s.ReservationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ReservationId", 1)) +func (s *DvbTdtSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DvbTdtSettings"} + if s.RepInterval != nil && *s.RepInterval < 1000 { + invalidParams.Add(request.NewErrParamMinValue("RepInterval", 1000)) } if invalidParams.Len() > 0 { @@ -7292,378 +9893,302 @@ func (s *DescribeReservationInput) Validate() error { return nil } -// SetReservationId sets the ReservationId field's value. -func (s *DescribeReservationInput) SetReservationId(v string) *DescribeReservationInput { - s.ReservationId = &v +// SetRepInterval sets the RepInterval field's value. +func (s *DvbTdtSettings) SetRepInterval(v int64) *DvbTdtSettings { + s.RepInterval = &v return s } -type DescribeReservationOutput struct { +// Eac3 Settings +type Eac3Settings struct { _ struct{} `type:"structure"` - Arn *string `locationName:"arn" type:"string"` + // When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. + // Only used for 3/2 coding mode. + AttenuationControl *string `locationName:"attenuationControl" type:"string" enum:"Eac3AttenuationControl"` - Count *int64 `locationName:"count" type:"integer"` + // Average bitrate in bits/second. Valid bitrates depend on the coding mode. + Bitrate *float64 `locationName:"bitrate" type:"double"` - CurrencyCode *string `locationName:"currencyCode" type:"string"` + // Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC + // A/52-2012 (Annex E) for background on these values. + BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Eac3BitstreamMode"` - Duration *int64 `locationName:"duration" type:"integer"` + // Dolby Digital Plus coding mode. Determines number of channels. + CodingMode *string `locationName:"codingMode" type:"string" enum:"Eac3CodingMode"` - // Units for duration, e.g. 'MONTHS' - DurationUnits *string `locationName:"durationUnits" type:"string" enum:"OfferingDurationUnits"` + // When set to enabled, activates a DC highpass filter for all input channels. + DcFilter *string `locationName:"dcFilter" type:"string" enum:"Eac3DcFilter"` - End *string `locationName:"end" type:"string"` + // Sets the dialnorm for the output. If blank and input audio is Dolby Digital + // Plus, dialnorm will be passed through. + Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` - FixedPrice *float64 `locationName:"fixedPrice" type:"double"` + // Sets the Dolby dynamic range compression profile. + DrcLine *string `locationName:"drcLine" type:"string" enum:"Eac3DrcLine"` - Name *string `locationName:"name" type:"string"` + // Sets the profile for heavy Dolby dynamic range compression, ensures that + // the instantaneous signal peaks do not exceed specified levels. + DrcRf *string `locationName:"drcRf" type:"string" enum:"Eac3DrcRf"` - OfferingDescription *string `locationName:"offeringDescription" type:"string"` + // When encoding 3/2 audio, setting to lfe enables the LFE channel + LfeControl *string `locationName:"lfeControl" type:"string" enum:"Eac3LfeControl"` - OfferingId *string `locationName:"offeringId" type:"string"` + // When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior + // to encoding. Only valid with codingMode32 coding mode. + LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Eac3LfeFilter"` - // Offering type, e.g. 'NO_UPFRONT' - OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingType"` + // Left only/Right only center mix level. Only used for 3/2 coding mode. + LoRoCenterMixLevel *float64 `locationName:"loRoCenterMixLevel" type:"double"` - Region *string `locationName:"region" type:"string"` + // Left only/Right only surround mix level. Only used for 3/2 coding mode. + LoRoSurroundMixLevel *float64 `locationName:"loRoSurroundMixLevel" type:"double"` - ReservationId *string `locationName:"reservationId" type:"string"` + // Left total/Right total center mix level. Only used for 3/2 coding mode. + LtRtCenterMixLevel *float64 `locationName:"ltRtCenterMixLevel" type:"double"` - // Resource configuration (codec, resolution, bitrate, ...) - ResourceSpecification *ReservationResourceSpecification `locationName:"resourceSpecification" type:"structure"` + // Left total/Right total surround mix level. Only used for 3/2 coding mode. + LtRtSurroundMixLevel *float64 `locationName:"ltRtSurroundMixLevel" type:"double"` - Start *string `locationName:"start" type:"string"` + // When set to followInput, encoder metadata will be sourced from the DD, DD+, + // or DolbyE decoder that supplied this audio data. If audio was not supplied + // from one of these streams, then the static metadata settings will be used. + MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Eac3MetadataControl"` - // Current reservation state - State *string `locationName:"state" type:"string" enum:"ReservationState"` + // When set to whenPossible, input DD+ audio will be passed through if it is + // present on the input. This detection is dynamic over the life of the transcode. + // Inputs that alternate between DD+ and non-DD+ content will have a consistent + // DD+ output as the system alternates between passthrough and encoding. + PassthroughControl *string `locationName:"passthroughControl" type:"string" enum:"Eac3PassthroughControl"` - Tags map[string]*string `locationName:"tags" type:"map"` + // When set to shift90Degrees, applies a 90-degree phase shift to the surround + // channels. Only used for 3/2 coding mode. + PhaseControl *string `locationName:"phaseControl" type:"string" enum:"Eac3PhaseControl"` - UsagePrice *float64 `locationName:"usagePrice" type:"double"` + // Stereo downmix preference. Only used for 3/2 coding mode. + StereoDownmix *string `locationName:"stereoDownmix" type:"string" enum:"Eac3StereoDownmix"` + + // When encoding 3/2 audio, sets whether an extra center back surround channel + // is matrix encoded into the left and right surround channels. + SurroundExMode *string `locationName:"surroundExMode" type:"string" enum:"Eac3SurroundExMode"` + + // When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into + // the two channels. + SurroundMode *string `locationName:"surroundMode" type:"string" enum:"Eac3SurroundMode"` } // String returns the string representation -func (s DescribeReservationOutput) String() string { +func (s Eac3Settings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeReservationOutput) GoString() string { +func (s Eac3Settings) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DescribeReservationOutput) SetArn(v string) *DescribeReservationOutput { - s.Arn = &v - return s -} - -// SetCount sets the Count field's value. -func (s *DescribeReservationOutput) SetCount(v int64) *DescribeReservationOutput { - s.Count = &v - return s -} - -// SetCurrencyCode sets the CurrencyCode field's value. -func (s *DescribeReservationOutput) SetCurrencyCode(v string) *DescribeReservationOutput { - s.CurrencyCode = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *Eac3Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Eac3Settings"} + if s.Dialnorm != nil && *s.Dialnorm < 1 { + invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) + } -// SetDuration sets the Duration field's value. -func (s *DescribeReservationOutput) SetDuration(v int64) *DescribeReservationOutput { - s.Duration = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDurationUnits sets the DurationUnits field's value. -func (s *DescribeReservationOutput) SetDurationUnits(v string) *DescribeReservationOutput { - s.DurationUnits = &v +// SetAttenuationControl sets the AttenuationControl field's value. +func (s *Eac3Settings) SetAttenuationControl(v string) *Eac3Settings { + s.AttenuationControl = &v return s } -// SetEnd sets the End field's value. -func (s *DescribeReservationOutput) SetEnd(v string) *DescribeReservationOutput { - s.End = &v +// SetBitrate sets the Bitrate field's value. +func (s *Eac3Settings) SetBitrate(v float64) *Eac3Settings { + s.Bitrate = &v return s } -// SetFixedPrice sets the FixedPrice field's value. -func (s *DescribeReservationOutput) SetFixedPrice(v float64) *DescribeReservationOutput { - s.FixedPrice = &v +// SetBitstreamMode sets the BitstreamMode field's value. +func (s *Eac3Settings) SetBitstreamMode(v string) *Eac3Settings { + s.BitstreamMode = &v return s } -// SetName sets the Name field's value. -func (s *DescribeReservationOutput) SetName(v string) *DescribeReservationOutput { - s.Name = &v +// SetCodingMode sets the CodingMode field's value. +func (s *Eac3Settings) SetCodingMode(v string) *Eac3Settings { + s.CodingMode = &v return s } -// SetOfferingDescription sets the OfferingDescription field's value. -func (s *DescribeReservationOutput) SetOfferingDescription(v string) *DescribeReservationOutput { - s.OfferingDescription = &v +// SetDcFilter sets the DcFilter field's value. +func (s *Eac3Settings) SetDcFilter(v string) *Eac3Settings { + s.DcFilter = &v return s } -// SetOfferingId sets the OfferingId field's value. -func (s *DescribeReservationOutput) SetOfferingId(v string) *DescribeReservationOutput { - s.OfferingId = &v +// SetDialnorm sets the Dialnorm field's value. +func (s *Eac3Settings) SetDialnorm(v int64) *Eac3Settings { + s.Dialnorm = &v return s } -// SetOfferingType sets the OfferingType field's value. -func (s *DescribeReservationOutput) SetOfferingType(v string) *DescribeReservationOutput { - s.OfferingType = &v +// SetDrcLine sets the DrcLine field's value. +func (s *Eac3Settings) SetDrcLine(v string) *Eac3Settings { + s.DrcLine = &v return s } -// SetRegion sets the Region field's value. -func (s *DescribeReservationOutput) SetRegion(v string) *DescribeReservationOutput { - s.Region = &v +// SetDrcRf sets the DrcRf field's value. +func (s *Eac3Settings) SetDrcRf(v string) *Eac3Settings { + s.DrcRf = &v return s } -// SetReservationId sets the ReservationId field's value. -func (s *DescribeReservationOutput) SetReservationId(v string) *DescribeReservationOutput { - s.ReservationId = &v +// SetLfeControl sets the LfeControl field's value. +func (s *Eac3Settings) SetLfeControl(v string) *Eac3Settings { + s.LfeControl = &v return s } -// SetResourceSpecification sets the ResourceSpecification field's value. -func (s *DescribeReservationOutput) SetResourceSpecification(v *ReservationResourceSpecification) *DescribeReservationOutput { - s.ResourceSpecification = v +// SetLfeFilter sets the LfeFilter field's value. +func (s *Eac3Settings) SetLfeFilter(v string) *Eac3Settings { + s.LfeFilter = &v return s } -// SetStart sets the Start field's value. -func (s *DescribeReservationOutput) SetStart(v string) *DescribeReservationOutput { - s.Start = &v +// SetLoRoCenterMixLevel sets the LoRoCenterMixLevel field's value. +func (s *Eac3Settings) SetLoRoCenterMixLevel(v float64) *Eac3Settings { + s.LoRoCenterMixLevel = &v return s } -// SetState sets the State field's value. -func (s *DescribeReservationOutput) SetState(v string) *DescribeReservationOutput { - s.State = &v +// SetLoRoSurroundMixLevel sets the LoRoSurroundMixLevel field's value. +func (s *Eac3Settings) SetLoRoSurroundMixLevel(v float64) *Eac3Settings { + s.LoRoSurroundMixLevel = &v return s } -// SetTags sets the Tags field's value. -func (s *DescribeReservationOutput) SetTags(v map[string]*string) *DescribeReservationOutput { - s.Tags = v +// SetLtRtCenterMixLevel sets the LtRtCenterMixLevel field's value. +func (s *Eac3Settings) SetLtRtCenterMixLevel(v float64) *Eac3Settings { + s.LtRtCenterMixLevel = &v return s } -// SetUsagePrice sets the UsagePrice field's value. -func (s *DescribeReservationOutput) SetUsagePrice(v float64) *DescribeReservationOutput { - s.UsagePrice = &v +// SetLtRtSurroundMixLevel sets the LtRtSurroundMixLevel field's value. +func (s *Eac3Settings) SetLtRtSurroundMixLevel(v float64) *Eac3Settings { + s.LtRtSurroundMixLevel = &v return s } -type DescribeScheduleInput struct { - _ struct{} `type:"structure"` - - // ChannelId is a required field - ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` - - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` -} - -// String returns the string representation -func (s DescribeScheduleInput) String() string { - return awsutil.Prettify(s) +// SetMetadataControl sets the MetadataControl field's value. +func (s *Eac3Settings) SetMetadataControl(v string) *Eac3Settings { + s.MetadataControl = &v + return s } -// GoString returns the string representation -func (s DescribeScheduleInput) GoString() string { - return s.String() +// SetPassthroughControl sets the PassthroughControl field's value. +func (s *Eac3Settings) SetPassthroughControl(v string) *Eac3Settings { + s.PassthroughControl = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeScheduleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeScheduleInput"} - if s.ChannelId == nil { - invalidParams.Add(request.NewErrParamRequired("ChannelId")) - } - if s.ChannelId != nil && len(*s.ChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetPhaseControl sets the PhaseControl field's value. +func (s *Eac3Settings) SetPhaseControl(v string) *Eac3Settings { + s.PhaseControl = &v + return s } -// SetChannelId sets the ChannelId field's value. -func (s *DescribeScheduleInput) SetChannelId(v string) *DescribeScheduleInput { - s.ChannelId = &v +// SetStereoDownmix sets the StereoDownmix field's value. +func (s *Eac3Settings) SetStereoDownmix(v string) *Eac3Settings { + s.StereoDownmix = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeScheduleInput) SetMaxResults(v int64) *DescribeScheduleInput { - s.MaxResults = &v +// SetSurroundExMode sets the SurroundExMode field's value. +func (s *Eac3Settings) SetSurroundExMode(v string) *Eac3Settings { + s.SurroundExMode = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeScheduleInput) SetNextToken(v string) *DescribeScheduleInput { - s.NextToken = &v +// SetSurroundMode sets the SurroundMode field's value. +func (s *Eac3Settings) SetSurroundMode(v string) *Eac3Settings { + s.SurroundMode = &v return s } -type DescribeScheduleOutput struct { +// Embedded Destination Settings +type EmbeddedDestinationSettings struct { _ struct{} `type:"structure"` - - NextToken *string `locationName:"nextToken" type:"string"` - - ScheduleActions []*ScheduleAction `locationName:"scheduleActions" type:"list"` } // String returns the string representation -func (s DescribeScheduleOutput) String() string { +func (s EmbeddedDestinationSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeScheduleOutput) GoString() string { +func (s EmbeddedDestinationSettings) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *DescribeScheduleOutput) SetNextToken(v string) *DescribeScheduleOutput { - s.NextToken = &v - return s -} - -// SetScheduleActions sets the ScheduleActions field's value. -func (s *DescribeScheduleOutput) SetScheduleActions(v []*ScheduleAction) *DescribeScheduleOutput { - s.ScheduleActions = v - return s -} - -// DVB Network Information Table (NIT) -type DvbNitSettings struct { +// Embedded Plus Scte20 Destination Settings +type EmbeddedPlusScte20DestinationSettings struct { _ struct{} `type:"structure"` - - // The numeric value placed in the Network Information Table (NIT). - // - // NetworkId is a required field - NetworkId *int64 `locationName:"networkId" type:"integer" required:"true"` - - // The network name text placed in the networkNameDescriptor inside the Network - // Information Table. Maximum length is 256 characters. - // - // NetworkName is a required field - NetworkName *string `locationName:"networkName" min:"1" type:"string" required:"true"` - - // The number of milliseconds between instances of this table in the output - // transport stream. - RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"` } // String returns the string representation -func (s DvbNitSettings) String() string { +func (s EmbeddedPlusScte20DestinationSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DvbNitSettings) GoString() string { +func (s EmbeddedPlusScte20DestinationSettings) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DvbNitSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DvbNitSettings"} - if s.NetworkId == nil { - invalidParams.Add(request.NewErrParamRequired("NetworkId")) - } - if s.NetworkName == nil { - invalidParams.Add(request.NewErrParamRequired("NetworkName")) - } - if s.NetworkName != nil && len(*s.NetworkName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NetworkName", 1)) - } - if s.RepInterval != nil && *s.RepInterval < 25 { - invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetNetworkId sets the NetworkId field's value. -func (s *DvbNitSettings) SetNetworkId(v int64) *DvbNitSettings { - s.NetworkId = &v - return s -} - -// SetNetworkName sets the NetworkName field's value. -func (s *DvbNitSettings) SetNetworkName(v string) *DvbNitSettings { - s.NetworkName = &v - return s -} - -// SetRepInterval sets the RepInterval field's value. -func (s *DvbNitSettings) SetRepInterval(v int64) *DvbNitSettings { - s.RepInterval = &v - return s -} - -// DVB Service Description Table (SDT) -type DvbSdtSettings struct { +// Embedded Source Settings +type EmbeddedSourceSettings struct { _ struct{} `type:"structure"` - // Selects method of inserting SDT information into output stream. The sdtFollow - // setting copies SDT information from input stream to output stream. The sdtFollowIfPresent - // setting copies SDT information from input stream to output stream if SDT - // information is present in the input, otherwise it will fall back on the user-defined - // values. The sdtManual setting means user will enter the SDT information. - // The sdtNone setting means output stream will not contain SDT information. - OutputSdt *string `locationName:"outputSdt" type:"string" enum:"DvbSdtOutputSdt"` + // If upconvert, 608 data is both passed through via the "608 compatibility + // bytes" fields of the 708 wrapper as well as translated into 708. 708 data + // present in the source content will be discarded. + Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"EmbeddedConvert608To708"` - // The number of milliseconds between instances of this table in the output - // transport stream. - RepInterval *int64 `locationName:"repInterval" min:"25" type:"integer"` + // Set to "auto" to handle streams with intermittent and/or non-aligned SCTE-20 + // and Embedded captions. + Scte20Detection *string `locationName:"scte20Detection" type:"string" enum:"EmbeddedScte20Detection"` - // The service name placed in the serviceDescriptor in the Service Description - // Table. Maximum length is 256 characters. - ServiceName *string `locationName:"serviceName" min:"1" type:"string"` + // Specifies the 608/708 channel number within the video track from which to + // extract captions. Unused for passthrough. + Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"` - // The service provider name placed in the serviceDescriptor in the Service - // Description Table. Maximum length is 256 characters. - ServiceProviderName *string `locationName:"serviceProviderName" min:"1" type:"string"` + // This field is unused and deprecated. + Source608TrackNumber *int64 `locationName:"source608TrackNumber" min:"1" type:"integer"` } // String returns the string representation -func (s DvbSdtSettings) String() string { +func (s EmbeddedSourceSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DvbSdtSettings) GoString() string { +func (s EmbeddedSourceSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DvbSdtSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DvbSdtSettings"} - if s.RepInterval != nil && *s.RepInterval < 25 { - invalidParams.Add(request.NewErrParamMinValue("RepInterval", 25)) - } - if s.ServiceName != nil && len(*s.ServiceName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) +func (s *EmbeddedSourceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EmbeddedSourceSettings"} + if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1)) } - if s.ServiceProviderName != nil && len(*s.ServiceProviderName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ServiceProviderName", 1)) + if s.Source608TrackNumber != nil && *s.Source608TrackNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("Source608TrackNumber", 1)) } if invalidParams.Len() > 0 { @@ -7672,289 +10197,263 @@ func (s *DvbSdtSettings) Validate() error { return nil } -// SetOutputSdt sets the OutputSdt field's value. -func (s *DvbSdtSettings) SetOutputSdt(v string) *DvbSdtSettings { - s.OutputSdt = &v +// SetConvert608To708 sets the Convert608To708 field's value. +func (s *EmbeddedSourceSettings) SetConvert608To708(v string) *EmbeddedSourceSettings { + s.Convert608To708 = &v return s } -// SetRepInterval sets the RepInterval field's value. -func (s *DvbSdtSettings) SetRepInterval(v int64) *DvbSdtSettings { - s.RepInterval = &v +// SetScte20Detection sets the Scte20Detection field's value. +func (s *EmbeddedSourceSettings) SetScte20Detection(v string) *EmbeddedSourceSettings { + s.Scte20Detection = &v return s } -// SetServiceName sets the ServiceName field's value. -func (s *DvbSdtSettings) SetServiceName(v string) *DvbSdtSettings { - s.ServiceName = &v +// SetSource608ChannelNumber sets the Source608ChannelNumber field's value. +func (s *EmbeddedSourceSettings) SetSource608ChannelNumber(v int64) *EmbeddedSourceSettings { + s.Source608ChannelNumber = &v return s } -// SetServiceProviderName sets the ServiceProviderName field's value. -func (s *DvbSdtSettings) SetServiceProviderName(v string) *DvbSdtSettings { - s.ServiceProviderName = &v +// SetSource608TrackNumber sets the Source608TrackNumber field's value. +func (s *EmbeddedSourceSettings) SetSource608TrackNumber(v int64) *EmbeddedSourceSettings { + s.Source608TrackNumber = &v return s } -// Dvb Sub Destination Settings -type DvbSubDestinationSettings struct { +// Encoder Settings +type EncoderSettings struct { _ struct{} `type:"structure"` - // If no explicit xPosition or yPosition is provided, setting alignment to centered - // will place the captions at the bottom center of the output. Similarly, setting - // a left alignment will align captions to the bottom left of the output. If - // x and y positions are given in conjunction with the alignment parameter, - // the font will be justified (either left or centered) relative to those coordinates. - // Selecting "smart" justification will left-justify live subtitles and center-justify - // pre-recorded subtitles. This option is not valid for source captions that - // are STL or 608/embedded. These source settings are already pre-defined by - // the caption stream. All burn-in and DVB-Sub font settings must match. - Alignment *string `locationName:"alignment" type:"string" enum:"DvbSubDestinationAlignment"` - - // Specifies the color of the rectangle behind the captions. All burn-in and - // DVB-Sub font settings must match. - BackgroundColor *string `locationName:"backgroundColor" type:"string" enum:"DvbSubDestinationBackgroundColor"` - - // Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. - // Leaving this parameter blank is equivalent to setting it to 0 (transparent). - // All burn-in and DVB-Sub font settings must match. - BackgroundOpacity *int64 `locationName:"backgroundOpacity" type:"integer"` - - // External font file used for caption burn-in. File extension must be 'ttf' - // or 'tte'. Although the user can select output fonts for many different types - // of input captions, embedded, STL and teletext sources use a strict grid system. - // Using external fonts with these caption sources could cause unexpected display - // of proportional fonts. All burn-in and DVB-Sub font settings must match. - Font *InputLocation `locationName:"font" type:"structure"` - - // Specifies the color of the burned-in captions. This option is not valid for - // source captions that are STL, 608/embedded or teletext. These source settings - // are already pre-defined by the caption stream. All burn-in and DVB-Sub font - // settings must match. - FontColor *string `locationName:"fontColor" type:"string" enum:"DvbSubDestinationFontColor"` - - // Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. - // All burn-in and DVB-Sub font settings must match. - FontOpacity *int64 `locationName:"fontOpacity" type:"integer"` - - // Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and - // DVB-Sub font settings must match. - FontResolution *int64 `locationName:"fontResolution" min:"96" type:"integer"` - - // When set to auto fontSize will scale depending on the size of the output. - // Giving a positive integer will specify the exact font size in points. All - // burn-in and DVB-Sub font settings must match. - FontSize *string `locationName:"fontSize" type:"string"` + // AudioDescriptions is a required field + AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list" required:"true"` - // Specifies font outline color. This option is not valid for source captions - // that are either 608/embedded or teletext. These source settings are already - // pre-defined by the caption stream. All burn-in and DVB-Sub font settings - // must match. - OutlineColor *string `locationName:"outlineColor" type:"string" enum:"DvbSubDestinationOutlineColor"` + // Settings for ad avail blanking. + AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"` - // Specifies font outline size in pixels. This option is not valid for source - // captions that are either 608/embedded or teletext. These source settings - // are already pre-defined by the caption stream. All burn-in and DVB-Sub font - // settings must match. - OutlineSize *int64 `locationName:"outlineSize" type:"integer"` + // Event-wide configuration settings for ad avail insertion. + AvailConfiguration *AvailConfiguration `locationName:"availConfiguration" type:"structure"` - // Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub - // font settings must match. - ShadowColor *string `locationName:"shadowColor" type:"string" enum:"DvbSubDestinationShadowColor"` + // Settings for blackout slate. + BlackoutSlate *BlackoutSlate `locationName:"blackoutSlate" type:"structure"` - // Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving - // this parameter blank is equivalent to setting it to 0 (transparent). All - // burn-in and DVB-Sub font settings must match. - ShadowOpacity *int64 `locationName:"shadowOpacity" type:"integer"` + // Settings for caption decriptions + CaptionDescriptions []*CaptionDescription `locationName:"captionDescriptions" type:"list"` - // Specifies the horizontal offset of the shadow relative to the captions in - // pixels. A value of -2 would result in a shadow offset 2 pixels to the left. - // All burn-in and DVB-Sub font settings must match. - ShadowXOffset *int64 `locationName:"shadowXOffset" type:"integer"` + // Configuration settings that apply to the event as a whole. + GlobalConfiguration *GlobalConfiguration `locationName:"globalConfiguration" type:"structure"` - // Specifies the vertical offset of the shadow relative to the captions in pixels. - // A value of -2 would result in a shadow offset 2 pixels above the text. All - // burn-in and DVB-Sub font settings must match. - ShadowYOffset *int64 `locationName:"shadowYOffset" type:"integer"` + // Nielsen configuration settings. + NielsenConfiguration *NielsenConfiguration `locationName:"nielsenConfiguration" type:"structure"` - // Controls whether a fixed grid size will be used to generate the output subtitles - // bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs. - TeletextGridControl *string `locationName:"teletextGridControl" type:"string" enum:"DvbSubDestinationTeletextGridControl"` + // OutputGroups is a required field + OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list" required:"true"` - // Specifies the horizontal position of the caption relative to the left side - // of the output in pixels. A value of 10 would result in the captions starting - // 10 pixels from the left of the output. If no explicit xPosition is provided, - // the horizontal caption position will be determined by the alignment parameter. - // This option is not valid for source captions that are STL, 608/embedded or - // teletext. These source settings are already pre-defined by the caption stream. - // All burn-in and DVB-Sub font settings must match. - XPosition *int64 `locationName:"xPosition" type:"integer"` + // Contains settings used to acquire and adjust timecode information from inputs. + // + // TimecodeConfig is a required field + TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure" required:"true"` - // Specifies the vertical position of the caption relative to the top of the - // output in pixels. A value of 10 would result in the captions starting 10 - // pixels from the top of the output. If no explicit yPosition is provided, - // the caption will be positioned towards the bottom of the output. This option - // is not valid for source captions that are STL, 608/embedded or teletext. - // These source settings are already pre-defined by the caption stream. All - // burn-in and DVB-Sub font settings must match. - YPosition *int64 `locationName:"yPosition" type:"integer"` + // VideoDescriptions is a required field + VideoDescriptions []*VideoDescription `locationName:"videoDescriptions" type:"list" required:"true"` } // String returns the string representation -func (s DvbSubDestinationSettings) String() string { +func (s EncoderSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DvbSubDestinationSettings) GoString() string { +func (s EncoderSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DvbSubDestinationSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DvbSubDestinationSettings"} - if s.FontResolution != nil && *s.FontResolution < 96 { - invalidParams.Add(request.NewErrParamMinValue("FontResolution", 96)) +func (s *EncoderSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncoderSettings"} + if s.AudioDescriptions == nil { + invalidParams.Add(request.NewErrParamRequired("AudioDescriptions")) } - if s.Font != nil { - if err := s.Font.Validate(); err != nil { - invalidParams.AddNested("Font", err.(request.ErrInvalidParams)) + if s.OutputGroups == nil { + invalidParams.Add(request.NewErrParamRequired("OutputGroups")) + } + if s.TimecodeConfig == nil { + invalidParams.Add(request.NewErrParamRequired("TimecodeConfig")) + } + if s.VideoDescriptions == nil { + invalidParams.Add(request.NewErrParamRequired("VideoDescriptions")) + } + if s.AudioDescriptions != nil { + for i, v := range s.AudioDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams)) + } } } - - if invalidParams.Len() > 0 { - return invalidParams + if s.AvailBlanking != nil { + if err := s.AvailBlanking.Validate(); err != nil { + invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams)) + } + } + if s.AvailConfiguration != nil { + if err := s.AvailConfiguration.Validate(); err != nil { + invalidParams.AddNested("AvailConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.BlackoutSlate != nil { + if err := s.BlackoutSlate.Validate(); err != nil { + invalidParams.AddNested("BlackoutSlate", err.(request.ErrInvalidParams)) + } + } + if s.CaptionDescriptions != nil { + for i, v := range s.CaptionDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.GlobalConfiguration != nil { + if err := s.GlobalConfiguration.Validate(); err != nil { + invalidParams.AddNested("GlobalConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.OutputGroups != nil { + for i, v := range s.OutputGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TimecodeConfig != nil { + if err := s.TimecodeConfig.Validate(); err != nil { + invalidParams.AddNested("TimecodeConfig", err.(request.ErrInvalidParams)) + } + } + if s.VideoDescriptions != nil { + for i, v := range s.VideoDescriptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VideoDescriptions", i), err.(request.ErrInvalidParams)) + } + } } - return nil -} - -// SetAlignment sets the Alignment field's value. -func (s *DvbSubDestinationSettings) SetAlignment(v string) *DvbSubDestinationSettings { - s.Alignment = &v - return s -} - -// SetBackgroundColor sets the BackgroundColor field's value. -func (s *DvbSubDestinationSettings) SetBackgroundColor(v string) *DvbSubDestinationSettings { - s.BackgroundColor = &v - return s -} - -// SetBackgroundOpacity sets the BackgroundOpacity field's value. -func (s *DvbSubDestinationSettings) SetBackgroundOpacity(v int64) *DvbSubDestinationSettings { - s.BackgroundOpacity = &v - return s -} - -// SetFont sets the Font field's value. -func (s *DvbSubDestinationSettings) SetFont(v *InputLocation) *DvbSubDestinationSettings { - s.Font = v - return s -} -// SetFontColor sets the FontColor field's value. -func (s *DvbSubDestinationSettings) SetFontColor(v string) *DvbSubDestinationSettings { - s.FontColor = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetFontOpacity sets the FontOpacity field's value. -func (s *DvbSubDestinationSettings) SetFontOpacity(v int64) *DvbSubDestinationSettings { - s.FontOpacity = &v +// SetAudioDescriptions sets the AudioDescriptions field's value. +func (s *EncoderSettings) SetAudioDescriptions(v []*AudioDescription) *EncoderSettings { + s.AudioDescriptions = v return s } -// SetFontResolution sets the FontResolution field's value. -func (s *DvbSubDestinationSettings) SetFontResolution(v int64) *DvbSubDestinationSettings { - s.FontResolution = &v +// SetAvailBlanking sets the AvailBlanking field's value. +func (s *EncoderSettings) SetAvailBlanking(v *AvailBlanking) *EncoderSettings { + s.AvailBlanking = v return s } -// SetFontSize sets the FontSize field's value. -func (s *DvbSubDestinationSettings) SetFontSize(v string) *DvbSubDestinationSettings { - s.FontSize = &v +// SetAvailConfiguration sets the AvailConfiguration field's value. +func (s *EncoderSettings) SetAvailConfiguration(v *AvailConfiguration) *EncoderSettings { + s.AvailConfiguration = v return s } -// SetOutlineColor sets the OutlineColor field's value. -func (s *DvbSubDestinationSettings) SetOutlineColor(v string) *DvbSubDestinationSettings { - s.OutlineColor = &v +// SetBlackoutSlate sets the BlackoutSlate field's value. +func (s *EncoderSettings) SetBlackoutSlate(v *BlackoutSlate) *EncoderSettings { + s.BlackoutSlate = v return s } -// SetOutlineSize sets the OutlineSize field's value. -func (s *DvbSubDestinationSettings) SetOutlineSize(v int64) *DvbSubDestinationSettings { - s.OutlineSize = &v +// SetCaptionDescriptions sets the CaptionDescriptions field's value. +func (s *EncoderSettings) SetCaptionDescriptions(v []*CaptionDescription) *EncoderSettings { + s.CaptionDescriptions = v return s } -// SetShadowColor sets the ShadowColor field's value. -func (s *DvbSubDestinationSettings) SetShadowColor(v string) *DvbSubDestinationSettings { - s.ShadowColor = &v +// SetGlobalConfiguration sets the GlobalConfiguration field's value. +func (s *EncoderSettings) SetGlobalConfiguration(v *GlobalConfiguration) *EncoderSettings { + s.GlobalConfiguration = v return s } -// SetShadowOpacity sets the ShadowOpacity field's value. -func (s *DvbSubDestinationSettings) SetShadowOpacity(v int64) *DvbSubDestinationSettings { - s.ShadowOpacity = &v +// SetNielsenConfiguration sets the NielsenConfiguration field's value. +func (s *EncoderSettings) SetNielsenConfiguration(v *NielsenConfiguration) *EncoderSettings { + s.NielsenConfiguration = v return s } -// SetShadowXOffset sets the ShadowXOffset field's value. -func (s *DvbSubDestinationSettings) SetShadowXOffset(v int64) *DvbSubDestinationSettings { - s.ShadowXOffset = &v +// SetOutputGroups sets the OutputGroups field's value. +func (s *EncoderSettings) SetOutputGroups(v []*OutputGroup) *EncoderSettings { + s.OutputGroups = v return s } -// SetShadowYOffset sets the ShadowYOffset field's value. -func (s *DvbSubDestinationSettings) SetShadowYOffset(v int64) *DvbSubDestinationSettings { - s.ShadowYOffset = &v +// SetTimecodeConfig sets the TimecodeConfig field's value. +func (s *EncoderSettings) SetTimecodeConfig(v *TimecodeConfig) *EncoderSettings { + s.TimecodeConfig = v return s } -// SetTeletextGridControl sets the TeletextGridControl field's value. -func (s *DvbSubDestinationSettings) SetTeletextGridControl(v string) *DvbSubDestinationSettings { - s.TeletextGridControl = &v +// SetVideoDescriptions sets the VideoDescriptions field's value. +func (s *EncoderSettings) SetVideoDescriptions(v []*VideoDescription) *EncoderSettings { + s.VideoDescriptions = v return s } -// SetXPosition sets the XPosition field's value. -func (s *DvbSubDestinationSettings) SetXPosition(v int64) *DvbSubDestinationSettings { - s.XPosition = &v - return s -} +// Fec Output Settings +type FecOutputSettings struct { + _ struct{} `type:"structure"` -// SetYPosition sets the YPosition field's value. -func (s *DvbSubDestinationSettings) SetYPosition(v int64) *DvbSubDestinationSettings { - s.YPosition = &v - return s -} + // Parameter D from SMPTE 2022-1. The height of the FEC protection matrix. The + // number of transport stream packets per column error correction packet. Must + // be between 4 and 20, inclusive. + ColumnDepth *int64 `locationName:"columnDepth" min:"4" type:"integer"` -// Dvb Sub Source Settings -type DvbSubSourceSettings struct { - _ struct{} `type:"structure"` + // Enables column only or column and row based FEC + IncludeFec *string `locationName:"includeFec" type:"string" enum:"FecOutputIncludeFec"` - // When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source - // content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through, - // regardless of selectors. - Pid *int64 `locationName:"pid" min:"1" type:"integer"` + // Parameter L from SMPTE 2022-1. The width of the FEC protection matrix. Must + // be between 1 and 20, inclusive. If only Column FEC is used, then larger values + // increase robustness. If Row FEC is used, then this is the number of transport + // stream packets per row error correction packet, and the value must be between + // 4 and 20, inclusive, if includeFec is columnAndRow. If includeFec is column, + // this value must be 1 to 20, inclusive. + RowLength *int64 `locationName:"rowLength" min:"1" type:"integer"` } // String returns the string representation -func (s DvbSubSourceSettings) String() string { +func (s FecOutputSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DvbSubSourceSettings) GoString() string { +func (s FecOutputSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DvbSubSourceSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DvbSubSourceSettings"} - if s.Pid != nil && *s.Pid < 1 { - invalidParams.Add(request.NewErrParamMinValue("Pid", 1)) +func (s *FecOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FecOutputSettings"} + if s.ColumnDepth != nil && *s.ColumnDepth < 4 { + invalidParams.Add(request.NewErrParamMinValue("ColumnDepth", 4)) + } + if s.RowLength != nil && *s.RowLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("RowLength", 1)) } if invalidParams.Len() > 0 { @@ -7963,143 +10462,53 @@ func (s *DvbSubSourceSettings) Validate() error { return nil } -// SetPid sets the Pid field's value. -func (s *DvbSubSourceSettings) SetPid(v int64) *DvbSubSourceSettings { - s.Pid = &v +// SetColumnDepth sets the ColumnDepth field's value. +func (s *FecOutputSettings) SetColumnDepth(v int64) *FecOutputSettings { + s.ColumnDepth = &v return s } -// DVB Time and Date Table (SDT) -type DvbTdtSettings struct { - _ struct{} `type:"structure"` - - // The number of milliseconds between instances of this table in the output - // transport stream. - RepInterval *int64 `locationName:"repInterval" min:"1000" type:"integer"` -} - -// String returns the string representation -func (s DvbTdtSettings) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DvbTdtSettings) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DvbTdtSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DvbTdtSettings"} - if s.RepInterval != nil && *s.RepInterval < 1000 { - invalidParams.Add(request.NewErrParamMinValue("RepInterval", 1000)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIncludeFec sets the IncludeFec field's value. +func (s *FecOutputSettings) SetIncludeFec(v string) *FecOutputSettings { + s.IncludeFec = &v + return s } -// SetRepInterval sets the RepInterval field's value. -func (s *DvbTdtSettings) SetRepInterval(v int64) *DvbTdtSettings { - s.RepInterval = &v +// SetRowLength sets the RowLength field's value. +func (s *FecOutputSettings) SetRowLength(v int64) *FecOutputSettings { + s.RowLength = &v return s } -// Eac3 Settings -type Eac3Settings struct { +// Start time for the action. +type FixedModeScheduleActionStartSettings struct { _ struct{} `type:"structure"` - - // When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. - // Only used for 3/2 coding mode. - AttenuationControl *string `locationName:"attenuationControl" type:"string" enum:"Eac3AttenuationControl"` - - // Average bitrate in bits/second. Valid bitrates depend on the coding mode. - Bitrate *float64 `locationName:"bitrate" type:"double"` - - // Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC - // A/52-2012 (Annex E) for background on these values. - BitstreamMode *string `locationName:"bitstreamMode" type:"string" enum:"Eac3BitstreamMode"` - - // Dolby Digital Plus coding mode. Determines number of channels. - CodingMode *string `locationName:"codingMode" type:"string" enum:"Eac3CodingMode"` - - // When set to enabled, activates a DC highpass filter for all input channels. - DcFilter *string `locationName:"dcFilter" type:"string" enum:"Eac3DcFilter"` - - // Sets the dialnorm for the output. If blank and input audio is Dolby Digital - // Plus, dialnorm will be passed through. - Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` - - // Sets the Dolby dynamic range compression profile. - DrcLine *string `locationName:"drcLine" type:"string" enum:"Eac3DrcLine"` - - // Sets the profile for heavy Dolby dynamic range compression, ensures that - // the instantaneous signal peaks do not exceed specified levels. - DrcRf *string `locationName:"drcRf" type:"string" enum:"Eac3DrcRf"` - - // When encoding 3/2 audio, setting to lfe enables the LFE channel - LfeControl *string `locationName:"lfeControl" type:"string" enum:"Eac3LfeControl"` - - // When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior - // to encoding. Only valid with codingMode32 coding mode. - LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Eac3LfeFilter"` - - // Left only/Right only center mix level. Only used for 3/2 coding mode. - LoRoCenterMixLevel *float64 `locationName:"loRoCenterMixLevel" type:"double"` - - // Left only/Right only surround mix level. Only used for 3/2 coding mode. - LoRoSurroundMixLevel *float64 `locationName:"loRoSurroundMixLevel" type:"double"` - - // Left total/Right total center mix level. Only used for 3/2 coding mode. - LtRtCenterMixLevel *float64 `locationName:"ltRtCenterMixLevel" type:"double"` - - // Left total/Right total surround mix level. Only used for 3/2 coding mode. - LtRtSurroundMixLevel *float64 `locationName:"ltRtSurroundMixLevel" type:"double"` - - // When set to followInput, encoder metadata will be sourced from the DD, DD+, - // or DolbyE decoder that supplied this audio data. If audio was not supplied - // from one of these streams, then the static metadata settings will be used. - MetadataControl *string `locationName:"metadataControl" type:"string" enum:"Eac3MetadataControl"` - - // When set to whenPossible, input DD+ audio will be passed through if it is - // present on the input. This detection is dynamic over the life of the transcode. - // Inputs that alternate between DD+ and non-DD+ content will have a consistent - // DD+ output as the system alternates between passthrough and encoding. - PassthroughControl *string `locationName:"passthroughControl" type:"string" enum:"Eac3PassthroughControl"` - - // When set to shift90Degrees, applies a 90-degree phase shift to the surround - // channels. Only used for 3/2 coding mode. - PhaseControl *string `locationName:"phaseControl" type:"string" enum:"Eac3PhaseControl"` - - // Stereo downmix preference. Only used for 3/2 coding mode. - StereoDownmix *string `locationName:"stereoDownmix" type:"string" enum:"Eac3StereoDownmix"` - - // When encoding 3/2 audio, sets whether an extra center back surround channel - // is matrix encoded into the left and right surround channels. - SurroundExMode *string `locationName:"surroundExMode" type:"string" enum:"Eac3SurroundExMode"` - - // When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into - // the two channels. - SurroundMode *string `locationName:"surroundMode" type:"string" enum:"Eac3SurroundMode"` + + // Start time for the action to start in the channel. (Not the time for the + // action to be added to the schedule: actions are always added to the schedule + // immediately.) UTC format: yyyy-mm-ddThh:mm:ss.nnnZ. All the letters are digits + // (for example, mm might be 01) except for the two constants "T" for time and + // "Z" for "UTC format". + // + // Time is a required field + Time *string `locationName:"time" type:"string" required:"true"` } // String returns the string representation -func (s Eac3Settings) String() string { +func (s FixedModeScheduleActionStartSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Eac3Settings) GoString() string { +func (s FixedModeScheduleActionStartSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Eac3Settings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Eac3Settings"} - if s.Dialnorm != nil && *s.Dialnorm < 1 { - invalidParams.Add(request.NewErrParamMinValue("Dialnorm", 1)) +func (s *FixedModeScheduleActionStartSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FixedModeScheduleActionStartSettings"} + if s.Time == nil { + invalidParams.Add(request.NewErrParamRequired("Time")) } if invalidParams.Len() > 0 { @@ -8108,195 +10517,235 @@ func (s *Eac3Settings) Validate() error { return nil } -// SetAttenuationControl sets the AttenuationControl field's value. -func (s *Eac3Settings) SetAttenuationControl(v string) *Eac3Settings { - s.AttenuationControl = &v +// SetTime sets the Time field's value. +func (s *FixedModeScheduleActionStartSettings) SetTime(v string) *FixedModeScheduleActionStartSettings { + s.Time = &v return s } -// SetBitrate sets the Bitrate field's value. -func (s *Eac3Settings) SetBitrate(v float64) *Eac3Settings { - s.Bitrate = &v - return s -} +// Settings to specify if an action follows another. +type FollowModeScheduleActionStartSettings struct { + _ struct{} `type:"structure"` -// SetBitstreamMode sets the BitstreamMode field's value. -func (s *Eac3Settings) SetBitstreamMode(v string) *Eac3Settings { - s.BitstreamMode = &v - return s -} + // Identifies whether this action starts relative to the start or relative to + // the end of the reference action. + // + // FollowPoint is a required field + FollowPoint *string `locationName:"followPoint" type:"string" required:"true" enum:"FollowPoint"` -// SetCodingMode sets the CodingMode field's value. -func (s *Eac3Settings) SetCodingMode(v string) *Eac3Settings { - s.CodingMode = &v - return s + // The action name of another action that this one refers to. + // + // ReferenceActionName is a required field + ReferenceActionName *string `locationName:"referenceActionName" type:"string" required:"true"` } -// SetDcFilter sets the DcFilter field's value. -func (s *Eac3Settings) SetDcFilter(v string) *Eac3Settings { - s.DcFilter = &v - return s +// String returns the string representation +func (s FollowModeScheduleActionStartSettings) String() string { + return awsutil.Prettify(s) } -// SetDialnorm sets the Dialnorm field's value. -func (s *Eac3Settings) SetDialnorm(v int64) *Eac3Settings { - s.Dialnorm = &v - return s +// GoString returns the string representation +func (s FollowModeScheduleActionStartSettings) GoString() string { + return s.String() } -// SetDrcLine sets the DrcLine field's value. -func (s *Eac3Settings) SetDrcLine(v string) *Eac3Settings { - s.DrcLine = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *FollowModeScheduleActionStartSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FollowModeScheduleActionStartSettings"} + if s.FollowPoint == nil { + invalidParams.Add(request.NewErrParamRequired("FollowPoint")) + } + if s.ReferenceActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ReferenceActionName")) + } -// SetDrcRf sets the DrcRf field's value. -func (s *Eac3Settings) SetDrcRf(v string) *Eac3Settings { - s.DrcRf = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLfeControl sets the LfeControl field's value. -func (s *Eac3Settings) SetLfeControl(v string) *Eac3Settings { - s.LfeControl = &v +// SetFollowPoint sets the FollowPoint field's value. +func (s *FollowModeScheduleActionStartSettings) SetFollowPoint(v string) *FollowModeScheduleActionStartSettings { + s.FollowPoint = &v return s } -// SetLfeFilter sets the LfeFilter field's value. -func (s *Eac3Settings) SetLfeFilter(v string) *Eac3Settings { - s.LfeFilter = &v +// SetReferenceActionName sets the ReferenceActionName field's value. +func (s *FollowModeScheduleActionStartSettings) SetReferenceActionName(v string) *FollowModeScheduleActionStartSettings { + s.ReferenceActionName = &v return s } -// SetLoRoCenterMixLevel sets the LoRoCenterMixLevel field's value. -func (s *Eac3Settings) SetLoRoCenterMixLevel(v float64) *Eac3Settings { - s.LoRoCenterMixLevel = &v - return s -} +// Frame Capture Group Settings +type FrameCaptureGroupSettings struct { + _ struct{} `type:"structure"` -// SetLoRoSurroundMixLevel sets the LoRoSurroundMixLevel field's value. -func (s *Eac3Settings) SetLoRoSurroundMixLevel(v float64) *Eac3Settings { - s.LoRoSurroundMixLevel = &v - return s + // The destination for the frame capture files. Either the URI for an Amazon + // S3 bucket and object, plus a file name prefix (for example, s3ssl://sportsDelivery/highlights/20180820/curling_) + // or the URI for a MediaStore container, plus a file name prefix (for example, + // mediastoressl://sportsDelivery/20180820/curling_). The final file names consist + // of the prefix from the destination field (for example, "curling_") + name + // modifier + the counter (5 digits, starting from 00001) + extension (which + // is always .jpg). For example, curlingLow.00001.jpg + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` } -// SetLtRtCenterMixLevel sets the LtRtCenterMixLevel field's value. -func (s *Eac3Settings) SetLtRtCenterMixLevel(v float64) *Eac3Settings { - s.LtRtCenterMixLevel = &v - return s +// String returns the string representation +func (s FrameCaptureGroupSettings) String() string { + return awsutil.Prettify(s) } -// SetLtRtSurroundMixLevel sets the LtRtSurroundMixLevel field's value. -func (s *Eac3Settings) SetLtRtSurroundMixLevel(v float64) *Eac3Settings { - s.LtRtSurroundMixLevel = &v - return s +// GoString returns the string representation +func (s FrameCaptureGroupSettings) GoString() string { + return s.String() } -// SetMetadataControl sets the MetadataControl field's value. -func (s *Eac3Settings) SetMetadataControl(v string) *Eac3Settings { - s.MetadataControl = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *FrameCaptureGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FrameCaptureGroupSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPassthroughControl sets the PassthroughControl field's value. -func (s *Eac3Settings) SetPassthroughControl(v string) *Eac3Settings { - s.PassthroughControl = &v +// SetDestination sets the Destination field's value. +func (s *FrameCaptureGroupSettings) SetDestination(v *OutputLocationRef) *FrameCaptureGroupSettings { + s.Destination = v return s } -// SetPhaseControl sets the PhaseControl field's value. -func (s *Eac3Settings) SetPhaseControl(v string) *Eac3Settings { - s.PhaseControl = &v - return s +// Frame Capture Output Settings +type FrameCaptureOutputSettings struct { + _ struct{} `type:"structure"` + + // Required if the output group contains more than one output. This modifier + // forms part of the output file name. + NameModifier *string `locationName:"nameModifier" type:"string"` } -// SetStereoDownmix sets the StereoDownmix field's value. -func (s *Eac3Settings) SetStereoDownmix(v string) *Eac3Settings { - s.StereoDownmix = &v - return s +// String returns the string representation +func (s FrameCaptureOutputSettings) String() string { + return awsutil.Prettify(s) } -// SetSurroundExMode sets the SurroundExMode field's value. -func (s *Eac3Settings) SetSurroundExMode(v string) *Eac3Settings { - s.SurroundExMode = &v - return s +// GoString returns the string representation +func (s FrameCaptureOutputSettings) GoString() string { + return s.String() } -// SetSurroundMode sets the SurroundMode field's value. -func (s *Eac3Settings) SetSurroundMode(v string) *Eac3Settings { - s.SurroundMode = &v +// SetNameModifier sets the NameModifier field's value. +func (s *FrameCaptureOutputSettings) SetNameModifier(v string) *FrameCaptureOutputSettings { + s.NameModifier = &v return s } -// Embedded Destination Settings -type EmbeddedDestinationSettings struct { +// Frame Capture Settings +type FrameCaptureSettings struct { _ struct{} `type:"structure"` + + // The frequency at which to capture frames for inclusion in the output. May + // be specified in either seconds or milliseconds, as specified by captureIntervalUnits. + // + // CaptureInterval is a required field + CaptureInterval *int64 `locationName:"captureInterval" min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s EmbeddedDestinationSettings) String() string { +func (s FrameCaptureSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EmbeddedDestinationSettings) GoString() string { +func (s FrameCaptureSettings) GoString() string { return s.String() } -// Embedded Plus Scte20 Destination Settings -type EmbeddedPlusScte20DestinationSettings struct { - _ struct{} `type:"structure"` -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *FrameCaptureSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FrameCaptureSettings"} + if s.CaptureInterval == nil { + invalidParams.Add(request.NewErrParamRequired("CaptureInterval")) + } + if s.CaptureInterval != nil && *s.CaptureInterval < 1 { + invalidParams.Add(request.NewErrParamMinValue("CaptureInterval", 1)) + } -// String returns the string representation -func (s EmbeddedPlusScte20DestinationSettings) String() string { - return awsutil.Prettify(s) + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// GoString returns the string representation -func (s EmbeddedPlusScte20DestinationSettings) GoString() string { - return s.String() +// SetCaptureInterval sets the CaptureInterval field's value. +func (s *FrameCaptureSettings) SetCaptureInterval(v int64) *FrameCaptureSettings { + s.CaptureInterval = &v + return s } -// Embedded Source Settings -type EmbeddedSourceSettings struct { +// Global Configuration +type GlobalConfiguration struct { _ struct{} `type:"structure"` - // If upconvert, 608 data is both passed through via the "608 compatibility - // bytes" fields of the 708 wrapper as well as translated into 708. 708 data - // present in the source content will be discarded. - Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"EmbeddedConvert608To708"` + // Value to set the initial audio gain for the Live Event. + InitialAudioGain *int64 `locationName:"initialAudioGain" type:"integer"` - // Set to "auto" to handle streams with intermittent and/or non-aligned SCTE-20 - // and Embedded captions. - Scte20Detection *string `locationName:"scte20Detection" type:"string" enum:"EmbeddedScte20Detection"` + // Indicates the action to take when the current input completes (e.g. end-of-file). + // When switchAndLoopInputs is configured the encoder will restart at the beginning + // of the first input. When "none" is configured the encoder will transcode + // either black, a solid color, or a user specified slate images per the "Input + // Loss Behavior" configuration until the next input switch occurs (which is + // controlled through the Channel Schedule API). + InputEndAction *string `locationName:"inputEndAction" type:"string" enum:"GlobalConfigurationInputEndAction"` + + // Settings for system actions when input is lost. + InputLossBehavior *InputLossBehavior `locationName:"inputLossBehavior" type:"structure"` + + // Indicates how MediaLive pipelines are synchronized.PIPELINELOCKING - MediaLive + // will attempt to synchronize the output of each pipeline to the other.EPOCHLOCKING + // - MediaLive will attempt to synchronize the output of each pipeline to the + // Unix epoch. + OutputLockingMode *string `locationName:"outputLockingMode" type:"string" enum:"GlobalConfigurationOutputLockingMode"` - // Specifies the 608/708 channel number within the video track from which to - // extract captions. Unused for passthrough. - Source608ChannelNumber *int64 `locationName:"source608ChannelNumber" min:"1" type:"integer"` + // Indicates whether the rate of frames emitted by the Live encoder should be + // paced by its system clock (which optionally may be locked to another source + // via NTP) or should be locked to the clock of the source that is providing + // the input stream. + OutputTimingSource *string `locationName:"outputTimingSource" type:"string" enum:"GlobalConfigurationOutputTimingSource"` - // This field is unused and deprecated. - Source608TrackNumber *int64 `locationName:"source608TrackNumber" min:"1" type:"integer"` + // Adjusts video input buffer for streams with very low video framerates. This + // is commonly set to enabled for music channels with less than one video frame + // per second. + SupportLowFramerateInputs *string `locationName:"supportLowFramerateInputs" type:"string" enum:"GlobalConfigurationLowFramerateInputs"` } // String returns the string representation -func (s EmbeddedSourceSettings) String() string { +func (s GlobalConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EmbeddedSourceSettings) GoString() string { +func (s GlobalConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EmbeddedSourceSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EmbeddedSourceSettings"} - if s.Source608ChannelNumber != nil && *s.Source608ChannelNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("Source608ChannelNumber", 1)) +func (s *GlobalConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GlobalConfiguration"} + if s.InitialAudioGain != nil && *s.InitialAudioGain < -60 { + invalidParams.Add(request.NewErrParamMinValue("InitialAudioGain", -60)) } - if s.Source608TrackNumber != nil && *s.Source608TrackNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("Source608TrackNumber", 1)) + if s.InputLossBehavior != nil { + if err := s.InputLossBehavior.Validate(); err != nil { + invalidParams.AddNested("InputLossBehavior", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -8305,357 +10754,295 @@ func (s *EmbeddedSourceSettings) Validate() error { return nil } -// SetConvert608To708 sets the Convert608To708 field's value. -func (s *EmbeddedSourceSettings) SetConvert608To708(v string) *EmbeddedSourceSettings { - s.Convert608To708 = &v +// SetInitialAudioGain sets the InitialAudioGain field's value. +func (s *GlobalConfiguration) SetInitialAudioGain(v int64) *GlobalConfiguration { + s.InitialAudioGain = &v return s } -// SetScte20Detection sets the Scte20Detection field's value. -func (s *EmbeddedSourceSettings) SetScte20Detection(v string) *EmbeddedSourceSettings { - s.Scte20Detection = &v +// SetInputEndAction sets the InputEndAction field's value. +func (s *GlobalConfiguration) SetInputEndAction(v string) *GlobalConfiguration { + s.InputEndAction = &v return s } -// SetSource608ChannelNumber sets the Source608ChannelNumber field's value. -func (s *EmbeddedSourceSettings) SetSource608ChannelNumber(v int64) *EmbeddedSourceSettings { - s.Source608ChannelNumber = &v +// SetInputLossBehavior sets the InputLossBehavior field's value. +func (s *GlobalConfiguration) SetInputLossBehavior(v *InputLossBehavior) *GlobalConfiguration { + s.InputLossBehavior = v return s } -// SetSource608TrackNumber sets the Source608TrackNumber field's value. -func (s *EmbeddedSourceSettings) SetSource608TrackNumber(v int64) *EmbeddedSourceSettings { - s.Source608TrackNumber = &v +// SetOutputLockingMode sets the OutputLockingMode field's value. +func (s *GlobalConfiguration) SetOutputLockingMode(v string) *GlobalConfiguration { + s.OutputLockingMode = &v return s } -// Encoder Settings -type EncoderSettings struct { - _ struct{} `type:"structure"` - - // AudioDescriptions is a required field - AudioDescriptions []*AudioDescription `locationName:"audioDescriptions" type:"list" required:"true"` - - // Settings for ad avail blanking. - AvailBlanking *AvailBlanking `locationName:"availBlanking" type:"structure"` - - // Event-wide configuration settings for ad avail insertion. - AvailConfiguration *AvailConfiguration `locationName:"availConfiguration" type:"structure"` - - // Settings for blackout slate. - BlackoutSlate *BlackoutSlate `locationName:"blackoutSlate" type:"structure"` +// SetOutputTimingSource sets the OutputTimingSource field's value. +func (s *GlobalConfiguration) SetOutputTimingSource(v string) *GlobalConfiguration { + s.OutputTimingSource = &v + return s +} - // Settings for caption decriptions - CaptionDescriptions []*CaptionDescription `locationName:"captionDescriptions" type:"list"` +// SetSupportLowFramerateInputs sets the SupportLowFramerateInputs field's value. +func (s *GlobalConfiguration) SetSupportLowFramerateInputs(v string) *GlobalConfiguration { + s.SupportLowFramerateInputs = &v + return s +} - // Configuration settings that apply to the event as a whole. - GlobalConfiguration *GlobalConfiguration `locationName:"globalConfiguration" type:"structure"` +// H264 Color Space Settings +type H264ColorSpaceSettings struct { + _ struct{} `type:"structure"` - // OutputGroups is a required field - OutputGroups []*OutputGroup `locationName:"outputGroups" type:"list" required:"true"` + // Passthrough applies no color space conversion to the output + ColorSpacePassthroughSettings *ColorSpacePassthroughSettings `locationName:"colorSpacePassthroughSettings" type:"structure"` - // Contains settings used to acquire and adjust timecode information from inputs. - // - // TimecodeConfig is a required field - TimecodeConfig *TimecodeConfig `locationName:"timecodeConfig" type:"structure" required:"true"` + // Rec601 Settings + Rec601Settings *Rec601Settings `locationName:"rec601Settings" type:"structure"` - // VideoDescriptions is a required field - VideoDescriptions []*VideoDescription `locationName:"videoDescriptions" type:"list" required:"true"` + // Rec709 Settings + Rec709Settings *Rec709Settings `locationName:"rec709Settings" type:"structure"` } // String returns the string representation -func (s EncoderSettings) String() string { +func (s H264ColorSpaceSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EncoderSettings) GoString() string { +func (s H264ColorSpaceSettings) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *EncoderSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EncoderSettings"} - if s.AudioDescriptions == nil { - invalidParams.Add(request.NewErrParamRequired("AudioDescriptions")) - } - if s.OutputGroups == nil { - invalidParams.Add(request.NewErrParamRequired("OutputGroups")) - } - if s.TimecodeConfig == nil { - invalidParams.Add(request.NewErrParamRequired("TimecodeConfig")) - } - if s.VideoDescriptions == nil { - invalidParams.Add(request.NewErrParamRequired("VideoDescriptions")) - } - if s.AudioDescriptions != nil { - for i, v := range s.AudioDescriptions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioDescriptions", i), err.(request.ErrInvalidParams)) - } - } - } - if s.AvailBlanking != nil { - if err := s.AvailBlanking.Validate(); err != nil { - invalidParams.AddNested("AvailBlanking", err.(request.ErrInvalidParams)) - } - } - if s.AvailConfiguration != nil { - if err := s.AvailConfiguration.Validate(); err != nil { - invalidParams.AddNested("AvailConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.BlackoutSlate != nil { - if err := s.BlackoutSlate.Validate(); err != nil { - invalidParams.AddNested("BlackoutSlate", err.(request.ErrInvalidParams)) - } - } - if s.CaptionDescriptions != nil { - for i, v := range s.CaptionDescriptions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionDescriptions", i), err.(request.ErrInvalidParams)) - } - } - } - if s.GlobalConfiguration != nil { - if err := s.GlobalConfiguration.Validate(); err != nil { - invalidParams.AddNested("GlobalConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.OutputGroups != nil { - for i, v := range s.OutputGroups { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputGroups", i), err.(request.ErrInvalidParams)) - } - } - } - if s.TimecodeConfig != nil { - if err := s.TimecodeConfig.Validate(); err != nil { - invalidParams.AddNested("TimecodeConfig", err.(request.ErrInvalidParams)) - } - } - if s.VideoDescriptions != nil { - for i, v := range s.VideoDescriptions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VideoDescriptions", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAudioDescriptions sets the AudioDescriptions field's value. -func (s *EncoderSettings) SetAudioDescriptions(v []*AudioDescription) *EncoderSettings { - s.AudioDescriptions = v +// SetColorSpacePassthroughSettings sets the ColorSpacePassthroughSettings field's value. +func (s *H264ColorSpaceSettings) SetColorSpacePassthroughSettings(v *ColorSpacePassthroughSettings) *H264ColorSpaceSettings { + s.ColorSpacePassthroughSettings = v return s } -// SetAvailBlanking sets the AvailBlanking field's value. -func (s *EncoderSettings) SetAvailBlanking(v *AvailBlanking) *EncoderSettings { - s.AvailBlanking = v +// SetRec601Settings sets the Rec601Settings field's value. +func (s *H264ColorSpaceSettings) SetRec601Settings(v *Rec601Settings) *H264ColorSpaceSettings { + s.Rec601Settings = v return s } -// SetAvailConfiguration sets the AvailConfiguration field's value. -func (s *EncoderSettings) SetAvailConfiguration(v *AvailConfiguration) *EncoderSettings { - s.AvailConfiguration = v +// SetRec709Settings sets the Rec709Settings field's value. +func (s *H264ColorSpaceSettings) SetRec709Settings(v *Rec709Settings) *H264ColorSpaceSettings { + s.Rec709Settings = v return s } -// SetBlackoutSlate sets the BlackoutSlate field's value. -func (s *EncoderSettings) SetBlackoutSlate(v *BlackoutSlate) *EncoderSettings { - s.BlackoutSlate = v - return s -} +// H264 Settings +type H264Settings struct { + _ struct{} `type:"structure"` + + // Adaptive quantization. Allows intra-frame quantizers to vary to improve visual + // quality. + AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H264AdaptiveQuantization"` + + // Indicates that AFD values will be written into the output stream. If afdSignaling + // is "auto", the system will try to preserve the input AFD value (in cases + // where multiple AFD values are valid). If set to "fixed", the AFD value will + // be the value configured in the fixedAfd parameter. + AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"` + + // Average bitrate in bits/second. Required when the rate control mode is VBR + // or CBR. Not used for QVBR. In an MS Smooth output group, each output must + // have a unique value when its bitrate is rounded down to the nearest multiple + // of 1000. + Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"` + + // Percentage of the buffer that should initially be filled (HRD buffer model). + BufFillPct *int64 `locationName:"bufFillPct" type:"integer"` + + // Size of buffer (HRD buffer model) in bits. + BufSize *int64 `locationName:"bufSize" type:"integer"` + + // Includes colorspace metadata in the output. + ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"H264ColorMetadata"` + + // Color Space settings + ColorSpaceSettings *H264ColorSpaceSettings `locationName:"colorSpaceSettings" type:"structure"` + + // Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc. + EntropyEncoding *string `locationName:"entropyEncoding" type:"string" enum:"H264EntropyEncoding"` + + // Four bit AFD value to write on all frames of video in the output stream. + // Only valid when afdSignaling is set to 'Fixed'. + FixedAfd *string `locationName:"fixedAfd" type:"string" enum:"FixedAfd"` + + // If set to enabled, adjust quantization within each frame to reduce flicker + // or 'pop' on I-frames. + FlickerAq *string `locationName:"flickerAq" type:"string" enum:"H264FlickerAq"` + + // This field indicates how the output video frame rate is specified. If "specified" + // is selected then the output video frame rate is determined by framerateNumerator + // and framerateDenominator, else if "initializeFromSource" is selected then + // the output video frame rate will be set equal to the input video frame rate + // of the first input. + FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H264FramerateControl"` + + // Framerate denominator. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` -// SetCaptionDescriptions sets the CaptionDescriptions field's value. -func (s *EncoderSettings) SetCaptionDescriptions(v []*CaptionDescription) *EncoderSettings { - s.CaptionDescriptions = v - return s -} + // Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 + // fps. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` -// SetGlobalConfiguration sets the GlobalConfiguration field's value. -func (s *EncoderSettings) SetGlobalConfiguration(v *GlobalConfiguration) *EncoderSettings { - s.GlobalConfiguration = v - return s -} + // If enabled, use reference B frames for GOP structures that have B frames + // > 1. + GopBReference *string `locationName:"gopBReference" type:"string" enum:"H264GopBReference"` -// SetOutputGroups sets the OutputGroups field's value. -func (s *EncoderSettings) SetOutputGroups(v []*OutputGroup) *EncoderSettings { - s.OutputGroups = v - return s -} + // Frequency of closed GOPs. In streaming applications, it is recommended that + // this be set to 1 so a decoder joining mid-stream will receive an IDR frame + // as quickly as possible. Setting this value to 0 will break output segmenting. + GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"` -// SetTimecodeConfig sets the TimecodeConfig field's value. -func (s *EncoderSettings) SetTimecodeConfig(v *TimecodeConfig) *EncoderSettings { - s.TimecodeConfig = v - return s -} + // Number of B-frames between reference frames. + GopNumBFrames *int64 `locationName:"gopNumBFrames" type:"integer"` -// SetVideoDescriptions sets the VideoDescriptions field's value. -func (s *EncoderSettings) SetVideoDescriptions(v []*VideoDescription) *EncoderSettings { - s.VideoDescriptions = v - return s -} + // GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.If + // gopSizeUnits is frames, gopSize must be an integer and must be greater than + // or equal to 1.If gopSizeUnits is seconds, gopSize must be greater than 0, + // but need not be an integer. + GopSize *float64 `locationName:"gopSize" type:"double"` -// Fec Output Settings -type FecOutputSettings struct { - _ struct{} `type:"structure"` + // Indicates if the gopSize is specified in frames or seconds. If seconds the + // system will convert the gopSize into a frame count at run time. + GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H264GopSizeUnits"` - // Parameter D from SMPTE 2022-1. The height of the FEC protection matrix. The - // number of transport stream packets per column error correction packet. Must - // be between 4 and 20, inclusive. - ColumnDepth *int64 `locationName:"columnDepth" min:"4" type:"integer"` + // H.264 Level. + Level *string `locationName:"level" type:"string" enum:"H264Level"` - // Enables column only or column and row based FEC - IncludeFec *string `locationName:"includeFec" type:"string" enum:"FecOutputIncludeFec"` + // Amount of lookahead. A value of low can decrease latency and memory usage, + // while high can produce better quality for certain content. + LookAheadRateControl *string `locationName:"lookAheadRateControl" type:"string" enum:"H264LookAheadRateControl"` - // Parameter L from SMPTE 2022-1. The width of the FEC protection matrix. Must - // be between 1 and 20, inclusive. If only Column FEC is used, then larger values - // increase robustness. If Row FEC is used, then this is the number of transport - // stream packets per row error correction packet, and the value must be between - // 4 and 20, inclusive, if includeFec is columnAndRow. If includeFec is column, - // this value must be 1 to 20, inclusive. - RowLength *int64 `locationName:"rowLength" min:"1" type:"integer"` -} + // For QVBR: See the tooltip for Quality levelFor VBR: Set the maximum bitrate + // in order to accommodate expected spikes in the complexity of the video. + MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"` -// String returns the string representation -func (s FecOutputSettings) String() string { - return awsutil.Prettify(s) -} + // Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if + // multiplex rate control is used. Enforces separation between repeated (cadence) + // I-frames and I-frames inserted by Scene Change Detection. If a scene change + // I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk + // and/or stretched to the scene change I-frame. GOP stretch requires enabling + // lookahead as well as setting I-interval. The normal cadence resumes for the + // next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 + MinIInterval *int64 `locationName:"minIInterval" type:"integer"` -// GoString returns the string representation -func (s FecOutputSettings) GoString() string { - return s.String() -} + // Number of reference frames to use. The encoder may use more than requested + // if using B-frames and/or interlaced encoding. + NumRefFrames *int64 `locationName:"numRefFrames" min:"1" type:"integer"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *FecOutputSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FecOutputSettings"} - if s.ColumnDepth != nil && *s.ColumnDepth < 4 { - invalidParams.Add(request.NewErrParamMinValue("ColumnDepth", 4)) - } - if s.RowLength != nil && *s.RowLength < 1 { - invalidParams.Add(request.NewErrParamMinValue("RowLength", 1)) - } + // This field indicates how the output pixel aspect ratio is specified. If "specified" + // is selected then the output video pixel aspect ratio is determined by parNumerator + // and parDenominator, else if "initializeFromSource" is selected then the output + // pixsel aspect ratio will be set equal to the input video pixel aspect ratio + // of the first input. + ParControl *string `locationName:"parControl" type:"string" enum:"H264ParControl"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // Pixel Aspect Ratio denominator. + ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` -// SetColumnDepth sets the ColumnDepth field's value. -func (s *FecOutputSettings) SetColumnDepth(v int64) *FecOutputSettings { - s.ColumnDepth = &v - return s -} + // Pixel Aspect Ratio numerator. + ParNumerator *int64 `locationName:"parNumerator" type:"integer"` -// SetIncludeFec sets the IncludeFec field's value. -func (s *FecOutputSettings) SetIncludeFec(v string) *FecOutputSettings { - s.IncludeFec = &v - return s -} + // H.264 Profile. + Profile *string `locationName:"profile" type:"string" enum:"H264Profile"` -// SetRowLength sets the RowLength field's value. -func (s *FecOutputSettings) SetRowLength(v int64) *FecOutputSettings { - s.RowLength = &v - return s -} + // Controls the target quality for the video encode. Applies only when the rate + // control mode is QVBR. Set values for the QVBR quality level field and Max + // bitrate field that suit your most important viewing devices. Recommended + // values are:- Primary screen: Quality level: 8 to 10. Max bitrate: 4M- PC + // or tablet: Quality level: 7. Max bitrate: 1.5M to 3M- Smartphone: Quality + // level: 6. Max bitrate: 1M to 1.5M + QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer"` -// Start time for the action. -type FixedModeScheduleActionStartSettings struct { - _ struct{} `type:"structure"` + // Rate control mode.QVBR: Quality will match the specified quality level except + // when it is constrained by themaximum bitrate. Recommended if you or your + // viewers pay for bandwidth.VBR: Quality and bitrate vary, depending on the + // video complexity. Recommended instead of QVBRif you want to maintain a specific + // average bitrate over the duration of the channel.CBR: Quality varies, depending + // on the video complexity. Recommended only if you distributeyour assets to + // devices that cannot handle variable bitrates. + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H264RateControlMode"` - // Start time for the action to start in the channel. (Not the time for the - // action to be added to the schedule: actions are always added to the schedule - // immediately.) UTC format: yyyy-mm-ddThh:mm:ss.nnnZ. All the letters are digits - // (for example, mm might be 01) except for the two constants "T" for time and - // "Z" for "UTC format". - // - // Time is a required field - Time *string `locationName:"time" type:"string" required:"true"` -} + // Sets the scan type of the output to progressive or top-field-first interlaced. + ScanType *string `locationName:"scanType" type:"string" enum:"H264ScanType"` -// String returns the string representation -func (s FixedModeScheduleActionStartSettings) String() string { - return awsutil.Prettify(s) -} + // Scene change detection.- On: inserts I-frames when scene change is detected.- + // Off: does not force an I-frame when scene change is detected. + SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H264SceneChangeDetect"` -// GoString returns the string representation -func (s FixedModeScheduleActionStartSettings) GoString() string { - return s.String() -} + // Number of slices per picture. Must be less than or equal to the number of + // macroblock rows for progressive pictures, and less than or equal to half + // the number of macroblock rows for interlaced pictures.This field is optional; + // when no value is specified the encoder will choose the number of slices based + // on encode resolution. + Slices *int64 `locationName:"slices" min:"1" type:"integer"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *FixedModeScheduleActionStartSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FixedModeScheduleActionStartSettings"} - if s.Time == nil { - invalidParams.Add(request.NewErrParamRequired("Time")) - } + // Softness. Selects quantizer matrix, larger values reduce high-frequency content + // in the encoded image. + Softness *int64 `locationName:"softness" type:"integer"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // If set to enabled, adjust quantization within each frame based on spatial + // variation of content complexity. + SpatialAq *string `locationName:"spatialAq" type:"string" enum:"H264SpatialAq"` -// SetTime sets the Time field's value. -func (s *FixedModeScheduleActionStartSettings) SetTime(v string) *FixedModeScheduleActionStartSettings { - s.Time = &v - return s -} + // If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, + // optimize the number of B-frames used for each sub-GOP to improve visual quality. + SubgopLength *string `locationName:"subgopLength" type:"string" enum:"H264SubGopLength"` -// Settings to specify if an action follows another. -type FollowModeScheduleActionStartSettings struct { - _ struct{} `type:"structure"` + // Produces a bitstream compliant with SMPTE RP-2027. + Syntax *string `locationName:"syntax" type:"string" enum:"H264Syntax"` - // Identifies whether this action starts relative to the start or relative to - // the end of the reference action. - // - // FollowPoint is a required field - FollowPoint *string `locationName:"followPoint" type:"string" required:"true" enum:"FollowPoint"` + // If set to enabled, adjust quantization within each frame based on temporal + // variation of content complexity. + TemporalAq *string `locationName:"temporalAq" type:"string" enum:"H264TemporalAq"` - // The action name of another action that this one refers to. - // - // ReferenceActionName is a required field - ReferenceActionName *string `locationName:"referenceActionName" type:"string" required:"true"` + // Determines how timecodes should be inserted into the video elementary stream.- + // 'disabled': Do not include timecodes- 'picTimingSei': Pass through picture + // timing SEI messages from the source specified in Timecode Config + TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"H264TimecodeInsertionBehavior"` } // String returns the string representation -func (s FollowModeScheduleActionStartSettings) String() string { +func (s H264Settings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FollowModeScheduleActionStartSettings) GoString() string { +func (s H264Settings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *FollowModeScheduleActionStartSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FollowModeScheduleActionStartSettings"} - if s.FollowPoint == nil { - invalidParams.Add(request.NewErrParamRequired("FollowPoint")) +func (s *H264Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "H264Settings"} + if s.Bitrate != nil && *s.Bitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000)) } - if s.ReferenceActionName == nil { - invalidParams.Add(request.NewErrParamRequired("ReferenceActionName")) + 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.NumRefFrames != nil && *s.NumRefFrames < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumRefFrames", 1)) + } + if s.ParDenominator != nil && *s.ParDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + } + if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 { + invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1)) + } + if s.Slices != nil && *s.Slices < 1 { + invalidParams.Add(request.NewErrParamMinValue("Slices", 1)) } if invalidParams.Len() > 0 { @@ -8664,238 +11051,244 @@ func (s *FollowModeScheduleActionStartSettings) Validate() error { return nil } -// SetFollowPoint sets the FollowPoint field's value. -func (s *FollowModeScheduleActionStartSettings) SetFollowPoint(v string) *FollowModeScheduleActionStartSettings { - s.FollowPoint = &v +// SetAdaptiveQuantization sets the AdaptiveQuantization field's value. +func (s *H264Settings) SetAdaptiveQuantization(v string) *H264Settings { + s.AdaptiveQuantization = &v return s } -// SetReferenceActionName sets the ReferenceActionName field's value. -func (s *FollowModeScheduleActionStartSettings) SetReferenceActionName(v string) *FollowModeScheduleActionStartSettings { - s.ReferenceActionName = &v +// SetAfdSignaling sets the AfdSignaling field's value. +func (s *H264Settings) SetAfdSignaling(v string) *H264Settings { + s.AfdSignaling = &v return s } -// Frame Capture Group Settings -type FrameCaptureGroupSettings struct { - _ struct{} `type:"structure"` +// SetBitrate sets the Bitrate field's value. +func (s *H264Settings) SetBitrate(v int64) *H264Settings { + s.Bitrate = &v + return s +} - // The destination for the frame capture files. Either the URI for an Amazon - // S3 bucket and object, plus a file name prefix (for example, s3ssl://sportsDelivery/highlights/20180820/curling_) - // or the URI for a MediaStore container, plus a file name prefix (for example, - // mediastoressl://sportsDelivery/20180820/curling_). The final file names consist - // of the prefix from the destination field (for example, "curling_") + name - // modifier + the counter (5 digits, starting from 00001) + extension (which - // is always .jpg). For example, curlingLow.00001.jpg - // - // Destination is a required field - Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` +// SetBufFillPct sets the BufFillPct field's value. +func (s *H264Settings) SetBufFillPct(v int64) *H264Settings { + s.BufFillPct = &v + return s } -// String returns the string representation -func (s FrameCaptureGroupSettings) String() string { - return awsutil.Prettify(s) +// SetBufSize sets the BufSize field's value. +func (s *H264Settings) SetBufSize(v int64) *H264Settings { + s.BufSize = &v + return s } -// GoString returns the string representation -func (s FrameCaptureGroupSettings) GoString() string { - return s.String() +// SetColorMetadata sets the ColorMetadata field's value. +func (s *H264Settings) SetColorMetadata(v string) *H264Settings { + s.ColorMetadata = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *FrameCaptureGroupSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FrameCaptureGroupSettings"} - if s.Destination == nil { - invalidParams.Add(request.NewErrParamRequired("Destination")) - } +// SetColorSpaceSettings sets the ColorSpaceSettings field's value. +func (s *H264Settings) SetColorSpaceSettings(v *H264ColorSpaceSettings) *H264Settings { + s.ColorSpaceSettings = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEntropyEncoding sets the EntropyEncoding field's value. +func (s *H264Settings) SetEntropyEncoding(v string) *H264Settings { + s.EntropyEncoding = &v + return s } -// SetDestination sets the Destination field's value. -func (s *FrameCaptureGroupSettings) SetDestination(v *OutputLocationRef) *FrameCaptureGroupSettings { - s.Destination = v +// SetFixedAfd sets the FixedAfd field's value. +func (s *H264Settings) SetFixedAfd(v string) *H264Settings { + s.FixedAfd = &v return s } -// Frame Capture Output Settings -type FrameCaptureOutputSettings struct { - _ struct{} `type:"structure"` +// SetFlickerAq sets the FlickerAq field's value. +func (s *H264Settings) SetFlickerAq(v string) *H264Settings { + s.FlickerAq = &v + return s +} - // Required if the output group contains more than one output. This modifier - // forms part of the output file name. - NameModifier *string `locationName:"nameModifier" type:"string"` +// SetFramerateControl sets the FramerateControl field's value. +func (s *H264Settings) SetFramerateControl(v string) *H264Settings { + s.FramerateControl = &v + return s } -// String returns the string representation -func (s FrameCaptureOutputSettings) String() string { - return awsutil.Prettify(s) +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *H264Settings) SetFramerateDenominator(v int64) *H264Settings { + s.FramerateDenominator = &v + return s } -// GoString returns the string representation -func (s FrameCaptureOutputSettings) GoString() string { - return s.String() +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *H264Settings) SetFramerateNumerator(v int64) *H264Settings { + s.FramerateNumerator = &v + return s } -// SetNameModifier sets the NameModifier field's value. -func (s *FrameCaptureOutputSettings) SetNameModifier(v string) *FrameCaptureOutputSettings { - s.NameModifier = &v +// SetGopBReference sets the GopBReference field's value. +func (s *H264Settings) SetGopBReference(v string) *H264Settings { + s.GopBReference = &v return s } -// Frame Capture Settings -type FrameCaptureSettings struct { - _ struct{} `type:"structure"` +// SetGopClosedCadence sets the GopClosedCadence field's value. +func (s *H264Settings) SetGopClosedCadence(v int64) *H264Settings { + s.GopClosedCadence = &v + return s +} - // The frequency, in seconds, for capturing frames for inclusion in the output. - // For example, "10" means capture a frame every 10 seconds. - // - // CaptureInterval is a required field - CaptureInterval *int64 `locationName:"captureInterval" min:"1" type:"integer" required:"true"` +// SetGopNumBFrames sets the GopNumBFrames field's value. +func (s *H264Settings) SetGopNumBFrames(v int64) *H264Settings { + s.GopNumBFrames = &v + return s } -// String returns the string representation -func (s FrameCaptureSettings) String() string { - return awsutil.Prettify(s) +// SetGopSize sets the GopSize field's value. +func (s *H264Settings) SetGopSize(v float64) *H264Settings { + s.GopSize = &v + return s } -// GoString returns the string representation -func (s FrameCaptureSettings) GoString() string { - return s.String() +// SetGopSizeUnits sets the GopSizeUnits field's value. +func (s *H264Settings) SetGopSizeUnits(v string) *H264Settings { + s.GopSizeUnits = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *FrameCaptureSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FrameCaptureSettings"} - if s.CaptureInterval == nil { - invalidParams.Add(request.NewErrParamRequired("CaptureInterval")) - } - if s.CaptureInterval != nil && *s.CaptureInterval < 1 { - invalidParams.Add(request.NewErrParamMinValue("CaptureInterval", 1)) - } +// SetLevel sets the Level field's value. +func (s *H264Settings) SetLevel(v string) *H264Settings { + s.Level = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetLookAheadRateControl sets the LookAheadRateControl field's value. +func (s *H264Settings) SetLookAheadRateControl(v string) *H264Settings { + s.LookAheadRateControl = &v + return s } -// SetCaptureInterval sets the CaptureInterval field's value. -func (s *FrameCaptureSettings) SetCaptureInterval(v int64) *FrameCaptureSettings { - s.CaptureInterval = &v +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *H264Settings) SetMaxBitrate(v int64) *H264Settings { + s.MaxBitrate = &v return s } -// Global Configuration -type GlobalConfiguration struct { - _ struct{} `type:"structure"` +// SetMinIInterval sets the MinIInterval field's value. +func (s *H264Settings) SetMinIInterval(v int64) *H264Settings { + s.MinIInterval = &v + return s +} - // Value to set the initial audio gain for the Live Event. - InitialAudioGain *int64 `locationName:"initialAudioGain" type:"integer"` +// SetNumRefFrames sets the NumRefFrames field's value. +func (s *H264Settings) SetNumRefFrames(v int64) *H264Settings { + s.NumRefFrames = &v + return s +} - // Indicates the action to take when the current input completes (e.g. end-of-file). - // When switchAndLoopInputs is configured the encoder will restart at the beginning - // of the first input. When "none" is configured the encoder will transcode - // either black, a solid color, or a user specified slate images per the "Input - // Loss Behavior" configuration until the next input switch occurs (which is - // controlled through the Channel Schedule API). - InputEndAction *string `locationName:"inputEndAction" type:"string" enum:"GlobalConfigurationInputEndAction"` +// SetParControl sets the ParControl field's value. +func (s *H264Settings) SetParControl(v string) *H264Settings { + s.ParControl = &v + return s +} - // Settings for system actions when input is lost. - InputLossBehavior *InputLossBehavior `locationName:"inputLossBehavior" type:"structure"` +// SetParDenominator sets the ParDenominator field's value. +func (s *H264Settings) SetParDenominator(v int64) *H264Settings { + s.ParDenominator = &v + return s +} - // Indicates how MediaLive pipelines are synchronized.PIPELINELOCKING - MediaLive - // will attempt to synchronize the output of each pipeline to the other.EPOCHLOCKING - // - MediaLive will attempt to synchronize the output of each pipeline to the - // Unix epoch. - OutputLockingMode *string `locationName:"outputLockingMode" type:"string" enum:"GlobalConfigurationOutputLockingMode"` +// SetParNumerator sets the ParNumerator field's value. +func (s *H264Settings) SetParNumerator(v int64) *H264Settings { + s.ParNumerator = &v + return s +} - // Indicates whether the rate of frames emitted by the Live encoder should be - // paced by its system clock (which optionally may be locked to another source - // via NTP) or should be locked to the clock of the source that is providing - // the input stream. - OutputTimingSource *string `locationName:"outputTimingSource" type:"string" enum:"GlobalConfigurationOutputTimingSource"` +// SetProfile sets the Profile field's value. +func (s *H264Settings) SetProfile(v string) *H264Settings { + s.Profile = &v + return s +} - // Adjusts video input buffer for streams with very low video framerates. This - // is commonly set to enabled for music channels with less than one video frame - // per second. - SupportLowFramerateInputs *string `locationName:"supportLowFramerateInputs" type:"string" enum:"GlobalConfigurationLowFramerateInputs"` +// SetQvbrQualityLevel sets the QvbrQualityLevel field's value. +func (s *H264Settings) SetQvbrQualityLevel(v int64) *H264Settings { + s.QvbrQualityLevel = &v + return s } -// String returns the string representation -func (s GlobalConfiguration) String() string { - return awsutil.Prettify(s) +// SetRateControlMode sets the RateControlMode field's value. +func (s *H264Settings) SetRateControlMode(v string) *H264Settings { + s.RateControlMode = &v + return s } -// GoString returns the string representation -func (s GlobalConfiguration) GoString() string { - return s.String() +// SetScanType sets the ScanType field's value. +func (s *H264Settings) SetScanType(v string) *H264Settings { + s.ScanType = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GlobalConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GlobalConfiguration"} - if s.InitialAudioGain != nil && *s.InitialAudioGain < -60 { - invalidParams.Add(request.NewErrParamMinValue("InitialAudioGain", -60)) - } - if s.InputLossBehavior != nil { - if err := s.InputLossBehavior.Validate(); err != nil { - invalidParams.AddNested("InputLossBehavior", err.(request.ErrInvalidParams)) - } - } +// SetSceneChangeDetect sets the SceneChangeDetect field's value. +func (s *H264Settings) SetSceneChangeDetect(v string) *H264Settings { + s.SceneChangeDetect = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSlices sets the Slices field's value. +func (s *H264Settings) SetSlices(v int64) *H264Settings { + s.Slices = &v + return s } -// SetInitialAudioGain sets the InitialAudioGain field's value. -func (s *GlobalConfiguration) SetInitialAudioGain(v int64) *GlobalConfiguration { - s.InitialAudioGain = &v +// SetSoftness sets the Softness field's value. +func (s *H264Settings) SetSoftness(v int64) *H264Settings { + s.Softness = &v return s } -// SetInputEndAction sets the InputEndAction field's value. -func (s *GlobalConfiguration) SetInputEndAction(v string) *GlobalConfiguration { - s.InputEndAction = &v +// SetSpatialAq sets the SpatialAq field's value. +func (s *H264Settings) SetSpatialAq(v string) *H264Settings { + s.SpatialAq = &v return s } -// SetInputLossBehavior sets the InputLossBehavior field's value. -func (s *GlobalConfiguration) SetInputLossBehavior(v *InputLossBehavior) *GlobalConfiguration { - s.InputLossBehavior = v +// SetSubgopLength sets the SubgopLength field's value. +func (s *H264Settings) SetSubgopLength(v string) *H264Settings { + s.SubgopLength = &v return s } -// SetOutputLockingMode sets the OutputLockingMode field's value. -func (s *GlobalConfiguration) SetOutputLockingMode(v string) *GlobalConfiguration { - s.OutputLockingMode = &v +// SetSyntax sets the Syntax field's value. +func (s *H264Settings) SetSyntax(v string) *H264Settings { + s.Syntax = &v return s } -// SetOutputTimingSource sets the OutputTimingSource field's value. -func (s *GlobalConfiguration) SetOutputTimingSource(v string) *GlobalConfiguration { - s.OutputTimingSource = &v +// SetTemporalAq sets the TemporalAq field's value. +func (s *H264Settings) SetTemporalAq(v string) *H264Settings { + s.TemporalAq = &v return s } -// SetSupportLowFramerateInputs sets the SupportLowFramerateInputs field's value. -func (s *GlobalConfiguration) SetSupportLowFramerateInputs(v string) *GlobalConfiguration { - s.SupportLowFramerateInputs = &v +// SetTimecodeInsertion sets the TimecodeInsertion field's value. +func (s *H264Settings) SetTimecodeInsertion(v string) *H264Settings { + s.TimecodeInsertion = &v return s } -// H264 Color Space Settings -type H264ColorSpaceSettings struct { +// H265 Color Space Settings +type H265ColorSpaceSettings struct { _ struct{} `type:"structure"` // Passthrough applies no color space conversion to the output ColorSpacePassthroughSettings *ColorSpacePassthroughSettings `locationName:"colorSpacePassthroughSettings" type:"structure"` + // Hdr10 Settings + Hdr10Settings *Hdr10Settings `locationName:"hdr10Settings" type:"structure"` + // Rec601 Settings Rec601Settings *Rec601Settings `locationName:"rec601Settings" type:"structure"` @@ -8904,40 +11297,46 @@ type H264ColorSpaceSettings struct { } // String returns the string representation -func (s H264ColorSpaceSettings) String() string { +func (s H265ColorSpaceSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s H264ColorSpaceSettings) GoString() string { +func (s H265ColorSpaceSettings) GoString() string { return s.String() } // SetColorSpacePassthroughSettings sets the ColorSpacePassthroughSettings field's value. -func (s *H264ColorSpaceSettings) SetColorSpacePassthroughSettings(v *ColorSpacePassthroughSettings) *H264ColorSpaceSettings { +func (s *H265ColorSpaceSettings) SetColorSpacePassthroughSettings(v *ColorSpacePassthroughSettings) *H265ColorSpaceSettings { s.ColorSpacePassthroughSettings = v return s } +// SetHdr10Settings sets the Hdr10Settings field's value. +func (s *H265ColorSpaceSettings) SetHdr10Settings(v *Hdr10Settings) *H265ColorSpaceSettings { + s.Hdr10Settings = v + return s +} + // SetRec601Settings sets the Rec601Settings field's value. -func (s *H264ColorSpaceSettings) SetRec601Settings(v *Rec601Settings) *H264ColorSpaceSettings { +func (s *H265ColorSpaceSettings) SetRec601Settings(v *Rec601Settings) *H265ColorSpaceSettings { s.Rec601Settings = v return s } // SetRec709Settings sets the Rec709Settings field's value. -func (s *H264ColorSpaceSettings) SetRec709Settings(v *Rec709Settings) *H264ColorSpaceSettings { +func (s *H265ColorSpaceSettings) SetRec709Settings(v *Rec709Settings) *H265ColorSpaceSettings { s.Rec709Settings = v return s } -// H264 Settings -type H264Settings struct { +// H265 Settings +type H265Settings struct { _ struct{} `type:"structure"` // Adaptive quantization. Allows intra-frame quantizers to vary to improve visual // quality. - AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H264AdaptiveQuantization"` + AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H265AdaptiveQuantization"` // Indicates that AFD values will be written into the output stream. If afdSignaling // is "auto", the system will try to preserve the input AFD value (in cases @@ -8945,26 +11344,24 @@ type H264Settings struct { // be the value configured in the fixedAfd parameter. AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"` + // Whether or not EML should insert an Alternative Transfer Function SEI message + // to support backwards compatibility with non-HDR decoders and displays. + AlternativeTransferFunction *string `locationName:"alternativeTransferFunction" type:"string" enum:"H265AlternativeTransferFunction"` + // Average bitrate in bits/second. Required when the rate control mode is VBR // or CBR. Not used for QVBR. In an MS Smooth output group, each output must // have a unique value when its bitrate is rounded down to the nearest multiple // of 1000. - Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"` - - // Percentage of the buffer that should initially be filled (HRD buffer model). - BufFillPct *int64 `locationName:"bufFillPct" type:"integer"` + Bitrate *int64 `locationName:"bitrate" min:"100000" type:"integer"` // Size of buffer (HRD buffer model) in bits. - BufSize *int64 `locationName:"bufSize" type:"integer"` + BufSize *int64 `locationName:"bufSize" min:"100000" type:"integer"` // Includes colorspace metadata in the output. - ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"H264ColorMetadata"` + ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"H265ColorMetadata"` // Color Space settings - ColorSpaceSettings *H264ColorSpaceSettings `locationName:"colorSpaceSettings" type:"structure"` - - // Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc. - EntropyEncoding *string `locationName:"entropyEncoding" type:"string" enum:"H264EntropyEncoding"` + ColorSpaceSettings *H265ColorSpaceSettings `locationName:"colorSpaceSettings" type:"structure"` // Four bit AFD value to write on all frames of video in the output stream. // Only valid when afdSignaling is set to 'Fixed'. @@ -8972,81 +11369,61 @@ type H264Settings struct { // If set to enabled, adjust quantization within each frame to reduce flicker // or 'pop' on I-frames. - FlickerAq *string `locationName:"flickerAq" type:"string" enum:"H264FlickerAq"` - - // This field indicates how the output video frame rate is specified. If "specified" - // is selected then the output video frame rate is determined by framerateNumerator - // and framerateDenominator, else if "initializeFromSource" is selected then - // the output video frame rate will be set equal to the input video frame rate - // of the first input. - FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H264FramerateControl"` + FlickerAq *string `locationName:"flickerAq" type:"string" enum:"H265FlickerAq"` // Framerate denominator. - FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` + // + // FramerateDenominator is a required field + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer" required:"true"` // Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 // fps. - FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` - - // If enabled, use reference B frames for GOP structures that have B frames - // > 1. - GopBReference *string `locationName:"gopBReference" type:"string" enum:"H264GopBReference"` + // + // FramerateNumerator is a required field + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer" required:"true"` // Frequency of closed GOPs. In streaming applications, it is recommended that // this be set to 1 so a decoder joining mid-stream will receive an IDR frame // as quickly as possible. Setting this value to 0 will break output segmenting. GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"` - // Number of B-frames between reference frames. - GopNumBFrames *int64 `locationName:"gopNumBFrames" type:"integer"` - - // GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. - // Must be greater than zero. + // GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.If + // gopSizeUnits is frames, gopSize must be an integer and must be greater than + // or equal to 1.If gopSizeUnits is seconds, gopSize must be greater than 0, + // but need not be an integer. GopSize *float64 `locationName:"gopSize" type:"double"` // Indicates if the gopSize is specified in frames or seconds. If seconds the // system will convert the gopSize into a frame count at run time. - GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H264GopSizeUnits"` + GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H265GopSizeUnits"` - // H.264 Level. - Level *string `locationName:"level" type:"string" enum:"H264Level"` + // H.265 Level. + Level *string `locationName:"level" type:"string" enum:"H265Level"` // Amount of lookahead. A value of low can decrease latency and memory usage, // while high can produce better quality for certain content. - LookAheadRateControl *string `locationName:"lookAheadRateControl" type:"string" enum:"H264LookAheadRateControl"` + LookAheadRateControl *string `locationName:"lookAheadRateControl" type:"string" enum:"H265LookAheadRateControl"` - // For QVBR: See the tooltip for Quality levelFor VBR: Set the maximum bitrate - // in order to accommodate expected spikes in the complexity of the video. - MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"` + // For QVBR: See the tooltip for Quality level + MaxBitrate *int64 `locationName:"maxBitrate" min:"100000" type:"integer"` - // Only meaningful if sceneChangeDetect is set to enabled. Enforces separation - // between repeated (cadence) I-frames and I-frames inserted by Scene Change - // Detection. If a scene change I-frame is within I-interval frames of a cadence - // I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. - // GOP stretch requires enabling lookahead as well as setting I-interval. The - // normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP - // size + Min-I-interval - 1 + // Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if + // multiplex rate control is used. Enforces separation between repeated (cadence) + // I-frames and I-frames inserted by Scene Change Detection. If a scene change + // I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk + // and/or stretched to the scene change I-frame. GOP stretch requires enabling + // lookahead as well as setting I-interval. The normal cadence resumes for the + // next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1 MinIInterval *int64 `locationName:"minIInterval" type:"integer"` - // Number of reference frames to use. The encoder may use more than requested - // if using B-frames and/or interlaced encoding. - NumRefFrames *int64 `locationName:"numRefFrames" min:"1" type:"integer"` - - // This field indicates how the output pixel aspect ratio is specified. If "specified" - // is selected then the output video pixel aspect ratio is determined by parNumerator - // and parDenominator, else if "initializeFromSource" is selected then the output - // pixsel aspect ratio will be set equal to the input video pixel aspect ratio - // of the first input. - ParControl *string `locationName:"parControl" type:"string" enum:"H264ParControl"` - // Pixel Aspect Ratio denominator. ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` // Pixel Aspect Ratio numerator. - ParNumerator *int64 `locationName:"parNumerator" type:"integer"` + ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` - // H.264 Profile. - Profile *string `locationName:"profile" type:"string" enum:"H264Profile"` + // H.265 Profile. + Profile *string `locationName:"profile" type:"string" enum:"H265Profile"` // Controls the target quality for the video encode. Applies only when the rate // control mode is QVBR. Set values for the QVBR quality level field and Max @@ -9058,19 +11435,16 @@ type H264Settings struct { // Rate control mode.QVBR: Quality will match the specified quality level except // when it is constrained by themaximum bitrate. Recommended if you or your - // viewers pay for bandwidth.VBR: Quality and bitrate vary, depending on the - // video complexity. Recommended instead of QVBRif you want to maintain a specific - // average bitrate over the duration of the channel.CBR: Quality varies, depending - // on the video complexity. Recommended only if you distributeyour assets to - // devices that cannot handle variable bitrates. - RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H264RateControlMode"` + // viewers pay for bandwidth.CBR: Quality varies, depending on the video complexity. + // Recommended only if you distributeyour assets to devices that cannot handle + // variable bitrates. + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H265RateControlMode"` // Sets the scan type of the output to progressive or top-field-first interlaced. - ScanType *string `locationName:"scanType" type:"string" enum:"H264ScanType"` + ScanType *string `locationName:"scanType" type:"string" enum:"H265ScanType"` - // Scene change detection.- On: inserts I-frames when scene change is detected.- - // Off: does not force an I-frame when scene change is detected. - SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H264SceneChangeDetect"` + // Scene change detection. + SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H265SceneChangeDetect"` // Number of slices per picture. Must be less than or equal to the number of // macroblock rows for progressive pictures, and less than or equal to half @@ -9079,62 +11453,55 @@ type H264Settings struct { // on encode resolution. Slices *int64 `locationName:"slices" min:"1" type:"integer"` - // Softness. Selects quantizer matrix, larger values reduce high-frequency content - // in the encoded image. - Softness *int64 `locationName:"softness" type:"integer"` - - // If set to enabled, adjust quantization within each frame based on spatial - // variation of content complexity. - SpatialAq *string `locationName:"spatialAq" type:"string" enum:"H264SpatialAq"` - - // If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, - // optimize the number of B-frames used for each sub-GOP to improve visual quality. - SubgopLength *string `locationName:"subgopLength" type:"string" enum:"H264SubGopLength"` - - // Produces a bitstream compliant with SMPTE RP-2027. - Syntax *string `locationName:"syntax" type:"string" enum:"H264Syntax"` - - // If set to enabled, adjust quantization within each frame based on temporal - // variation of content complexity. - TemporalAq *string `locationName:"temporalAq" type:"string" enum:"H264TemporalAq"` + // H.265 Tier. + Tier *string `locationName:"tier" type:"string" enum:"H265Tier"` // Determines how timecodes should be inserted into the video elementary stream.- // 'disabled': Do not include timecodes- 'picTimingSei': Pass through picture // timing SEI messages from the source specified in Timecode Config - TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"H264TimecodeInsertionBehavior"` + TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"H265TimecodeInsertionBehavior"` } // String returns the string representation -func (s H264Settings) String() string { +func (s H265Settings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s H264Settings) GoString() string { +func (s H265Settings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *H264Settings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "H264Settings"} - if s.Bitrate != nil && *s.Bitrate < 1000 { - invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000)) +func (s *H265Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "H265Settings"} + if s.Bitrate != nil && *s.Bitrate < 100000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 100000)) + } + if s.BufSize != nil && *s.BufSize < 100000 { + invalidParams.Add(request.NewErrParamMinValue("BufSize", 100000)) + } + if s.FramerateDenominator == nil { + invalidParams.Add(request.NewErrParamRequired("FramerateDenominator")) } if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) } + if s.FramerateNumerator == nil { + invalidParams.Add(request.NewErrParamRequired("FramerateNumerator")) + } 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.NumRefFrames != nil && *s.NumRefFrames < 1 { - invalidParams.Add(request.NewErrParamMinValue("NumRefFrames", 1)) + if s.MaxBitrate != nil && *s.MaxBitrate < 100000 { + invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 100000)) } 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 s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 { invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1)) } @@ -9149,459 +11516,633 @@ func (s *H264Settings) Validate() error { } // SetAdaptiveQuantization sets the AdaptiveQuantization field's value. -func (s *H264Settings) SetAdaptiveQuantization(v string) *H264Settings { +func (s *H265Settings) SetAdaptiveQuantization(v string) *H265Settings { s.AdaptiveQuantization = &v return s } // SetAfdSignaling sets the AfdSignaling field's value. -func (s *H264Settings) SetAfdSignaling(v string) *H264Settings { +func (s *H265Settings) SetAfdSignaling(v string) *H265Settings { s.AfdSignaling = &v return s } -// SetBitrate sets the Bitrate field's value. -func (s *H264Settings) SetBitrate(v int64) *H264Settings { - s.Bitrate = &v +// SetAlternativeTransferFunction sets the AlternativeTransferFunction field's value. +func (s *H265Settings) SetAlternativeTransferFunction(v string) *H265Settings { + s.AlternativeTransferFunction = &v return s } -// SetBufFillPct sets the BufFillPct field's value. -func (s *H264Settings) SetBufFillPct(v int64) *H264Settings { - s.BufFillPct = &v +// SetBitrate sets the Bitrate field's value. +func (s *H265Settings) SetBitrate(v int64) *H265Settings { + s.Bitrate = &v return s } // SetBufSize sets the BufSize field's value. -func (s *H264Settings) SetBufSize(v int64) *H264Settings { +func (s *H265Settings) SetBufSize(v int64) *H265Settings { s.BufSize = &v return s } // SetColorMetadata sets the ColorMetadata field's value. -func (s *H264Settings) SetColorMetadata(v string) *H264Settings { +func (s *H265Settings) SetColorMetadata(v string) *H265Settings { s.ColorMetadata = &v return s } // SetColorSpaceSettings sets the ColorSpaceSettings field's value. -func (s *H264Settings) SetColorSpaceSettings(v *H264ColorSpaceSettings) *H264Settings { +func (s *H265Settings) SetColorSpaceSettings(v *H265ColorSpaceSettings) *H265Settings { s.ColorSpaceSettings = v return s } -// SetEntropyEncoding sets the EntropyEncoding field's value. -func (s *H264Settings) SetEntropyEncoding(v string) *H264Settings { - s.EntropyEncoding = &v - return s -} - // SetFixedAfd sets the FixedAfd field's value. -func (s *H264Settings) SetFixedAfd(v string) *H264Settings { +func (s *H265Settings) SetFixedAfd(v string) *H265Settings { s.FixedAfd = &v return s } // SetFlickerAq sets the FlickerAq field's value. -func (s *H264Settings) SetFlickerAq(v string) *H264Settings { - s.FlickerAq = &v - return s -} - -// SetFramerateControl sets the FramerateControl field's value. -func (s *H264Settings) SetFramerateControl(v string) *H264Settings { - s.FramerateControl = &v +func (s *H265Settings) SetFlickerAq(v string) *H265Settings { + s.FlickerAq = &v return s } // SetFramerateDenominator sets the FramerateDenominator field's value. -func (s *H264Settings) SetFramerateDenominator(v int64) *H264Settings { +func (s *H265Settings) SetFramerateDenominator(v int64) *H265Settings { s.FramerateDenominator = &v return s } // SetFramerateNumerator sets the FramerateNumerator field's value. -func (s *H264Settings) SetFramerateNumerator(v int64) *H264Settings { +func (s *H265Settings) SetFramerateNumerator(v int64) *H265Settings { s.FramerateNumerator = &v return s } -// SetGopBReference sets the GopBReference field's value. -func (s *H264Settings) SetGopBReference(v string) *H264Settings { - s.GopBReference = &v - return s -} - // SetGopClosedCadence sets the GopClosedCadence field's value. -func (s *H264Settings) SetGopClosedCadence(v int64) *H264Settings { +func (s *H265Settings) SetGopClosedCadence(v int64) *H265Settings { s.GopClosedCadence = &v return s } -// SetGopNumBFrames sets the GopNumBFrames field's value. -func (s *H264Settings) SetGopNumBFrames(v int64) *H264Settings { - s.GopNumBFrames = &v - return s -} - // SetGopSize sets the GopSize field's value. -func (s *H264Settings) SetGopSize(v float64) *H264Settings { +func (s *H265Settings) SetGopSize(v float64) *H265Settings { s.GopSize = &v return s } // SetGopSizeUnits sets the GopSizeUnits field's value. -func (s *H264Settings) SetGopSizeUnits(v string) *H264Settings { +func (s *H265Settings) SetGopSizeUnits(v string) *H265Settings { s.GopSizeUnits = &v return s } // SetLevel sets the Level field's value. -func (s *H264Settings) SetLevel(v string) *H264Settings { +func (s *H265Settings) SetLevel(v string) *H265Settings { s.Level = &v return s } // SetLookAheadRateControl sets the LookAheadRateControl field's value. -func (s *H264Settings) SetLookAheadRateControl(v string) *H264Settings { +func (s *H265Settings) SetLookAheadRateControl(v string) *H265Settings { s.LookAheadRateControl = &v return s } // SetMaxBitrate sets the MaxBitrate field's value. -func (s *H264Settings) SetMaxBitrate(v int64) *H264Settings { +func (s *H265Settings) SetMaxBitrate(v int64) *H265Settings { s.MaxBitrate = &v return s } // SetMinIInterval sets the MinIInterval field's value. -func (s *H264Settings) SetMinIInterval(v int64) *H264Settings { +func (s *H265Settings) SetMinIInterval(v int64) *H265Settings { s.MinIInterval = &v return s } -// SetNumRefFrames sets the NumRefFrames field's value. -func (s *H264Settings) SetNumRefFrames(v int64) *H264Settings { - s.NumRefFrames = &v - return s -} - -// SetParControl sets the ParControl field's value. -func (s *H264Settings) SetParControl(v string) *H264Settings { - s.ParControl = &v - return s -} - // SetParDenominator sets the ParDenominator field's value. -func (s *H264Settings) SetParDenominator(v int64) *H264Settings { +func (s *H265Settings) SetParDenominator(v int64) *H265Settings { s.ParDenominator = &v return s } // SetParNumerator sets the ParNumerator field's value. -func (s *H264Settings) SetParNumerator(v int64) *H264Settings { +func (s *H265Settings) SetParNumerator(v int64) *H265Settings { s.ParNumerator = &v return s } // SetProfile sets the Profile field's value. -func (s *H264Settings) SetProfile(v string) *H264Settings { +func (s *H265Settings) SetProfile(v string) *H265Settings { s.Profile = &v return s } // SetQvbrQualityLevel sets the QvbrQualityLevel field's value. -func (s *H264Settings) SetQvbrQualityLevel(v int64) *H264Settings { +func (s *H265Settings) SetQvbrQualityLevel(v int64) *H265Settings { s.QvbrQualityLevel = &v return s } // SetRateControlMode sets the RateControlMode field's value. -func (s *H264Settings) SetRateControlMode(v string) *H264Settings { +func (s *H265Settings) SetRateControlMode(v string) *H265Settings { s.RateControlMode = &v return s } // SetScanType sets the ScanType field's value. -func (s *H264Settings) SetScanType(v string) *H264Settings { +func (s *H265Settings) SetScanType(v string) *H265Settings { s.ScanType = &v return s } // SetSceneChangeDetect sets the SceneChangeDetect field's value. -func (s *H264Settings) SetSceneChangeDetect(v string) *H264Settings { +func (s *H265Settings) SetSceneChangeDetect(v string) *H265Settings { s.SceneChangeDetect = &v return s } // SetSlices sets the Slices field's value. -func (s *H264Settings) SetSlices(v int64) *H264Settings { +func (s *H265Settings) SetSlices(v int64) *H265Settings { s.Slices = &v return s } -// SetSoftness sets the Softness field's value. -func (s *H264Settings) SetSoftness(v int64) *H264Settings { - s.Softness = &v +// SetTier sets the Tier field's value. +func (s *H265Settings) SetTier(v string) *H265Settings { + s.Tier = &v return s } -// SetSpatialAq sets the SpatialAq field's value. -func (s *H264Settings) SetSpatialAq(v string) *H264Settings { - s.SpatialAq = &v +// SetTimecodeInsertion sets the TimecodeInsertion field's value. +func (s *H265Settings) SetTimecodeInsertion(v string) *H265Settings { + s.TimecodeInsertion = &v return s } -// SetSubgopLength sets the SubgopLength field's value. -func (s *H264Settings) SetSubgopLength(v string) *H264Settings { - s.SubgopLength = &v +// Hdr10 Settings +type Hdr10Settings struct { + _ struct{} `type:"structure"` + + // Maximum Content Light LevelAn integer metadata value defining the maximum + // light level, in nits,of any single pixel within an encoded HDR video stream + // or file. + MaxCll *int64 `locationName:"maxCll" type:"integer"` + + // Maximum Frame Average Light LevelAn integer metadata value defining the maximum + // average light level, in nits,for any single frame within an encoded HDR video + // stream or file. + MaxFall *int64 `locationName:"maxFall" type:"integer"` +} + +// String returns the string representation +func (s Hdr10Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Hdr10Settings) GoString() string { + return s.String() +} + +// SetMaxCll sets the MaxCll field's value. +func (s *Hdr10Settings) SetMaxCll(v int64) *Hdr10Settings { + s.MaxCll = &v return s } -// SetSyntax sets the Syntax field's value. -func (s *H264Settings) SetSyntax(v string) *H264Settings { - s.Syntax = &v +// SetMaxFall sets the MaxFall field's value. +func (s *Hdr10Settings) SetMaxFall(v int64) *Hdr10Settings { + s.MaxFall = &v return s } -// SetTemporalAq sets the TemporalAq field's value. -func (s *H264Settings) SetTemporalAq(v string) *H264Settings { - s.TemporalAq = &v +// Hls Akamai Settings +type HlsAkamaiSettings struct { + _ struct{} `type:"structure"` + + // Number of seconds to wait before retrying connection to the CDN if the connection + // is lost. + ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` + + // Size in seconds of file cache for streaming outputs. + FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` + + // Specify whether or not to use chunked transfer encoding to Akamai. User should + // contact Akamai to enable this feature. + HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsAkamaiHttpTransferMode"` + + // Number of retry attempts that will be made before the Live Event is put into + // an error state. + NumRetries *int64 `locationName:"numRetries" type:"integer"` + + // If a streaming output fails, number of seconds to wait until a restart is + // initiated. A value of 0 means never restart. + RestartDelay *int64 `locationName:"restartDelay" type:"integer"` + + // Salt for authenticated Akamai. + Salt *string `locationName:"salt" type:"string"` + + // Token parameter for authenticated akamai. If not specified, _gda_ is used. + Token *string `locationName:"token" type:"string"` +} + +// String returns the string representation +func (s HlsAkamaiSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsAkamaiSettings) GoString() string { + return s.String() +} + +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *HlsAkamaiSettings) SetConnectionRetryInterval(v int64) *HlsAkamaiSettings { + s.ConnectionRetryInterval = &v return s } -// SetTimecodeInsertion sets the TimecodeInsertion field's value. -func (s *H264Settings) SetTimecodeInsertion(v string) *H264Settings { - s.TimecodeInsertion = &v +// SetFilecacheDuration sets the FilecacheDuration field's value. +func (s *HlsAkamaiSettings) SetFilecacheDuration(v int64) *HlsAkamaiSettings { + s.FilecacheDuration = &v return s } -// H265 Color Space Settings -type H265ColorSpaceSettings struct { +// SetHttpTransferMode sets the HttpTransferMode field's value. +func (s *HlsAkamaiSettings) SetHttpTransferMode(v string) *HlsAkamaiSettings { + s.HttpTransferMode = &v + return s +} + +// SetNumRetries sets the NumRetries field's value. +func (s *HlsAkamaiSettings) SetNumRetries(v int64) *HlsAkamaiSettings { + s.NumRetries = &v + return s +} + +// SetRestartDelay sets the RestartDelay field's value. +func (s *HlsAkamaiSettings) SetRestartDelay(v int64) *HlsAkamaiSettings { + s.RestartDelay = &v + return s +} + +// SetSalt sets the Salt field's value. +func (s *HlsAkamaiSettings) SetSalt(v string) *HlsAkamaiSettings { + s.Salt = &v + return s +} + +// SetToken sets the Token field's value. +func (s *HlsAkamaiSettings) SetToken(v string) *HlsAkamaiSettings { + s.Token = &v + return s +} + +// Hls Basic Put Settings +type HlsBasicPutSettings struct { _ struct{} `type:"structure"` - // Passthrough applies no color space conversion to the output - ColorSpacePassthroughSettings *ColorSpacePassthroughSettings `locationName:"colorSpacePassthroughSettings" type:"structure"` + // Number of seconds to wait before retrying connection to the CDN if the connection + // is lost. + ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` - // Hdr10 Settings - Hdr10Settings *Hdr10Settings `locationName:"hdr10Settings" type:"structure"` + // Size in seconds of file cache for streaming outputs. + FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` + + // Number of retry attempts that will be made before the Live Event is put into + // an error state. + NumRetries *int64 `locationName:"numRetries" type:"integer"` + + // If a streaming output fails, number of seconds to wait until a restart is + // initiated. A value of 0 means never restart. + RestartDelay *int64 `locationName:"restartDelay" type:"integer"` +} + +// String returns the string representation +func (s HlsBasicPutSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsBasicPutSettings) GoString() string { + return s.String() +} + +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *HlsBasicPutSettings) SetConnectionRetryInterval(v int64) *HlsBasicPutSettings { + s.ConnectionRetryInterval = &v + return s +} + +// SetFilecacheDuration sets the FilecacheDuration field's value. +func (s *HlsBasicPutSettings) SetFilecacheDuration(v int64) *HlsBasicPutSettings { + s.FilecacheDuration = &v + return s +} + +// SetNumRetries sets the NumRetries field's value. +func (s *HlsBasicPutSettings) SetNumRetries(v int64) *HlsBasicPutSettings { + s.NumRetries = &v + return s +} + +// SetRestartDelay sets the RestartDelay field's value. +func (s *HlsBasicPutSettings) SetRestartDelay(v int64) *HlsBasicPutSettings { + s.RestartDelay = &v + return s +} + +// Hls Cdn Settings +type HlsCdnSettings struct { + _ struct{} `type:"structure"` + + // Hls Akamai Settings + HlsAkamaiSettings *HlsAkamaiSettings `locationName:"hlsAkamaiSettings" type:"structure"` + + // Hls Basic Put Settings + HlsBasicPutSettings *HlsBasicPutSettings `locationName:"hlsBasicPutSettings" type:"structure"` - // Rec601 Settings - Rec601Settings *Rec601Settings `locationName:"rec601Settings" type:"structure"` + // Hls Media Store Settings + HlsMediaStoreSettings *HlsMediaStoreSettings `locationName:"hlsMediaStoreSettings" type:"structure"` - // Rec709 Settings - Rec709Settings *Rec709Settings `locationName:"rec709Settings" type:"structure"` + // Hls Webdav Settings + HlsWebdavSettings *HlsWebdavSettings `locationName:"hlsWebdavSettings" type:"structure"` } // String returns the string representation -func (s H265ColorSpaceSettings) String() string { +func (s HlsCdnSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s H265ColorSpaceSettings) GoString() string { +func (s HlsCdnSettings) GoString() string { return s.String() } -// SetColorSpacePassthroughSettings sets the ColorSpacePassthroughSettings field's value. -func (s *H265ColorSpaceSettings) SetColorSpacePassthroughSettings(v *ColorSpacePassthroughSettings) *H265ColorSpaceSettings { - s.ColorSpacePassthroughSettings = v +// SetHlsAkamaiSettings sets the HlsAkamaiSettings field's value. +func (s *HlsCdnSettings) SetHlsAkamaiSettings(v *HlsAkamaiSettings) *HlsCdnSettings { + s.HlsAkamaiSettings = v return s } -// SetHdr10Settings sets the Hdr10Settings field's value. -func (s *H265ColorSpaceSettings) SetHdr10Settings(v *Hdr10Settings) *H265ColorSpaceSettings { - s.Hdr10Settings = v +// SetHlsBasicPutSettings sets the HlsBasicPutSettings field's value. +func (s *HlsCdnSettings) SetHlsBasicPutSettings(v *HlsBasicPutSettings) *HlsCdnSettings { + s.HlsBasicPutSettings = v return s } -// SetRec601Settings sets the Rec601Settings field's value. -func (s *H265ColorSpaceSettings) SetRec601Settings(v *Rec601Settings) *H265ColorSpaceSettings { - s.Rec601Settings = v +// SetHlsMediaStoreSettings sets the HlsMediaStoreSettings field's value. +func (s *HlsCdnSettings) SetHlsMediaStoreSettings(v *HlsMediaStoreSettings) *HlsCdnSettings { + s.HlsMediaStoreSettings = v return s } -// SetRec709Settings sets the Rec709Settings field's value. -func (s *H265ColorSpaceSettings) SetRec709Settings(v *Rec709Settings) *H265ColorSpaceSettings { - s.Rec709Settings = v +// SetHlsWebdavSettings sets the HlsWebdavSettings field's value. +func (s *HlsCdnSettings) SetHlsWebdavSettings(v *HlsWebdavSettings) *HlsCdnSettings { + s.HlsWebdavSettings = v return s } -// H265 Settings -type H265Settings struct { +// Hls Group Settings +type HlsGroupSettings struct { _ struct{} `type:"structure"` - // Adaptive quantization. Allows intra-frame quantizers to vary to improve visual - // quality. - AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H265AdaptiveQuantization"` - - // Indicates that AFD values will be written into the output stream. If afdSignaling - // is "auto", the system will try to preserve the input AFD value (in cases - // where multiple AFD values are valid). If set to "fixed", the AFD value will - // be the value configured in the fixedAfd parameter. - AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"` + // Choose one or more ad marker types to pass SCTE35 signals through to this + // group of Apple HLS outputs. + AdMarkers []*string `locationName:"adMarkers" type:"list"` - // Whether or not EML should insert an Alternative Transfer Function SEI message - // to support backwards compatibility with non-HDR decoders and displays. - AlternativeTransferFunction *string `locationName:"alternativeTransferFunction" type:"string" enum:"H265AlternativeTransferFunction"` + // A partial URI prefix that will be prepended to each output in the media .m3u8 + // file. Can be used if base manifest is delivered from a different URL than + // the main .m3u8 file. + BaseUrlContent *string `locationName:"baseUrlContent" type:"string"` - // Average bitrate in bits/second. Required when the rate control mode is VBR - // or CBR. Not used for QVBR. In an MS Smooth output group, each output must - // have a unique value when its bitrate is rounded down to the nearest multiple - // of 1000. - Bitrate *int64 `locationName:"bitrate" min:"100000" type:"integer"` + // A partial URI prefix that will be prepended to each output in the media .m3u8 + // file. Can be used if base manifest is delivered from a different URL than + // the main .m3u8 file. + BaseUrlManifest *string `locationName:"baseUrlManifest" type:"string"` - // Size of buffer (HRD buffer model) in bits. - BufSize *int64 `locationName:"bufSize" min:"100000" type:"integer"` + // Mapping of up to 4 caption channels to caption languages. Is only meaningful + // if captionLanguageSetting is set to "insert". + CaptionLanguageMappings []*CaptionLanguageMapping `locationName:"captionLanguageMappings" type:"list"` - // Includes colorspace metadata in the output. - ColorMetadata *string `locationName:"colorMetadata" type:"string" enum:"H265ColorMetadata"` + // Applies only to 608 Embedded output captions.insert: Include CLOSED-CAPTIONS + // lines in the manifest. Specify at least one language in the CC1 Language + // Code field. One CLOSED-CAPTION line is added for each Language Code you specify. + // Make sure to specify the languages in the order in which they appear in the + // original source (if the source is embedded format) or the order of the caption + // selectors (if the source is other than embedded). Otherwise, languages in + // the manifest will not match up properly with the output captions.none: Include + // CLOSED-CAPTIONS=NONE line in the manifest.omit: Omit any CLOSED-CAPTIONS + // line from the manifest. + CaptionLanguageSetting *string `locationName:"captionLanguageSetting" type:"string" enum:"HlsCaptionLanguageSetting"` - // Color Space settings - ColorSpaceSettings *H265ColorSpaceSettings `locationName:"colorSpaceSettings" type:"structure"` + // When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, + // which prevents clients from saving media segments for later replay. + ClientCache *string `locationName:"clientCache" type:"string" enum:"HlsClientCache"` - // Four bit AFD value to write on all frames of video in the output stream. - // Only valid when afdSignaling is set to 'Fixed'. - FixedAfd *string `locationName:"fixedAfd" type:"string" enum:"FixedAfd"` + // Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist + // generation. + CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"HlsCodecSpecification"` - // If set to enabled, adjust quantization within each frame to reduce flicker - // or 'pop' on I-frames. - FlickerAq *string `locationName:"flickerAq" type:"string" enum:"H265FlickerAq"` + // For use with encryptionType. This is a 128-bit, 16-byte hex value represented + // by a 32-character text string. If ivSource is set to "explicit" then this + // parameter is required and is used as the IV for encryption. + ConstantIv *string `locationName:"constantIv" min:"32" type:"string"` - // Framerate denominator. + // A directory or HTTP destination for the HLS segments, manifest files, and + // encryption keys (if enabled). // - // FramerateDenominator is a required field - FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer" required:"true"` + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` - // Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 - // fps. - // - // FramerateNumerator is a required field - FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer" required:"true"` + // Place segments in subdirectories. + DirectoryStructure *string `locationName:"directoryStructure" type:"string" enum:"HlsDirectoryStructure"` - // Frequency of closed GOPs. In streaming applications, it is recommended that - // this be set to 1 so a decoder joining mid-stream will receive an IDR frame - // as quickly as possible. Setting this value to 0 will break output segmenting. - GopClosedCadence *int64 `locationName:"gopClosedCadence" type:"integer"` + // Encrypts the segments with the given encryption scheme. Exclude this parameter + // if no encryption is desired. + EncryptionType *string `locationName:"encryptionType" type:"string" enum:"HlsEncryptionType"` - // GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. - // Must be greater than zero. - GopSize *float64 `locationName:"gopSize" type:"double"` + // Parameters that control interactions with the CDN. + HlsCdnSettings *HlsCdnSettings `locationName:"hlsCdnSettings" type:"structure"` - // Indicates if the gopSize is specified in frames or seconds. If seconds the - // system will convert the gopSize into a frame count at run time. - GopSizeUnits *string `locationName:"gopSizeUnits" type:"string" enum:"H265GopSizeUnits"` + // DISABLED: Do not create an I-frame-only manifest, but do create the master + // and media manifests (according to the Output Selection field).STANDARD: Create + // an I-frame-only manifest for each output that contains video, as well as + // the other manifests (according to the Output Selection field). The I-frame + // manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, + // and one or more #EXT-X-BYTERANGE entries identifying the I-frame position. + // For example, #EXT-X-BYTERANGE:160364@1461888" + IFrameOnlyPlaylists *string `locationName:"iFrameOnlyPlaylists" type:"string" enum:"IFrameOnlyPlaylistType"` - // H.265 Level. - Level *string `locationName:"level" type:"string" enum:"H265Level"` + // Applies only if Mode field is LIVE. Specifies the maximum number of segments + // in the media manifest file. After this maximum, older segments are removed + // from the media manifest. This number must be less than or equal to the Keep + // Segments field. + IndexNSegments *int64 `locationName:"indexNSegments" min:"3" type:"integer"` - // Amount of lookahead. A value of low can decrease latency and memory usage, - // while high can produce better quality for certain content. - LookAheadRateControl *string `locationName:"lookAheadRateControl" type:"string" enum:"H265LookAheadRateControl"` + // Parameter that control output group behavior on input loss. + InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForHlsOut"` - // For QVBR: See the tooltip for Quality level - MaxBitrate *int64 `locationName:"maxBitrate" min:"100000" type:"integer"` + // For use with encryptionType. The IV (Initialization Vector) is a 128-bit + // number used in conjunction with the key for encrypting blocks. If set to + // "include", IV is listed in the manifest, otherwise the IV is not in the manifest. + IvInManifest *string `locationName:"ivInManifest" type:"string" enum:"HlsIvInManifest"` - // Only meaningful if sceneChangeDetect is set to enabled. Enforces separation - // between repeated (cadence) I-frames and I-frames inserted by Scene Change - // Detection. If a scene change I-frame is within I-interval frames of a cadence - // I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. - // GOP stretch requires enabling lookahead as well as setting I-interval. The - // normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP - // size + Min-I-interval - 1 - MinIInterval *int64 `locationName:"minIInterval" type:"integer"` + // For use with encryptionType. The IV (Initialization Vector) is a 128-bit + // number used in conjunction with the key for encrypting blocks. If this setting + // is "followsSegmentNumber", it will cause the IV to change every segment (to + // match the segment number). If this is set to "explicit", you must enter a + // constantIv value. + IvSource *string `locationName:"ivSource" type:"string" enum:"HlsIvSource"` - // Pixel Aspect Ratio denominator. - ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` + // Applies only if Mode field is LIVE. Specifies the number of media segments + // (.ts files) to retain in the destination directory. + KeepSegments *int64 `locationName:"keepSegments" min:"1" type:"integer"` - // Pixel Aspect Ratio numerator. - ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` + // The value specifies how the key is represented in the resource identified + // by the URI. If parameter is absent, an implicit value of "identity" is used. + // A reverse DNS string can also be given. + KeyFormat *string `locationName:"keyFormat" type:"string"` - // H.265 Profile. - Profile *string `locationName:"profile" type:"string" enum:"H265Profile"` + // Either a single positive integer version value or a slash delimited list + // of version values (1/2/3). + KeyFormatVersions *string `locationName:"keyFormatVersions" type:"string"` - // Controls the target quality for the video encode. Applies only when the rate - // control mode is QVBR. Set values for the QVBR quality level field and Max - // bitrate field that suit your most important viewing devices. Recommended - // values are:- Primary screen: Quality level: 8 to 10. Max bitrate: 4M- PC - // or tablet: Quality level: 7. Max bitrate: 1.5M to 3M- Smartphone: Quality - // level: 6. Max bitrate: 1M to 1.5M - QvbrQualityLevel *int64 `locationName:"qvbrQualityLevel" min:"1" type:"integer"` + // The key provider settings. + KeyProviderSettings *KeyProviderSettings `locationName:"keyProviderSettings" type:"structure"` - // Rate control mode.QVBR: Quality will match the specified quality level except - // when it is constrained by themaximum bitrate. Recommended if you or your - // viewers pay for bandwidth.CBR: Quality varies, depending on the video complexity. - // Recommended only if you distributeyour assets to devices that cannot handle - // variable bitrates. - RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H265RateControlMode"` + // When set to gzip, compresses HLS playlist. + ManifestCompression *string `locationName:"manifestCompression" type:"string" enum:"HlsManifestCompression"` - // Sets the scan type of the output to progressive or top-field-first interlaced. - ScanType *string `locationName:"scanType" type:"string" enum:"H265ScanType"` + // Indicates whether the output manifest should use floating point or integer + // values for segment duration. + ManifestDurationFormat *string `locationName:"manifestDurationFormat" type:"string" enum:"HlsManifestDurationFormat"` + + // When set, minimumSegmentLength is enforced by looking ahead and back within + // the specified range for a nearby avail and extending the segment size if + // needed. + MinSegmentLength *int64 `locationName:"minSegmentLength" type:"integer"` + + // If "vod", all segments are indexed and kept permanently in the destination + // and manifest. If "live", only the number segments specified in keepSegments + // and indexNSegments are kept; newer segments replace older segments, which + // may prevent players from rewinding all the way to the beginning of the event.VOD + // mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, + // converting it to a "VOD" type manifest on completion of the stream. + Mode *string `locationName:"mode" type:"string" enum:"HlsMode"` + + // MANIFESTSANDSEGMENTS: Generates manifests (master manifest, if applicable, + // and media manifests) for this output group.SEGMENTSONLY: Does not generate + // any manifests for this output group. + OutputSelection *string `locationName:"outputSelection" type:"string" enum:"HlsOutputSelection"` + + // Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. + // The value is calculated as follows: either the program date and time are + // initialized using the input timecode source, or the time is initialized using + // the input timecode source and the date is initialized using the timestampOffset. + ProgramDateTime *string `locationName:"programDateTime" type:"string" enum:"HlsProgramDateTime"` + + // Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. + ProgramDateTimePeriod *int64 `locationName:"programDateTimePeriod" type:"integer"` + + // ENABLED: The master manifest (.m3u8 file) for each pipeline includes information + // about both pipelines: first its own media files, then the media files of + // the other pipeline. This feature allows playout device that support stale + // manifest detection to switch from one manifest to the other, when the current + // manifest seems to be stale. There are still two destinations and two master + // manifests, but both master manifests reference the media files from both + // pipelines.DISABLED: The master manifest (.m3u8 file) for each pipeline includes + // information about its own pipeline only.For an HLS output group with MediaPackage + // as the destination, the DISABLED behavior is always followed. MediaPackage + // regenerates the manifests it serves to players so a redundant manifest from + // MediaLive is irrelevant. + RedundantManifest *string `locationName:"redundantManifest" type:"string" enum:"HlsRedundantManifest"` + + // Length of MPEG-2 Transport Stream segments to create (in seconds). Note that + // segments will end on the next keyframe after this number of seconds, so actual + // segment length may be longer. + SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"` + + // useInputSegmentation has been deprecated. The configured segment size is + // always used. + SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"HlsSegmentationMode"` + + // Number of segments to write to a subdirectory before starting a new one. + // directoryStructure must be subdirectoryPerStream for this setting to have + // an effect. + SegmentsPerSubdirectory *int64 `locationName:"segmentsPerSubdirectory" min:"1" type:"integer"` - // Scene change detection. - SceneChangeDetect *string `locationName:"sceneChangeDetect" type:"string" enum:"H265SceneChangeDetect"` + // Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag + // of variant manifest. + StreamInfResolution *string `locationName:"streamInfResolution" type:"string" enum:"HlsStreamInfResolution"` - // Number of slices per picture. Must be less than or equal to the number of - // macroblock rows for progressive pictures, and less than or equal to half - // the number of macroblock rows for interlaced pictures.This field is optional; - // when no value is specified the encoder will choose the number of slices based - // on encode resolution. - Slices *int64 `locationName:"slices" min:"1" type:"integer"` + // Indicates ID3 frame that has the timecode. + TimedMetadataId3Frame *string `locationName:"timedMetadataId3Frame" type:"string" enum:"HlsTimedMetadataId3Frame"` - // H.265 Tier. - Tier *string `locationName:"tier" type:"string" enum:"H265Tier"` + // Timed Metadata interval in seconds. + TimedMetadataId3Period *int64 `locationName:"timedMetadataId3Period" type:"integer"` - // Determines how timecodes should be inserted into the video elementary stream.- - // 'disabled': Do not include timecodes- 'picTimingSei': Pass through picture - // timing SEI messages from the source specified in Timecode Config - TimecodeInsertion *string `locationName:"timecodeInsertion" type:"string" enum:"H265TimecodeInsertionBehavior"` + // Provides an extra millisecond delta offset to fine tune the timestamps. + TimestampDeltaMilliseconds *int64 `locationName:"timestampDeltaMilliseconds" type:"integer"` + + // SEGMENTEDFILES: Emit the program as segments - multiple .ts media files.SINGLEFILE: + // Applies only if Mode field is VOD. Emit the program as a single .ts media + // file. The media manifest includes #EXT-X-BYTERANGE tags to index segments + // for playback. A typical use for this value is when sending the output to + // AWS Elemental MediaConvert, which can accept only a single media file. Playback + // while the channel is running is not guaranteed due to HTTP server caching. + TsFileMode *string `locationName:"tsFileMode" type:"string" enum:"HlsTsFileMode"` } // String returns the string representation -func (s H265Settings) String() string { +func (s HlsGroupSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s H265Settings) GoString() string { +func (s HlsGroupSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *H265Settings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "H265Settings"} - if s.Bitrate != nil && *s.Bitrate < 100000 { - invalidParams.Add(request.NewErrParamMinValue("Bitrate", 100000)) - } - if s.BufSize != nil && *s.BufSize < 100000 { - invalidParams.Add(request.NewErrParamMinValue("BufSize", 100000)) - } - if s.FramerateDenominator == nil { - invalidParams.Add(request.NewErrParamRequired("FramerateDenominator")) - } - if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { - invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) +func (s *HlsGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsGroupSettings"} + if s.ConstantIv != nil && len(*s.ConstantIv) < 32 { + invalidParams.Add(request.NewErrParamMinLen("ConstantIv", 32)) } - if s.FramerateNumerator == nil { - invalidParams.Add(request.NewErrParamRequired("FramerateNumerator")) + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) } - if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { - invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + if s.IndexNSegments != nil && *s.IndexNSegments < 3 { + invalidParams.Add(request.NewErrParamMinValue("IndexNSegments", 3)) } - if s.MaxBitrate != nil && *s.MaxBitrate < 100000 { - invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 100000)) + if s.KeepSegments != nil && *s.KeepSegments < 1 { + invalidParams.Add(request.NewErrParamMinValue("KeepSegments", 1)) } - if s.ParDenominator != nil && *s.ParDenominator < 1 { - invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + if s.SegmentLength != nil && *s.SegmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1)) } - if s.ParNumerator != nil && *s.ParNumerator < 1 { - invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1)) + if s.SegmentsPerSubdirectory != nil && *s.SegmentsPerSubdirectory < 1 { + invalidParams.Add(request.NewErrParamMinValue("SegmentsPerSubdirectory", 1)) } - if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 { - invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1)) + if s.CaptionLanguageMappings != nil { + for i, v := range s.CaptionLanguageMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionLanguageMappings", i), err.(request.ErrInvalidParams)) + } + } } - if s.Slices != nil && *s.Slices < 1 { - invalidParams.Add(request.NewErrParamMinValue("Slices", 1)) + if s.KeyProviderSettings != nil { + if err := s.KeyProviderSettings.Validate(); err != nil { + invalidParams.AddNested("KeyProviderSettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -9610,213 +12151,288 @@ func (s *H265Settings) Validate() error { return nil } -// SetAdaptiveQuantization sets the AdaptiveQuantization field's value. -func (s *H265Settings) SetAdaptiveQuantization(v string) *H265Settings { - s.AdaptiveQuantization = &v +// SetAdMarkers sets the AdMarkers field's value. +func (s *HlsGroupSettings) SetAdMarkers(v []*string) *HlsGroupSettings { + s.AdMarkers = v return s } -// SetAfdSignaling sets the AfdSignaling field's value. -func (s *H265Settings) SetAfdSignaling(v string) *H265Settings { - s.AfdSignaling = &v +// SetBaseUrlContent sets the BaseUrlContent field's value. +func (s *HlsGroupSettings) SetBaseUrlContent(v string) *HlsGroupSettings { + s.BaseUrlContent = &v return s } -// SetAlternativeTransferFunction sets the AlternativeTransferFunction field's value. -func (s *H265Settings) SetAlternativeTransferFunction(v string) *H265Settings { - s.AlternativeTransferFunction = &v +// SetBaseUrlManifest sets the BaseUrlManifest field's value. +func (s *HlsGroupSettings) SetBaseUrlManifest(v string) *HlsGroupSettings { + s.BaseUrlManifest = &v return s } -// SetBitrate sets the Bitrate field's value. -func (s *H265Settings) SetBitrate(v int64) *H265Settings { - s.Bitrate = &v +// SetCaptionLanguageMappings sets the CaptionLanguageMappings field's value. +func (s *HlsGroupSettings) SetCaptionLanguageMappings(v []*CaptionLanguageMapping) *HlsGroupSettings { + s.CaptionLanguageMappings = v return s } -// SetBufSize sets the BufSize field's value. -func (s *H265Settings) SetBufSize(v int64) *H265Settings { - s.BufSize = &v +// SetCaptionLanguageSetting sets the CaptionLanguageSetting field's value. +func (s *HlsGroupSettings) SetCaptionLanguageSetting(v string) *HlsGroupSettings { + s.CaptionLanguageSetting = &v return s } -// SetColorMetadata sets the ColorMetadata field's value. -func (s *H265Settings) SetColorMetadata(v string) *H265Settings { - s.ColorMetadata = &v +// SetClientCache sets the ClientCache field's value. +func (s *HlsGroupSettings) SetClientCache(v string) *HlsGroupSettings { + s.ClientCache = &v return s } -// SetColorSpaceSettings sets the ColorSpaceSettings field's value. -func (s *H265Settings) SetColorSpaceSettings(v *H265ColorSpaceSettings) *H265Settings { - s.ColorSpaceSettings = v +// SetCodecSpecification sets the CodecSpecification field's value. +func (s *HlsGroupSettings) SetCodecSpecification(v string) *HlsGroupSettings { + s.CodecSpecification = &v return s } -// SetFixedAfd sets the FixedAfd field's value. -func (s *H265Settings) SetFixedAfd(v string) *H265Settings { - s.FixedAfd = &v +// SetConstantIv sets the ConstantIv field's value. +func (s *HlsGroupSettings) SetConstantIv(v string) *HlsGroupSettings { + s.ConstantIv = &v return s } -// SetFlickerAq sets the FlickerAq field's value. -func (s *H265Settings) SetFlickerAq(v string) *H265Settings { - s.FlickerAq = &v +// SetDestination sets the Destination field's value. +func (s *HlsGroupSettings) SetDestination(v *OutputLocationRef) *HlsGroupSettings { + s.Destination = v return s } -// SetFramerateDenominator sets the FramerateDenominator field's value. -func (s *H265Settings) SetFramerateDenominator(v int64) *H265Settings { - s.FramerateDenominator = &v +// SetDirectoryStructure sets the DirectoryStructure field's value. +func (s *HlsGroupSettings) SetDirectoryStructure(v string) *HlsGroupSettings { + s.DirectoryStructure = &v return s } -// SetFramerateNumerator sets the FramerateNumerator field's value. -func (s *H265Settings) SetFramerateNumerator(v int64) *H265Settings { - s.FramerateNumerator = &v +// SetEncryptionType sets the EncryptionType field's value. +func (s *HlsGroupSettings) SetEncryptionType(v string) *HlsGroupSettings { + s.EncryptionType = &v return s } -// SetGopClosedCadence sets the GopClosedCadence field's value. -func (s *H265Settings) SetGopClosedCadence(v int64) *H265Settings { - s.GopClosedCadence = &v +// SetHlsCdnSettings sets the HlsCdnSettings field's value. +func (s *HlsGroupSettings) SetHlsCdnSettings(v *HlsCdnSettings) *HlsGroupSettings { + s.HlsCdnSettings = v return s } -// SetGopSize sets the GopSize field's value. -func (s *H265Settings) SetGopSize(v float64) *H265Settings { - s.GopSize = &v +// SetIFrameOnlyPlaylists sets the IFrameOnlyPlaylists field's value. +func (s *HlsGroupSettings) SetIFrameOnlyPlaylists(v string) *HlsGroupSettings { + s.IFrameOnlyPlaylists = &v return s } -// SetGopSizeUnits sets the GopSizeUnits field's value. -func (s *H265Settings) SetGopSizeUnits(v string) *H265Settings { - s.GopSizeUnits = &v +// SetIndexNSegments sets the IndexNSegments field's value. +func (s *HlsGroupSettings) SetIndexNSegments(v int64) *HlsGroupSettings { + s.IndexNSegments = &v return s } -// SetLevel sets the Level field's value. -func (s *H265Settings) SetLevel(v string) *H265Settings { - s.Level = &v +// SetInputLossAction sets the InputLossAction field's value. +func (s *HlsGroupSettings) SetInputLossAction(v string) *HlsGroupSettings { + s.InputLossAction = &v return s } -// SetLookAheadRateControl sets the LookAheadRateControl field's value. -func (s *H265Settings) SetLookAheadRateControl(v string) *H265Settings { - s.LookAheadRateControl = &v +// SetIvInManifest sets the IvInManifest field's value. +func (s *HlsGroupSettings) SetIvInManifest(v string) *HlsGroupSettings { + s.IvInManifest = &v return s } -// SetMaxBitrate sets the MaxBitrate field's value. -func (s *H265Settings) SetMaxBitrate(v int64) *H265Settings { - s.MaxBitrate = &v +// SetIvSource sets the IvSource field's value. +func (s *HlsGroupSettings) SetIvSource(v string) *HlsGroupSettings { + s.IvSource = &v return s } -// SetMinIInterval sets the MinIInterval field's value. -func (s *H265Settings) SetMinIInterval(v int64) *H265Settings { - s.MinIInterval = &v +// SetKeepSegments sets the KeepSegments field's value. +func (s *HlsGroupSettings) SetKeepSegments(v int64) *HlsGroupSettings { + s.KeepSegments = &v return s } -// SetParDenominator sets the ParDenominator field's value. -func (s *H265Settings) SetParDenominator(v int64) *H265Settings { - s.ParDenominator = &v +// SetKeyFormat sets the KeyFormat field's value. +func (s *HlsGroupSettings) SetKeyFormat(v string) *HlsGroupSettings { + s.KeyFormat = &v + return s +} + +// SetKeyFormatVersions sets the KeyFormatVersions field's value. +func (s *HlsGroupSettings) SetKeyFormatVersions(v string) *HlsGroupSettings { + s.KeyFormatVersions = &v + return s +} + +// SetKeyProviderSettings sets the KeyProviderSettings field's value. +func (s *HlsGroupSettings) SetKeyProviderSettings(v *KeyProviderSettings) *HlsGroupSettings { + s.KeyProviderSettings = v + return s +} + +// SetManifestCompression sets the ManifestCompression field's value. +func (s *HlsGroupSettings) SetManifestCompression(v string) *HlsGroupSettings { + s.ManifestCompression = &v + return s +} + +// SetManifestDurationFormat sets the ManifestDurationFormat field's value. +func (s *HlsGroupSettings) SetManifestDurationFormat(v string) *HlsGroupSettings { + s.ManifestDurationFormat = &v + return s +} + +// SetMinSegmentLength sets the MinSegmentLength field's value. +func (s *HlsGroupSettings) SetMinSegmentLength(v int64) *HlsGroupSettings { + s.MinSegmentLength = &v + return s +} + +// SetMode sets the Mode field's value. +func (s *HlsGroupSettings) SetMode(v string) *HlsGroupSettings { + s.Mode = &v + return s +} + +// SetOutputSelection sets the OutputSelection field's value. +func (s *HlsGroupSettings) SetOutputSelection(v string) *HlsGroupSettings { + s.OutputSelection = &v + return s +} + +// SetProgramDateTime sets the ProgramDateTime field's value. +func (s *HlsGroupSettings) SetProgramDateTime(v string) *HlsGroupSettings { + s.ProgramDateTime = &v + return s +} + +// SetProgramDateTimePeriod sets the ProgramDateTimePeriod field's value. +func (s *HlsGroupSettings) SetProgramDateTimePeriod(v int64) *HlsGroupSettings { + s.ProgramDateTimePeriod = &v return s } -// SetParNumerator sets the ParNumerator field's value. -func (s *H265Settings) SetParNumerator(v int64) *H265Settings { - s.ParNumerator = &v +// SetRedundantManifest sets the RedundantManifest field's value. +func (s *HlsGroupSettings) SetRedundantManifest(v string) *HlsGroupSettings { + s.RedundantManifest = &v return s } -// SetProfile sets the Profile field's value. -func (s *H265Settings) SetProfile(v string) *H265Settings { - s.Profile = &v +// SetSegmentLength sets the SegmentLength field's value. +func (s *HlsGroupSettings) SetSegmentLength(v int64) *HlsGroupSettings { + s.SegmentLength = &v return s } -// SetQvbrQualityLevel sets the QvbrQualityLevel field's value. -func (s *H265Settings) SetQvbrQualityLevel(v int64) *H265Settings { - s.QvbrQualityLevel = &v +// SetSegmentationMode sets the SegmentationMode field's value. +func (s *HlsGroupSettings) SetSegmentationMode(v string) *HlsGroupSettings { + s.SegmentationMode = &v return s } -// SetRateControlMode sets the RateControlMode field's value. -func (s *H265Settings) SetRateControlMode(v string) *H265Settings { - s.RateControlMode = &v +// SetSegmentsPerSubdirectory sets the SegmentsPerSubdirectory field's value. +func (s *HlsGroupSettings) SetSegmentsPerSubdirectory(v int64) *HlsGroupSettings { + s.SegmentsPerSubdirectory = &v return s } -// SetScanType sets the ScanType field's value. -func (s *H265Settings) SetScanType(v string) *H265Settings { - s.ScanType = &v +// SetStreamInfResolution sets the StreamInfResolution field's value. +func (s *HlsGroupSettings) SetStreamInfResolution(v string) *HlsGroupSettings { + s.StreamInfResolution = &v return s } -// SetSceneChangeDetect sets the SceneChangeDetect field's value. -func (s *H265Settings) SetSceneChangeDetect(v string) *H265Settings { - s.SceneChangeDetect = &v +// SetTimedMetadataId3Frame sets the TimedMetadataId3Frame field's value. +func (s *HlsGroupSettings) SetTimedMetadataId3Frame(v string) *HlsGroupSettings { + s.TimedMetadataId3Frame = &v return s } -// SetSlices sets the Slices field's value. -func (s *H265Settings) SetSlices(v int64) *H265Settings { - s.Slices = &v +// SetTimedMetadataId3Period sets the TimedMetadataId3Period field's value. +func (s *HlsGroupSettings) SetTimedMetadataId3Period(v int64) *HlsGroupSettings { + s.TimedMetadataId3Period = &v return s } -// SetTier sets the Tier field's value. -func (s *H265Settings) SetTier(v string) *H265Settings { - s.Tier = &v +// SetTimestampDeltaMilliseconds sets the TimestampDeltaMilliseconds field's value. +func (s *HlsGroupSettings) SetTimestampDeltaMilliseconds(v int64) *HlsGroupSettings { + s.TimestampDeltaMilliseconds = &v return s } -// SetTimecodeInsertion sets the TimecodeInsertion field's value. -func (s *H265Settings) SetTimecodeInsertion(v string) *H265Settings { - s.TimecodeInsertion = &v +// SetTsFileMode sets the TsFileMode field's value. +func (s *HlsGroupSettings) SetTsFileMode(v string) *HlsGroupSettings { + s.TsFileMode = &v return s } -// Hdr10 Settings -type Hdr10Settings struct { +// Hls Input Settings +type HlsInputSettings struct { _ struct{} `type:"structure"` - // Maximum Content Light LevelAn integer metadata value defining the maximum - // light level, in nits,of any single pixel within an encoded HDR video stream - // or file. - MaxCll *int64 `locationName:"maxCll" type:"integer"` + // When specified the HLS stream with the m3u8 BANDWIDTH that most closely matches + // this value will be chosen, otherwise the highest bandwidth stream in the + // m3u8 will be chosen. The bitrate is specified in bits per second, as in an + // HLS manifest. + Bandwidth *int64 `locationName:"bandwidth" type:"integer"` - // Maximum Frame Average Light LevelAn integer metadata value defining the maximum - // average light level, in nits,for any single frame within an encoded HDR video - // stream or file. - MaxFall *int64 `locationName:"maxFall" type:"integer"` + // When specified, reading of the HLS input will begin this many buffer segments + // from the end (most recently written segment). When not specified, the HLS + // input will begin with the first segment specified in the m3u8. + BufferSegments *int64 `locationName:"bufferSegments" type:"integer"` + + // The number of consecutive times that attempts to read a manifest or segment + // must fail before the input is considered unavailable. + Retries *int64 `locationName:"retries" type:"integer"` + + // The number of seconds between retries when an attempt to read a manifest + // or segment fails. + RetryInterval *int64 `locationName:"retryInterval" type:"integer"` } // String returns the string representation -func (s Hdr10Settings) String() string { +func (s HlsInputSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Hdr10Settings) GoString() string { +func (s HlsInputSettings) GoString() string { return s.String() } -// SetMaxCll sets the MaxCll field's value. -func (s *Hdr10Settings) SetMaxCll(v int64) *Hdr10Settings { - s.MaxCll = &v +// SetBandwidth sets the Bandwidth field's value. +func (s *HlsInputSettings) SetBandwidth(v int64) *HlsInputSettings { + s.Bandwidth = &v return s } -// SetMaxFall sets the MaxFall field's value. -func (s *Hdr10Settings) SetMaxFall(v int64) *Hdr10Settings { - s.MaxFall = &v +// SetBufferSegments sets the BufferSegments field's value. +func (s *HlsInputSettings) SetBufferSegments(v int64) *HlsInputSettings { + s.BufferSegments = &v return s } -// Hls Akamai Settings -type HlsAkamaiSettings struct { +// SetRetries sets the Retries field's value. +func (s *HlsInputSettings) SetRetries(v int64) *HlsInputSettings { + s.Retries = &v + return s +} + +// SetRetryInterval sets the RetryInterval field's value. +func (s *HlsInputSettings) SetRetryInterval(v int64) *HlsInputSettings { + s.RetryInterval = &v + return s +} + +// Hls Media Store Settings +type HlsMediaStoreSettings struct { _ struct{} `type:"structure"` // Number of seconds to wait before retrying connection to the CDN if the connection @@ -9826,9 +12442,9 @@ type HlsAkamaiSettings struct { // Size in seconds of file cache for streaming outputs. FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` - // Specify whether or not to use chunked transfer encoding to Akamai. User should - // contact Akamai to enable this feature. - HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsAkamaiHttpTransferMode"` + // When set to temporal, output files are stored in non-persistent memory for + // faster reading and writing. + MediaStoreStorageClass *string `locationName:"mediaStoreStorageClass" type:"string" enum:"HlsMediaStoreStorageClass"` // Number of retry attempts that will be made before the Live Event is put into // an error state. @@ -9837,68 +12453,209 @@ type HlsAkamaiSettings struct { // If a streaming output fails, number of seconds to wait until a restart is // initiated. A value of 0 means never restart. RestartDelay *int64 `locationName:"restartDelay" type:"integer"` +} - // Salt for authenticated Akamai. - Salt *string `locationName:"salt" type:"string"` +// String returns the string representation +func (s HlsMediaStoreSettings) String() string { + return awsutil.Prettify(s) +} - // Token parameter for authenticated akamai. If not specified, _gda_ is used. - Token *string `locationName:"token" type:"string"` +// GoString returns the string representation +func (s HlsMediaStoreSettings) GoString() string { + return s.String() +} + +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *HlsMediaStoreSettings) SetConnectionRetryInterval(v int64) *HlsMediaStoreSettings { + s.ConnectionRetryInterval = &v + return s +} + +// SetFilecacheDuration sets the FilecacheDuration field's value. +func (s *HlsMediaStoreSettings) SetFilecacheDuration(v int64) *HlsMediaStoreSettings { + s.FilecacheDuration = &v + return s +} + +// SetMediaStoreStorageClass sets the MediaStoreStorageClass field's value. +func (s *HlsMediaStoreSettings) SetMediaStoreStorageClass(v string) *HlsMediaStoreSettings { + s.MediaStoreStorageClass = &v + return s +} + +// SetNumRetries sets the NumRetries field's value. +func (s *HlsMediaStoreSettings) SetNumRetries(v int64) *HlsMediaStoreSettings { + s.NumRetries = &v + return s +} + +// SetRestartDelay sets the RestartDelay field's value. +func (s *HlsMediaStoreSettings) SetRestartDelay(v int64) *HlsMediaStoreSettings { + s.RestartDelay = &v + return s +} + +// Hls Output Settings +type HlsOutputSettings struct { + _ struct{} `type:"structure"` + + // Settings regarding the underlying stream. These settings are different for + // audio-only outputs. + // + // HlsSettings is a required field + HlsSettings *HlsSettings `locationName:"hlsSettings" type:"structure" required:"true"` + + // String concatenated to the end of the destination filename. Accepts \"Format + // Identifiers\":#formatIdentifierParameters. + NameModifier *string `locationName:"nameModifier" min:"1" type:"string"` + + // String concatenated to end of segment filenames. + SegmentModifier *string `locationName:"segmentModifier" type:"string"` } // String returns the string representation -func (s HlsAkamaiSettings) String() string { +func (s HlsOutputSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HlsOutputSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsOutputSettings"} + if s.HlsSettings == nil { + invalidParams.Add(request.NewErrParamRequired("HlsSettings")) + } + if s.NameModifier != nil && len(*s.NameModifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NameModifier", 1)) + } + if s.HlsSettings != nil { + if err := s.HlsSettings.Validate(); err != nil { + invalidParams.AddNested("HlsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHlsSettings sets the HlsSettings field's value. +func (s *HlsOutputSettings) SetHlsSettings(v *HlsSettings) *HlsOutputSettings { + s.HlsSettings = v + return s +} + +// SetNameModifier sets the NameModifier field's value. +func (s *HlsOutputSettings) SetNameModifier(v string) *HlsOutputSettings { + s.NameModifier = &v + return s +} + +// SetSegmentModifier sets the SegmentModifier field's value. +func (s *HlsOutputSettings) SetSegmentModifier(v string) *HlsOutputSettings { + s.SegmentModifier = &v + return s +} + +// Hls Settings +type HlsSettings struct { + _ struct{} `type:"structure"` + + // Audio Only Hls Settings + AudioOnlyHlsSettings *AudioOnlyHlsSettings `locationName:"audioOnlyHlsSettings" type:"structure"` + + // Standard Hls Settings + StandardHlsSettings *StandardHlsSettings `locationName:"standardHlsSettings" type:"structure"` +} + +// String returns the string representation +func (s HlsSettings) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s HlsAkamaiSettings) GoString() string { - return s.String() +// GoString returns the string representation +func (s HlsSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsSettings"} + if s.AudioOnlyHlsSettings != nil { + if err := s.AudioOnlyHlsSettings.Validate(); err != nil { + invalidParams.AddNested("AudioOnlyHlsSettings", err.(request.ErrInvalidParams)) + } + } + if s.StandardHlsSettings != nil { + if err := s.StandardHlsSettings.Validate(); err != nil { + invalidParams.AddNested("StandardHlsSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. -func (s *HlsAkamaiSettings) SetConnectionRetryInterval(v int64) *HlsAkamaiSettings { - s.ConnectionRetryInterval = &v +// SetAudioOnlyHlsSettings sets the AudioOnlyHlsSettings field's value. +func (s *HlsSettings) SetAudioOnlyHlsSettings(v *AudioOnlyHlsSettings) *HlsSettings { + s.AudioOnlyHlsSettings = v return s } -// SetFilecacheDuration sets the FilecacheDuration field's value. -func (s *HlsAkamaiSettings) SetFilecacheDuration(v int64) *HlsAkamaiSettings { - s.FilecacheDuration = &v +// SetStandardHlsSettings sets the StandardHlsSettings field's value. +func (s *HlsSettings) SetStandardHlsSettings(v *StandardHlsSettings) *HlsSettings { + s.StandardHlsSettings = v return s } -// SetHttpTransferMode sets the HttpTransferMode field's value. -func (s *HlsAkamaiSettings) SetHttpTransferMode(v string) *HlsAkamaiSettings { - s.HttpTransferMode = &v - return s +// Settings for the action to emit HLS metadata +type HlsTimedMetadataScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // Base64 string formatted according to the ID3 specification: http://id3.org/id3v2.4.0-structure + // + // Id3 is a required field + Id3 *string `locationName:"id3" type:"string" required:"true"` } -// SetNumRetries sets the NumRetries field's value. -func (s *HlsAkamaiSettings) SetNumRetries(v int64) *HlsAkamaiSettings { - s.NumRetries = &v - return s +// String returns the string representation +func (s HlsTimedMetadataScheduleActionSettings) String() string { + return awsutil.Prettify(s) } -// SetRestartDelay sets the RestartDelay field's value. -func (s *HlsAkamaiSettings) SetRestartDelay(v int64) *HlsAkamaiSettings { - s.RestartDelay = &v - return s +// GoString returns the string representation +func (s HlsTimedMetadataScheduleActionSettings) GoString() string { + return s.String() } -// SetSalt sets the Salt field's value. -func (s *HlsAkamaiSettings) SetSalt(v string) *HlsAkamaiSettings { - s.Salt = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *HlsTimedMetadataScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HlsTimedMetadataScheduleActionSettings"} + if s.Id3 == nil { + invalidParams.Add(request.NewErrParamRequired("Id3")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetToken sets the Token field's value. -func (s *HlsAkamaiSettings) SetToken(v string) *HlsAkamaiSettings { - s.Token = &v +// SetId3 sets the Id3 field's value. +func (s *HlsTimedMetadataScheduleActionSettings) SetId3(v string) *HlsTimedMetadataScheduleActionSettings { + s.Id3 = &v return s } -// Hls Basic Put Settings -type HlsBasicPutSettings struct { +// Hls Webdav Settings +type HlsWebdavSettings struct { _ struct{} `type:"structure"` // Number of seconds to wait before retrying connection to the CDN if the connection @@ -9908,6 +12665,9 @@ type HlsBasicPutSettings struct { // Size in seconds of file cache for streaming outputs. FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` + // Specify whether or not to use chunked transfer encoding to WebDAV. + HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsWebdavHttpTransferMode"` + // Number of retry attempts that will be made before the Live Event is put into // an error state. NumRetries *int64 `locationName:"numRetries" type:"integer"` @@ -9918,326 +12678,303 @@ type HlsBasicPutSettings struct { } // String returns the string representation -func (s HlsBasicPutSettings) String() string { +func (s HlsWebdavSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsBasicPutSettings) GoString() string { +func (s HlsWebdavSettings) GoString() string { return s.String() } // SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. -func (s *HlsBasicPutSettings) SetConnectionRetryInterval(v int64) *HlsBasicPutSettings { +func (s *HlsWebdavSettings) SetConnectionRetryInterval(v int64) *HlsWebdavSettings { s.ConnectionRetryInterval = &v return s } // SetFilecacheDuration sets the FilecacheDuration field's value. -func (s *HlsBasicPutSettings) SetFilecacheDuration(v int64) *HlsBasicPutSettings { +func (s *HlsWebdavSettings) SetFilecacheDuration(v int64) *HlsWebdavSettings { s.FilecacheDuration = &v return s } +// SetHttpTransferMode sets the HttpTransferMode field's value. +func (s *HlsWebdavSettings) SetHttpTransferMode(v string) *HlsWebdavSettings { + s.HttpTransferMode = &v + return s +} + // SetNumRetries sets the NumRetries field's value. -func (s *HlsBasicPutSettings) SetNumRetries(v int64) *HlsBasicPutSettings { +func (s *HlsWebdavSettings) SetNumRetries(v int64) *HlsWebdavSettings { s.NumRetries = &v return s } // SetRestartDelay sets the RestartDelay field's value. -func (s *HlsBasicPutSettings) SetRestartDelay(v int64) *HlsBasicPutSettings { +func (s *HlsWebdavSettings) SetRestartDelay(v int64) *HlsWebdavSettings { s.RestartDelay = &v return s } -// Hls Cdn Settings -type HlsCdnSettings struct { +// Settings to configure an action so that it occurs immediately. This is only +// supported for input switch actions currently. +type ImmediateModeScheduleActionStartSettings struct { _ struct{} `type:"structure"` - - // Hls Akamai Settings - HlsAkamaiSettings *HlsAkamaiSettings `locationName:"hlsAkamaiSettings" type:"structure"` - - // Hls Basic Put Settings - HlsBasicPutSettings *HlsBasicPutSettings `locationName:"hlsBasicPutSettings" type:"structure"` - - // Hls Media Store Settings - HlsMediaStoreSettings *HlsMediaStoreSettings `locationName:"hlsMediaStoreSettings" type:"structure"` - - // Hls Webdav Settings - HlsWebdavSettings *HlsWebdavSettings `locationName:"hlsWebdavSettings" type:"structure"` } // String returns the string representation -func (s HlsCdnSettings) String() string { +func (s ImmediateModeScheduleActionStartSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsCdnSettings) GoString() string { +func (s ImmediateModeScheduleActionStartSettings) GoString() string { return s.String() } -// SetHlsAkamaiSettings sets the HlsAkamaiSettings field's value. -func (s *HlsCdnSettings) SetHlsAkamaiSettings(v *HlsAkamaiSettings) *HlsCdnSettings { - s.HlsAkamaiSettings = v - return s -} +type Input struct { + _ struct{} `type:"structure"` -// SetHlsBasicPutSettings sets the HlsBasicPutSettings field's value. -func (s *HlsCdnSettings) SetHlsBasicPutSettings(v *HlsBasicPutSettings) *HlsCdnSettings { - s.HlsBasicPutSettings = v - return s -} + // The Unique ARN of the input (generated, immutable). + Arn *string `locationName:"arn" type:"string"` -// SetHlsMediaStoreSettings sets the HlsMediaStoreSettings field's value. -func (s *HlsCdnSettings) SetHlsMediaStoreSettings(v *HlsMediaStoreSettings) *HlsCdnSettings { - s.HlsMediaStoreSettings = v - return s -} + // A list of channel IDs that that input is attached to (currently an input + // can only be attached to one channel). + AttachedChannels []*string `locationName:"attachedChannels" type:"list"` -// SetHlsWebdavSettings sets the HlsWebdavSettings field's value. -func (s *HlsCdnSettings) SetHlsWebdavSettings(v *HlsWebdavSettings) *HlsCdnSettings { - s.HlsWebdavSettings = v - return s -} + // A list of the destinations of the input (PUSH-type). + Destinations []*InputDestination `locationName:"destinations" type:"list"` -// Hls Group Settings -type HlsGroupSettings struct { - _ struct{} `type:"structure"` + // The generated ID of the input (unique for user account, immutable). + Id *string `locationName:"id" type:"string"` - // Choose one or more ad marker types to pass SCTE35 signals through to this - // group of Apple HLS outputs. - AdMarkers []*string `locationName:"adMarkers" type:"list"` + // STANDARD - MediaLive expects two sources to be connected to this input. If + // the channel is also STANDARD, both sources will be ingested. If the channel + // is SINGLE_PIPELINE, only the first source will be ingested; the second source + // will always be ignored, even if the first source fails.SINGLE_PIPELINE - + // You can connect only one source to this input. If the ChannelClass is also + // SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this + // value is not valid because the channel requires two sources in the input. + InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"` - // A partial URI prefix that will be prepended to each output in the media .m3u8 - // file. Can be used if base manifest is delivered from a different URL than - // the main .m3u8 file. - BaseUrlContent *string `locationName:"baseUrlContent" type:"string"` + // Certain pull input sources can be dynamic, meaning that they can have their + // URL's dynamically changesduring input switch actions. Presently, this functionality + // only works with MP4_FILE inputs. + InputSourceType *string `locationName:"inputSourceType" type:"string" enum:"InputSourceType"` - // A partial URI prefix that will be prepended to each output in the media .m3u8 - // file. Can be used if base manifest is delivered from a different URL than - // the main .m3u8 file. - BaseUrlManifest *string `locationName:"baseUrlManifest" type:"string"` + // A list of MediaConnect Flows for this input. + MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"` - // Mapping of up to 4 caption channels to caption languages. Is only meaningful - // if captionLanguageSetting is set to "insert". - CaptionLanguageMappings []*CaptionLanguageMapping `locationName:"captionLanguageMappings" type:"list"` + // The user-assigned name (This is a mutable value). + Name *string `locationName:"name" type:"string"` - // Applies only to 608 Embedded output captions.insert: Include CLOSED-CAPTIONS - // lines in the manifest. Specify at least one language in the CC1 Language - // Code field. One CLOSED-CAPTION line is added for each Language Code you specify. - // Make sure to specify the languages in the order in which they appear in the - // original source (if the source is embedded format) or the order of the caption - // selectors (if the source is other than embedded). Otherwise, languages in - // the manifest will not match up properly with the output captions.none: Include - // CLOSED-CAPTIONS=NONE line in the manifest.omit: Omit any CLOSED-CAPTIONS - // line from the manifest. - CaptionLanguageSetting *string `locationName:"captionLanguageSetting" type:"string" enum:"HlsCaptionLanguageSetting"` + // The Amazon Resource Name (ARN) of the role this input assumes during and + // after creation. + RoleArn *string `locationName:"roleArn" type:"string"` - // When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, - // which prevents clients from saving media segments for later replay. - ClientCache *string `locationName:"clientCache" type:"string" enum:"HlsClientCache"` + // A list of IDs for all the Input Security Groups attached to the input. + SecurityGroups []*string `locationName:"securityGroups" type:"list"` - // Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist - // generation. - CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"HlsCodecSpecification"` + // A list of the sources of the input (PULL-type). + Sources []*InputSource `locationName:"sources" type:"list"` - // For use with encryptionType. This is a 128-bit, 16-byte hex value represented - // by a 32-character text string. If ivSource is set to "explicit" then this - // parameter is required and is used as the IV for encryption. - ConstantIv *string `locationName:"constantIv" min:"32" type:"string"` + State *string `locationName:"state" type:"string" enum:"InputState"` - // A directory or HTTP destination for the HLS segments, manifest files, and - // encryption keys (if enabled). - // - // Destination is a required field - Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` - // Place segments in subdirectories. - DirectoryStructure *string `locationName:"directoryStructure" type:"string" enum:"HlsDirectoryStructure"` + Type *string `locationName:"type" type:"string" enum:"InputType"` +} - // Encrypts the segments with the given encryption scheme. Exclude this parameter - // if no encryption is desired. - EncryptionType *string `locationName:"encryptionType" type:"string" enum:"HlsEncryptionType"` +// String returns the string representation +func (s Input) String() string { + return awsutil.Prettify(s) +} - // Parameters that control interactions with the CDN. - HlsCdnSettings *HlsCdnSettings `locationName:"hlsCdnSettings" type:"structure"` +// GoString returns the string representation +func (s Input) GoString() string { + return s.String() +} - // DISABLED: Do not create an I-frame-only manifest, but do create the master - // and media manifests (according to the Output Selection field).STANDARD: Create - // an I-frame-only manifest for each output that contains video, as well as - // the other manifests (according to the Output Selection field). The I-frame - // manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, - // and one or more #EXT-X-BYTERANGE entries identifying the I-frame position. - // For example, #EXT-X-BYTERANGE:160364@1461888" - IFrameOnlyPlaylists *string `locationName:"iFrameOnlyPlaylists" type:"string" enum:"IFrameOnlyPlaylistType"` +// SetArn sets the Arn field's value. +func (s *Input) SetArn(v string) *Input { + s.Arn = &v + return s +} + +// SetAttachedChannels sets the AttachedChannels field's value. +func (s *Input) SetAttachedChannels(v []*string) *Input { + s.AttachedChannels = v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *Input) SetDestinations(v []*InputDestination) *Input { + s.Destinations = v + return s +} - // Applies only if Mode field is LIVE. Specifies the maximum number of segments - // in the media manifest file. After this maximum, older segments are removed - // from the media manifest. This number must be less than or equal to the Keep - // Segments field. - IndexNSegments *int64 `locationName:"indexNSegments" min:"3" type:"integer"` +// SetId sets the Id field's value. +func (s *Input) SetId(v string) *Input { + s.Id = &v + return s +} - // Parameter that control output group behavior on input loss. - InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForHlsOut"` +// SetInputClass sets the InputClass field's value. +func (s *Input) SetInputClass(v string) *Input { + s.InputClass = &v + return s +} - // For use with encryptionType. The IV (Initialization Vector) is a 128-bit - // number used in conjunction with the key for encrypting blocks. If set to - // "include", IV is listed in the manifest, otherwise the IV is not in the manifest. - IvInManifest *string `locationName:"ivInManifest" type:"string" enum:"HlsIvInManifest"` +// SetInputSourceType sets the InputSourceType field's value. +func (s *Input) SetInputSourceType(v string) *Input { + s.InputSourceType = &v + return s +} - // For use with encryptionType. The IV (Initialization Vector) is a 128-bit - // number used in conjunction with the key for encrypting blocks. If this setting - // is "followsSegmentNumber", it will cause the IV to change every segment (to - // match the segment number). If this is set to "explicit", you must enter a - // constantIv value. - IvSource *string `locationName:"ivSource" type:"string" enum:"HlsIvSource"` +// SetMediaConnectFlows sets the MediaConnectFlows field's value. +func (s *Input) SetMediaConnectFlows(v []*MediaConnectFlow) *Input { + s.MediaConnectFlows = v + return s +} - // Applies only if Mode field is LIVE. Specifies the number of media segments - // (.ts files) to retain in the destination directory. - KeepSegments *int64 `locationName:"keepSegments" min:"1" type:"integer"` +// SetName sets the Name field's value. +func (s *Input) SetName(v string) *Input { + s.Name = &v + return s +} - // The value specifies how the key is represented in the resource identified - // by the URI. If parameter is absent, an implicit value of "identity" is used. - // A reverse DNS string can also be given. - KeyFormat *string `locationName:"keyFormat" type:"string"` +// SetRoleArn sets the RoleArn field's value. +func (s *Input) SetRoleArn(v string) *Input { + s.RoleArn = &v + return s +} - // Either a single positive integer version value or a slash delimited list - // of version values (1/2/3). - KeyFormatVersions *string `locationName:"keyFormatVersions" type:"string"` +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *Input) SetSecurityGroups(v []*string) *Input { + s.SecurityGroups = v + return s +} - // The key provider settings. - KeyProviderSettings *KeyProviderSettings `locationName:"keyProviderSettings" type:"structure"` +// SetSources sets the Sources field's value. +func (s *Input) SetSources(v []*InputSource) *Input { + s.Sources = v + return s +} - // When set to gzip, compresses HLS playlist. - ManifestCompression *string `locationName:"manifestCompression" type:"string" enum:"HlsManifestCompression"` +// SetState sets the State field's value. +func (s *Input) SetState(v string) *Input { + s.State = &v + return s +} - // Indicates whether the output manifest should use floating point or integer - // values for segment duration. - ManifestDurationFormat *string `locationName:"manifestDurationFormat" type:"string" enum:"HlsManifestDurationFormat"` +// SetTags sets the Tags field's value. +func (s *Input) SetTags(v map[string]*string) *Input { + s.Tags = v + return s +} - // When set, minimumSegmentLength is enforced by looking ahead and back within - // the specified range for a nearby avail and extending the segment size if - // needed. - MinSegmentLength *int64 `locationName:"minSegmentLength" type:"integer"` +// SetType sets the Type field's value. +func (s *Input) SetType(v string) *Input { + s.Type = &v + return s +} - // If "vod", all segments are indexed and kept permanently in the destination - // and manifest. If "live", only the number segments specified in keepSegments - // and indexNSegments are kept; newer segments replace older segments, which - // may prevent players from rewinding all the way to the beginning of the event.VOD - // mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, - // converting it to a "VOD" type manifest on completion of the stream. - Mode *string `locationName:"mode" type:"string" enum:"HlsMode"` +type InputAttachment struct { + _ struct{} `type:"structure"` - // MANIFESTSANDSEGMENTS: Generates manifests (master manifest, if applicable, - // and media manifests) for this output group.SEGMENTSONLY: Does not generate - // any manifests for this output group. - OutputSelection *string `locationName:"outputSelection" type:"string" enum:"HlsOutputSelection"` + // User-specified name for the attachment. This is required if the user wants + // to use this input in an input switch action. + InputAttachmentName *string `locationName:"inputAttachmentName" type:"string"` - // Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. - // The value is calculated as follows: either the program date and time are - // initialized using the input timecode source, or the time is initialized using - // the input timecode source and the date is initialized using the timestampOffset. - ProgramDateTime *string `locationName:"programDateTime" type:"string" enum:"HlsProgramDateTime"` + // The ID of the input + InputId *string `locationName:"inputId" type:"string"` - // Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds. - ProgramDateTimePeriod *int64 `locationName:"programDateTimePeriod" type:"integer"` + // Settings of an input (caption selector, etc.) + InputSettings *InputSettings `locationName:"inputSettings" type:"structure"` +} - // ENABLED: The master manifest (.m3u8 file) for each pipeline includes information - // about both pipelines: first its own media files, then the media files of - // the other pipeline. This feature allows playout device that support stale - // manifest detection to switch from one manifest to the other, when the current - // manifest seems to be stale. There are still two destinations and two master - // manifests, but both master manifests reference the media files from both - // pipelines.DISABLED: The master manifest (.m3u8 file) for each pipeline includes - // information about its own pipeline only.For an HLS output group with MediaPackage - // as the destination, the DISABLED behavior is always followed. MediaPackage - // regenerates the manifests it serves to players so a redundant manifest from - // MediaLive is irrelevant. - RedundantManifest *string `locationName:"redundantManifest" type:"string" enum:"HlsRedundantManifest"` +// String returns the string representation +func (s InputAttachment) String() string { + return awsutil.Prettify(s) +} - // Length of MPEG-2 Transport Stream segments to create (in seconds). Note that - // segments will end on the next keyframe after this number of seconds, so actual - // segment length may be longer. - SegmentLength *int64 `locationName:"segmentLength" min:"1" type:"integer"` +// GoString returns the string representation +func (s InputAttachment) GoString() string { + return s.String() +} - // useInputSegmentation has been deprecated. The configured segment size is - // always used. - SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"HlsSegmentationMode"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputAttachment) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputAttachment"} + if s.InputSettings != nil { + if err := s.InputSettings.Validate(); err != nil { + invalidParams.AddNested("InputSettings", err.(request.ErrInvalidParams)) + } + } - // Number of segments to write to a subdirectory before starting a new one. - // directoryStructure must be subdirectoryPerStream for this setting to have - // an effect. - SegmentsPerSubdirectory *int64 `locationName:"segmentsPerSubdirectory" min:"1" type:"integer"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag - // of variant manifest. - StreamInfResolution *string `locationName:"streamInfResolution" type:"string" enum:"HlsStreamInfResolution"` +// SetInputAttachmentName sets the InputAttachmentName field's value. +func (s *InputAttachment) SetInputAttachmentName(v string) *InputAttachment { + s.InputAttachmentName = &v + return s +} - // Indicates ID3 frame that has the timecode. - TimedMetadataId3Frame *string `locationName:"timedMetadataId3Frame" type:"string" enum:"HlsTimedMetadataId3Frame"` +// SetInputId sets the InputId field's value. +func (s *InputAttachment) SetInputId(v string) *InputAttachment { + s.InputId = &v + return s +} - // Timed Metadata interval in seconds. - TimedMetadataId3Period *int64 `locationName:"timedMetadataId3Period" type:"integer"` +// SetInputSettings sets the InputSettings field's value. +func (s *InputAttachment) SetInputSettings(v *InputSettings) *InputAttachment { + s.InputSettings = v + return s +} - // Provides an extra millisecond delta offset to fine tune the timestamps. - TimestampDeltaMilliseconds *int64 `locationName:"timestampDeltaMilliseconds" type:"integer"` +// Input Channel Level +type InputChannelLevel struct { + _ struct{} `type:"structure"` - // SEGMENTEDFILES: Emit the program as segments - multiple .ts media files.SINGLEFILE: - // Applies only if Mode field is VOD. Emit the program as a single .ts media - // file. The media manifest includes #EXT-X-BYTERANGE tags to index segments - // for playback. A typical use for this value is when sending the output to - // AWS Elemental MediaConvert, which can accept only a single media file. Playback - // while the channel is running is not guaranteed due to HTTP server caching. - TsFileMode *string `locationName:"tsFileMode" type:"string" enum:"HlsTsFileMode"` + // Remixing value. Units are in dB and acceptable values are within the range + // from -60 (mute) and 6 dB. + // + // Gain is a required field + Gain *int64 `locationName:"gain" type:"integer" required:"true"` + + // The index of the input channel used as a source. + // + // InputChannel is a required field + InputChannel *int64 `locationName:"inputChannel" type:"integer" required:"true"` } // String returns the string representation -func (s HlsGroupSettings) String() string { +func (s InputChannelLevel) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsGroupSettings) GoString() string { +func (s InputChannelLevel) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HlsGroupSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HlsGroupSettings"} - if s.ConstantIv != nil && len(*s.ConstantIv) < 32 { - invalidParams.Add(request.NewErrParamMinLen("ConstantIv", 32)) - } - if s.Destination == nil { - invalidParams.Add(request.NewErrParamRequired("Destination")) - } - if s.IndexNSegments != nil && *s.IndexNSegments < 3 { - invalidParams.Add(request.NewErrParamMinValue("IndexNSegments", 3)) - } - if s.KeepSegments != nil && *s.KeepSegments < 1 { - invalidParams.Add(request.NewErrParamMinValue("KeepSegments", 1)) - } - if s.SegmentLength != nil && *s.SegmentLength < 1 { - invalidParams.Add(request.NewErrParamMinValue("SegmentLength", 1)) - } - if s.SegmentsPerSubdirectory != nil && *s.SegmentsPerSubdirectory < 1 { - invalidParams.Add(request.NewErrParamMinValue("SegmentsPerSubdirectory", 1)) +func (s *InputChannelLevel) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputChannelLevel"} + if s.Gain == nil { + invalidParams.Add(request.NewErrParamRequired("Gain")) } - if s.CaptionLanguageMappings != nil { - for i, v := range s.CaptionLanguageMappings { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionLanguageMappings", i), err.(request.ErrInvalidParams)) - } - } + if s.Gain != nil && *s.Gain < -60 { + invalidParams.Add(request.NewErrParamMinValue("Gain", -60)) } - if s.KeyProviderSettings != nil { - if err := s.KeyProviderSettings.Validate(); err != nil { - invalidParams.AddNested("KeyProviderSettings", err.(request.ErrInvalidParams)) - } + if s.InputChannel == nil { + invalidParams.Add(request.NewErrParamRequired("InputChannel")) } if invalidParams.Len() > 0 { @@ -10246,449 +12983,473 @@ func (s *HlsGroupSettings) Validate() error { return nil } -// SetAdMarkers sets the AdMarkers field's value. -func (s *HlsGroupSettings) SetAdMarkers(v []*string) *HlsGroupSettings { - s.AdMarkers = v - return s -} - -// SetBaseUrlContent sets the BaseUrlContent field's value. -func (s *HlsGroupSettings) SetBaseUrlContent(v string) *HlsGroupSettings { - s.BaseUrlContent = &v +// SetGain sets the Gain field's value. +func (s *InputChannelLevel) SetGain(v int64) *InputChannelLevel { + s.Gain = &v return s } -// SetBaseUrlManifest sets the BaseUrlManifest field's value. -func (s *HlsGroupSettings) SetBaseUrlManifest(v string) *HlsGroupSettings { - s.BaseUrlManifest = &v +// SetInputChannel sets the InputChannel field's value. +func (s *InputChannelLevel) SetInputChannel(v int64) *InputChannelLevel { + s.InputChannel = &v return s } -// SetCaptionLanguageMappings sets the CaptionLanguageMappings field's value. -func (s *HlsGroupSettings) SetCaptionLanguageMappings(v []*CaptionLanguageMapping) *HlsGroupSettings { - s.CaptionLanguageMappings = v - return s -} +// Settings to let you create a clip of the file input, in order to set up the +// input to ingest only a portion of the file. +type InputClippingSettings struct { + _ struct{} `type:"structure"` -// SetCaptionLanguageSetting sets the CaptionLanguageSetting field's value. -func (s *HlsGroupSettings) SetCaptionLanguageSetting(v string) *HlsGroupSettings { - s.CaptionLanguageSetting = &v - return s -} + // The source of the timecodes in the source being clipped. + // + // InputTimecodeSource is a required field + InputTimecodeSource *string `locationName:"inputTimecodeSource" type:"string" required:"true" enum:"InputTimecodeSource"` -// SetClientCache sets the ClientCache field's value. -func (s *HlsGroupSettings) SetClientCache(v string) *HlsGroupSettings { - s.ClientCache = &v - return s -} + // Settings to identify the start of the clip. + StartTimecode *StartTimecode `locationName:"startTimecode" type:"structure"` -// SetCodecSpecification sets the CodecSpecification field's value. -func (s *HlsGroupSettings) SetCodecSpecification(v string) *HlsGroupSettings { - s.CodecSpecification = &v - return s + // Settings to identify the end of the clip. + StopTimecode *StopTimecode `locationName:"stopTimecode" type:"structure"` } -// SetConstantIv sets the ConstantIv field's value. -func (s *HlsGroupSettings) SetConstantIv(v string) *HlsGroupSettings { - s.ConstantIv = &v - return s +// String returns the string representation +func (s InputClippingSettings) String() string { + return awsutil.Prettify(s) } -// SetDestination sets the Destination field's value. -func (s *HlsGroupSettings) SetDestination(v *OutputLocationRef) *HlsGroupSettings { - s.Destination = v - return s +// GoString returns the string representation +func (s InputClippingSettings) GoString() string { + return s.String() } -// SetDirectoryStructure sets the DirectoryStructure field's value. -func (s *HlsGroupSettings) SetDirectoryStructure(v string) *HlsGroupSettings { - s.DirectoryStructure = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputClippingSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputClippingSettings"} + if s.InputTimecodeSource == nil { + invalidParams.Add(request.NewErrParamRequired("InputTimecodeSource")) + } -// SetEncryptionType sets the EncryptionType field's value. -func (s *HlsGroupSettings) SetEncryptionType(v string) *HlsGroupSettings { - s.EncryptionType = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetHlsCdnSettings sets the HlsCdnSettings field's value. -func (s *HlsGroupSettings) SetHlsCdnSettings(v *HlsCdnSettings) *HlsGroupSettings { - s.HlsCdnSettings = v +// SetInputTimecodeSource sets the InputTimecodeSource field's value. +func (s *InputClippingSettings) SetInputTimecodeSource(v string) *InputClippingSettings { + s.InputTimecodeSource = &v return s } -// SetIFrameOnlyPlaylists sets the IFrameOnlyPlaylists field's value. -func (s *HlsGroupSettings) SetIFrameOnlyPlaylists(v string) *HlsGroupSettings { - s.IFrameOnlyPlaylists = &v +// SetStartTimecode sets the StartTimecode field's value. +func (s *InputClippingSettings) SetStartTimecode(v *StartTimecode) *InputClippingSettings { + s.StartTimecode = v return s } -// SetIndexNSegments sets the IndexNSegments field's value. -func (s *HlsGroupSettings) SetIndexNSegments(v int64) *HlsGroupSettings { - s.IndexNSegments = &v +// SetStopTimecode sets the StopTimecode field's value. +func (s *InputClippingSettings) SetStopTimecode(v *StopTimecode) *InputClippingSettings { + s.StopTimecode = v return s } -// SetInputLossAction sets the InputLossAction field's value. -func (s *HlsGroupSettings) SetInputLossAction(v string) *HlsGroupSettings { - s.InputLossAction = &v - return s -} +// The settings for a PUSH type input. +type InputDestination struct { + _ struct{} `type:"structure"` -// SetIvInManifest sets the IvInManifest field's value. -func (s *HlsGroupSettings) SetIvInManifest(v string) *HlsGroupSettings { - s.IvInManifest = &v - return s -} + // The system-generated static IP address of endpoint.It remains fixed for the + // lifetime of the input. + Ip *string `locationName:"ip" type:"string"` -// SetIvSource sets the IvSource field's value. -func (s *HlsGroupSettings) SetIvSource(v string) *HlsGroupSettings { - s.IvSource = &v - return s -} + // The port number for the input. + Port *string `locationName:"port" type:"string"` -// SetKeepSegments sets the KeepSegments field's value. -func (s *HlsGroupSettings) SetKeepSegments(v int64) *HlsGroupSettings { - s.KeepSegments = &v - return s -} + // This represents the endpoint that the customer stream will bepushed to. + Url *string `locationName:"url" type:"string"` -// SetKeyFormat sets the KeyFormat field's value. -func (s *HlsGroupSettings) SetKeyFormat(v string) *HlsGroupSettings { - s.KeyFormat = &v - return s + // The properties for a VPC type input destination. + Vpc *InputDestinationVpc `locationName:"vpc" type:"structure"` } -// SetKeyFormatVersions sets the KeyFormatVersions field's value. -func (s *HlsGroupSettings) SetKeyFormatVersions(v string) *HlsGroupSettings { - s.KeyFormatVersions = &v - return s +// String returns the string representation +func (s InputDestination) String() string { + return awsutil.Prettify(s) } -// SetKeyProviderSettings sets the KeyProviderSettings field's value. -func (s *HlsGroupSettings) SetKeyProviderSettings(v *KeyProviderSettings) *HlsGroupSettings { - s.KeyProviderSettings = v - return s +// GoString returns the string representation +func (s InputDestination) GoString() string { + return s.String() } -// SetManifestCompression sets the ManifestCompression field's value. -func (s *HlsGroupSettings) SetManifestCompression(v string) *HlsGroupSettings { - s.ManifestCompression = &v +// SetIp sets the Ip field's value. +func (s *InputDestination) SetIp(v string) *InputDestination { + s.Ip = &v return s } -// SetManifestDurationFormat sets the ManifestDurationFormat field's value. -func (s *HlsGroupSettings) SetManifestDurationFormat(v string) *HlsGroupSettings { - s.ManifestDurationFormat = &v +// SetPort sets the Port field's value. +func (s *InputDestination) SetPort(v string) *InputDestination { + s.Port = &v return s } -// SetMinSegmentLength sets the MinSegmentLength field's value. -func (s *HlsGroupSettings) SetMinSegmentLength(v int64) *HlsGroupSettings { - s.MinSegmentLength = &v +// SetUrl sets the Url field's value. +func (s *InputDestination) SetUrl(v string) *InputDestination { + s.Url = &v return s } -// SetMode sets the Mode field's value. -func (s *HlsGroupSettings) SetMode(v string) *HlsGroupSettings { - s.Mode = &v +// SetVpc sets the Vpc field's value. +func (s *InputDestination) SetVpc(v *InputDestinationVpc) *InputDestination { + s.Vpc = v return s } -// SetOutputSelection sets the OutputSelection field's value. -func (s *HlsGroupSettings) SetOutputSelection(v string) *HlsGroupSettings { - s.OutputSelection = &v - return s -} +// Endpoint settings for a PUSH type input. +type InputDestinationRequest struct { + _ struct{} `type:"structure"` -// SetProgramDateTime sets the ProgramDateTime field's value. -func (s *HlsGroupSettings) SetProgramDateTime(v string) *HlsGroupSettings { - s.ProgramDateTime = &v - return s + // A unique name for the location the RTMP stream is being pushedto. + StreamName *string `locationName:"streamName" type:"string"` } -// SetProgramDateTimePeriod sets the ProgramDateTimePeriod field's value. -func (s *HlsGroupSettings) SetProgramDateTimePeriod(v int64) *HlsGroupSettings { - s.ProgramDateTimePeriod = &v - return s +// String returns the string representation +func (s InputDestinationRequest) String() string { + return awsutil.Prettify(s) } -// SetRedundantManifest sets the RedundantManifest field's value. -func (s *HlsGroupSettings) SetRedundantManifest(v string) *HlsGroupSettings { - s.RedundantManifest = &v - return s +// GoString returns the string representation +func (s InputDestinationRequest) GoString() string { + return s.String() } -// SetSegmentLength sets the SegmentLength field's value. -func (s *HlsGroupSettings) SetSegmentLength(v int64) *HlsGroupSettings { - s.SegmentLength = &v +// SetStreamName sets the StreamName field's value. +func (s *InputDestinationRequest) SetStreamName(v string) *InputDestinationRequest { + s.StreamName = &v return s } -// SetSegmentationMode sets the SegmentationMode field's value. -func (s *HlsGroupSettings) SetSegmentationMode(v string) *HlsGroupSettings { - s.SegmentationMode = &v - return s -} +// The properties for a VPC type input destination. +type InputDestinationVpc struct { + _ struct{} `type:"structure"` -// SetSegmentsPerSubdirectory sets the SegmentsPerSubdirectory field's value. -func (s *HlsGroupSettings) SetSegmentsPerSubdirectory(v int64) *HlsGroupSettings { - s.SegmentsPerSubdirectory = &v - return s -} + // The availability zone of the Input destination. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` -// SetStreamInfResolution sets the StreamInfResolution field's value. -func (s *HlsGroupSettings) SetStreamInfResolution(v string) *HlsGroupSettings { - s.StreamInfResolution = &v - return s + // The network interface ID of the Input destination in the VPC. + NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` } -// SetTimedMetadataId3Frame sets the TimedMetadataId3Frame field's value. -func (s *HlsGroupSettings) SetTimedMetadataId3Frame(v string) *HlsGroupSettings { - s.TimedMetadataId3Frame = &v - return s +// String returns the string representation +func (s InputDestinationVpc) String() string { + return awsutil.Prettify(s) } -// SetTimedMetadataId3Period sets the TimedMetadataId3Period field's value. -func (s *HlsGroupSettings) SetTimedMetadataId3Period(v int64) *HlsGroupSettings { - s.TimedMetadataId3Period = &v - return s +// GoString returns the string representation +func (s InputDestinationVpc) GoString() string { + return s.String() } -// SetTimestampDeltaMilliseconds sets the TimestampDeltaMilliseconds field's value. -func (s *HlsGroupSettings) SetTimestampDeltaMilliseconds(v int64) *HlsGroupSettings { - s.TimestampDeltaMilliseconds = &v +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *InputDestinationVpc) SetAvailabilityZone(v string) *InputDestinationVpc { + s.AvailabilityZone = &v return s } -// SetTsFileMode sets the TsFileMode field's value. -func (s *HlsGroupSettings) SetTsFileMode(v string) *HlsGroupSettings { - s.TsFileMode = &v +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *InputDestinationVpc) SetNetworkInterfaceId(v string) *InputDestinationVpc { + s.NetworkInterfaceId = &v return s } -// Hls Input Settings -type HlsInputSettings struct { +// Input Location +type InputLocation struct { _ struct{} `type:"structure"` - // When specified the HLS stream with the m3u8 BANDWIDTH that most closely matches - // this value will be chosen, otherwise the highest bandwidth stream in the - // m3u8 will be chosen. The bitrate is specified in bits per second, as in an - // HLS manifest. - Bandwidth *int64 `locationName:"bandwidth" type:"integer"` - - // When specified, reading of the HLS input will begin this many buffer segments - // from the end (most recently written segment). When not specified, the HLS - // input will begin with the first segment specified in the m3u8. - BufferSegments *int64 `locationName:"bufferSegments" type:"integer"` + // key used to extract the password from EC2 Parameter store + PasswordParam *string `locationName:"passwordParam" type:"string"` - // The number of consecutive times that attempts to read a manifest or segment - // must fail before the input is considered unavailable. - Retries *int64 `locationName:"retries" type:"integer"` + // Uniform Resource Identifier - This should be a path to a file accessible + // to the Live system (eg. a http:// URI) depending on the output type. For + // example, a RTMP destination should have a uri simliar to: "rtmp://fmsserver/live". + // + // Uri is a required field + Uri *string `locationName:"uri" type:"string" required:"true"` - // The number of seconds between retries when an attempt to read a manifest - // or segment fails. - RetryInterval *int64 `locationName:"retryInterval" type:"integer"` + // Username if credentials are required to access a file or publishing point. + // This can be either a plaintext username, or a reference to an AWS parameter + // store name from which the username can be retrieved. AWS Parameter store + // format: "ssm://" + Username *string `locationName:"username" type:"string"` } // String returns the string representation -func (s HlsInputSettings) String() string { +func (s InputLocation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsInputSettings) GoString() string { +func (s InputLocation) GoString() string { return s.String() } -// SetBandwidth sets the Bandwidth field's value. -func (s *HlsInputSettings) SetBandwidth(v int64) *HlsInputSettings { - s.Bandwidth = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputLocation"} + if s.Uri == nil { + invalidParams.Add(request.NewErrParamRequired("Uri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetBufferSegments sets the BufferSegments field's value. -func (s *HlsInputSettings) SetBufferSegments(v int64) *HlsInputSettings { - s.BufferSegments = &v +// SetPasswordParam sets the PasswordParam field's value. +func (s *InputLocation) SetPasswordParam(v string) *InputLocation { + s.PasswordParam = &v return s } -// SetRetries sets the Retries field's value. -func (s *HlsInputSettings) SetRetries(v int64) *HlsInputSettings { - s.Retries = &v +// SetUri sets the Uri field's value. +func (s *InputLocation) SetUri(v string) *InputLocation { + s.Uri = &v return s } -// SetRetryInterval sets the RetryInterval field's value. -func (s *HlsInputSettings) SetRetryInterval(v int64) *HlsInputSettings { - s.RetryInterval = &v +// SetUsername sets the Username field's value. +func (s *InputLocation) SetUsername(v string) *InputLocation { + s.Username = &v return s } -// Hls Media Store Settings -type HlsMediaStoreSettings struct { +// Input Loss Behavior +type InputLossBehavior struct { _ struct{} `type:"structure"` - // Number of seconds to wait before retrying connection to the CDN if the connection - // is lost. - ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` + // On input loss, the number of milliseconds to substitute black into the output + // before switching to the frame specified by inputLossImageType. A value x, + // where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as + // infinite. + BlackFrameMsec *int64 `locationName:"blackFrameMsec" type:"integer"` - // Size in seconds of file cache for streaming outputs. - FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` + // When input loss image type is "color" this field specifies the color to use. + // Value: 6 hex characters representing the values of RGB. + InputLossImageColor *string `locationName:"inputLossImageColor" min:"6" type:"string"` - // When set to temporal, output files are stored in non-persistent memory for - // faster reading and writing. - MediaStoreStorageClass *string `locationName:"mediaStoreStorageClass" type:"string" enum:"HlsMediaStoreStorageClass"` + // When input loss image type is "slate" these fields specify the parameters + // for accessing the slate. + InputLossImageSlate *InputLocation `locationName:"inputLossImageSlate" type:"structure"` - // Number of retry attempts that will be made before the Live Event is put into - // an error state. - NumRetries *int64 `locationName:"numRetries" type:"integer"` + // Indicates whether to substitute a solid color or a slate into the output + // after input loss exceeds blackFrameMsec. + InputLossImageType *string `locationName:"inputLossImageType" type:"string" enum:"InputLossImageType"` - // If a streaming output fails, number of seconds to wait until a restart is - // initiated. A value of 0 means never restart. - RestartDelay *int64 `locationName:"restartDelay" type:"integer"` + // On input loss, the number of milliseconds to repeat the previous picture + // before substituting black into the output. A value x, where 0 <= x <= 1,000,000 + // and a value of 1,000,000 will be interpreted as infinite. + RepeatFrameMsec *int64 `locationName:"repeatFrameMsec" type:"integer"` } // String returns the string representation -func (s HlsMediaStoreSettings) String() string { +func (s InputLossBehavior) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsMediaStoreSettings) GoString() string { +func (s InputLossBehavior) GoString() string { return s.String() } -// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. -func (s *HlsMediaStoreSettings) SetConnectionRetryInterval(v int64) *HlsMediaStoreSettings { - s.ConnectionRetryInterval = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputLossBehavior) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputLossBehavior"} + if s.InputLossImageColor != nil && len(*s.InputLossImageColor) < 6 { + invalidParams.Add(request.NewErrParamMinLen("InputLossImageColor", 6)) + } + if s.InputLossImageSlate != nil { + if err := s.InputLossImageSlate.Validate(); err != nil { + invalidParams.AddNested("InputLossImageSlate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBlackFrameMsec sets the BlackFrameMsec field's value. +func (s *InputLossBehavior) SetBlackFrameMsec(v int64) *InputLossBehavior { + s.BlackFrameMsec = &v return s } -// SetFilecacheDuration sets the FilecacheDuration field's value. -func (s *HlsMediaStoreSettings) SetFilecacheDuration(v int64) *HlsMediaStoreSettings { - s.FilecacheDuration = &v +// SetInputLossImageColor sets the InputLossImageColor field's value. +func (s *InputLossBehavior) SetInputLossImageColor(v string) *InputLossBehavior { + s.InputLossImageColor = &v return s } -// SetMediaStoreStorageClass sets the MediaStoreStorageClass field's value. -func (s *HlsMediaStoreSettings) SetMediaStoreStorageClass(v string) *HlsMediaStoreSettings { - s.MediaStoreStorageClass = &v +// SetInputLossImageSlate sets the InputLossImageSlate field's value. +func (s *InputLossBehavior) SetInputLossImageSlate(v *InputLocation) *InputLossBehavior { + s.InputLossImageSlate = v return s } -// SetNumRetries sets the NumRetries field's value. -func (s *HlsMediaStoreSettings) SetNumRetries(v int64) *HlsMediaStoreSettings { - s.NumRetries = &v +// SetInputLossImageType sets the InputLossImageType field's value. +func (s *InputLossBehavior) SetInputLossImageType(v string) *InputLossBehavior { + s.InputLossImageType = &v return s } -// SetRestartDelay sets the RestartDelay field's value. -func (s *HlsMediaStoreSettings) SetRestartDelay(v int64) *HlsMediaStoreSettings { - s.RestartDelay = &v +// SetRepeatFrameMsec sets the RepeatFrameMsec field's value. +func (s *InputLossBehavior) SetRepeatFrameMsec(v int64) *InputLossBehavior { + s.RepeatFrameMsec = &v return s } -// Hls Output Settings -type HlsOutputSettings struct { +// An Input Security Group +type InputSecurityGroup struct { _ struct{} `type:"structure"` - // Settings regarding the underlying stream. These settings are different for - // audio-only outputs. - // - // HlsSettings is a required field - HlsSettings *HlsSettings `locationName:"hlsSettings" type:"structure" required:"true"` + // Unique ARN of Input Security Group + Arn *string `locationName:"arn" type:"string"` - // String concatenated to the end of the destination filename. Accepts \"Format - // Identifiers\":#formatIdentifierParameters. - NameModifier *string `locationName:"nameModifier" min:"1" type:"string"` + // The Id of the Input Security Group + Id *string `locationName:"id" type:"string"` - // String concatenated to end of segment filenames. - SegmentModifier *string `locationName:"segmentModifier" type:"string"` + // The list of inputs currently using this Input Security Group. + Inputs []*string `locationName:"inputs" type:"list"` + + // The current state of the Input Security Group. + State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"` + + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` + + // Whitelist rules and their sync status + WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"` } // String returns the string representation -func (s HlsOutputSettings) String() string { +func (s InputSecurityGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsOutputSettings) GoString() string { +func (s InputSecurityGroup) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *HlsOutputSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HlsOutputSettings"} - if s.HlsSettings == nil { - invalidParams.Add(request.NewErrParamRequired("HlsSettings")) - } - if s.NameModifier != nil && len(*s.NameModifier) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NameModifier", 1)) - } - if s.HlsSettings != nil { - if err := s.HlsSettings.Validate(); err != nil { - invalidParams.AddNested("HlsSettings", err.(request.ErrInvalidParams)) - } - } +// SetArn sets the Arn field's value. +func (s *InputSecurityGroup) SetArn(v string) *InputSecurityGroup { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetId sets the Id field's value. +func (s *InputSecurityGroup) SetId(v string) *InputSecurityGroup { + s.Id = &v + return s } -// SetHlsSettings sets the HlsSettings field's value. -func (s *HlsOutputSettings) SetHlsSettings(v *HlsSettings) *HlsOutputSettings { - s.HlsSettings = v +// SetInputs sets the Inputs field's value. +func (s *InputSecurityGroup) SetInputs(v []*string) *InputSecurityGroup { + s.Inputs = v return s } -// SetNameModifier sets the NameModifier field's value. -func (s *HlsOutputSettings) SetNameModifier(v string) *HlsOutputSettings { - s.NameModifier = &v - return s -} +// SetState sets the State field's value. +func (s *InputSecurityGroup) SetState(v string) *InputSecurityGroup { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *InputSecurityGroup) SetTags(v map[string]*string) *InputSecurityGroup { + s.Tags = v + return s +} + +// SetWhitelistRules sets the WhitelistRules field's value. +func (s *InputSecurityGroup) SetWhitelistRules(v []*InputWhitelistRule) *InputSecurityGroup { + s.WhitelistRules = v + return s +} + +// Live Event input parameters. There can be multiple inputs in a single Live +// Event. +type InputSettings struct { + _ struct{} `type:"structure"` + + // Used to select the audio stream to decode for inputs that have multiple available. + AudioSelectors []*AudioSelector `locationName:"audioSelectors" type:"list"` + + // Used to select the caption input to use for inputs that have multiple available. + CaptionSelectors []*CaptionSelector `locationName:"captionSelectors" type:"list"` + + // Enable or disable the deblock filter when filtering. + DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"` + + // Enable or disable the denoise filter when filtering. + DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"` -// SetSegmentModifier sets the SegmentModifier field's value. -func (s *HlsOutputSettings) SetSegmentModifier(v string) *HlsOutputSettings { - s.SegmentModifier = &v - return s -} + // Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest). + FilterStrength *int64 `locationName:"filterStrength" min:"1" type:"integer"` -// Hls Settings -type HlsSettings struct { - _ struct{} `type:"structure"` + // Turns on the filter for this input. MPEG-2 inputs have the deblocking filter + // enabled by default.1) auto - filtering will be applied depending on input + // type/quality2) disabled - no filtering will be applied to the input3) forced + // - filtering will be applied regardless of input type + InputFilter *string `locationName:"inputFilter" type:"string" enum:"InputFilter"` - // Audio Only Hls Settings - AudioOnlyHlsSettings *AudioOnlyHlsSettings `locationName:"audioOnlyHlsSettings" type:"structure"` + // Input settings. + NetworkInputSettings *NetworkInputSettings `locationName:"networkInputSettings" type:"structure"` - // Standard Hls Settings - StandardHlsSettings *StandardHlsSettings `locationName:"standardHlsSettings" type:"structure"` + // Loop input if it is a file. This allows a file input to be streamed indefinitely. + SourceEndBehavior *string `locationName:"sourceEndBehavior" type:"string" enum:"InputSourceEndBehavior"` + + // Informs which video elementary stream to decode for input types that have + // multiple available. + VideoSelector *VideoSelector `locationName:"videoSelector" type:"structure"` } // String returns the string representation -func (s HlsSettings) String() string { +func (s InputSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsSettings) GoString() string { +func (s InputSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HlsSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HlsSettings"} - if s.AudioOnlyHlsSettings != nil { - if err := s.AudioOnlyHlsSettings.Validate(); err != nil { - invalidParams.AddNested("AudioOnlyHlsSettings", err.(request.ErrInvalidParams)) +func (s *InputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputSettings"} + if s.FilterStrength != nil && *s.FilterStrength < 1 { + invalidParams.Add(request.NewErrParamMinValue("FilterStrength", 1)) + } + if s.AudioSelectors != nil { + for i, v := range s.AudioSelectors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams)) + } } } - if s.StandardHlsSettings != nil { - if err := s.StandardHlsSettings.Validate(); err != nil { - invalidParams.AddNested("StandardHlsSettings", err.(request.ErrInvalidParams)) + if s.CaptionSelectors != nil { + for i, v := range s.CaptionSelectors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams)) + } } } @@ -10698,315 +13459,287 @@ func (s *HlsSettings) Validate() error { return nil } -// SetAudioOnlyHlsSettings sets the AudioOnlyHlsSettings field's value. -func (s *HlsSettings) SetAudioOnlyHlsSettings(v *AudioOnlyHlsSettings) *HlsSettings { - s.AudioOnlyHlsSettings = v +// SetAudioSelectors sets the AudioSelectors field's value. +func (s *InputSettings) SetAudioSelectors(v []*AudioSelector) *InputSettings { + s.AudioSelectors = v return s } -// SetStandardHlsSettings sets the StandardHlsSettings field's value. -func (s *HlsSettings) SetStandardHlsSettings(v *StandardHlsSettings) *HlsSettings { - s.StandardHlsSettings = v +// SetCaptionSelectors sets the CaptionSelectors field's value. +func (s *InputSettings) SetCaptionSelectors(v []*CaptionSelector) *InputSettings { + s.CaptionSelectors = v return s } -// Settings for the action to emit HLS metadata -type HlsTimedMetadataScheduleActionSettings struct { - _ struct{} `type:"structure"` +// SetDeblockFilter sets the DeblockFilter field's value. +func (s *InputSettings) SetDeblockFilter(v string) *InputSettings { + s.DeblockFilter = &v + return s +} - // Base64 string formatted according to the ID3 specification: http://id3.org/id3v2.4.0-structure - // - // Id3 is a required field - Id3 *string `locationName:"id3" type:"string" required:"true"` +// SetDenoiseFilter sets the DenoiseFilter field's value. +func (s *InputSettings) SetDenoiseFilter(v string) *InputSettings { + s.DenoiseFilter = &v + return s } -// String returns the string representation -func (s HlsTimedMetadataScheduleActionSettings) String() string { - return awsutil.Prettify(s) +// SetFilterStrength sets the FilterStrength field's value. +func (s *InputSettings) SetFilterStrength(v int64) *InputSettings { + s.FilterStrength = &v + return s } -// GoString returns the string representation -func (s HlsTimedMetadataScheduleActionSettings) GoString() string { - return s.String() +// SetInputFilter sets the InputFilter field's value. +func (s *InputSettings) SetInputFilter(v string) *InputSettings { + s.InputFilter = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *HlsTimedMetadataScheduleActionSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HlsTimedMetadataScheduleActionSettings"} - if s.Id3 == nil { - invalidParams.Add(request.NewErrParamRequired("Id3")) - } +// SetNetworkInputSettings sets the NetworkInputSettings field's value. +func (s *InputSettings) SetNetworkInputSettings(v *NetworkInputSettings) *InputSettings { + s.NetworkInputSettings = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSourceEndBehavior sets the SourceEndBehavior field's value. +func (s *InputSettings) SetSourceEndBehavior(v string) *InputSettings { + s.SourceEndBehavior = &v + return s } -// SetId3 sets the Id3 field's value. -func (s *HlsTimedMetadataScheduleActionSettings) SetId3(v string) *HlsTimedMetadataScheduleActionSettings { - s.Id3 = &v +// SetVideoSelector sets the VideoSelector field's value. +func (s *InputSettings) SetVideoSelector(v *VideoSelector) *InputSettings { + s.VideoSelector = v return s } -// Hls Webdav Settings -type HlsWebdavSettings struct { +// The settings for a PULL type input. +type InputSource struct { _ struct{} `type:"structure"` - // Number of seconds to wait before retrying connection to the CDN if the connection - // is lost. - ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` - - // Size in seconds of file cache for streaming outputs. - FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` - - // Specify whether or not to use chunked transfer encoding to WebDAV. - HttpTransferMode *string `locationName:"httpTransferMode" type:"string" enum:"HlsWebdavHttpTransferMode"` + // The key used to extract the password from EC2 Parameter store. + PasswordParam *string `locationName:"passwordParam" type:"string"` - // Number of retry attempts that will be made before the Live Event is put into - // an error state. - NumRetries *int64 `locationName:"numRetries" type:"integer"` + // This represents the customer's source URL where stream ispulled from. + Url *string `locationName:"url" type:"string"` - // If a streaming output fails, number of seconds to wait until a restart is - // initiated. A value of 0 means never restart. - RestartDelay *int64 `locationName:"restartDelay" type:"integer"` + // The username for the input source. + Username *string `locationName:"username" type:"string"` } // String returns the string representation -func (s HlsWebdavSettings) String() string { +func (s InputSource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HlsWebdavSettings) GoString() string { +func (s InputSource) GoString() string { return s.String() } -// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. -func (s *HlsWebdavSettings) SetConnectionRetryInterval(v int64) *HlsWebdavSettings { - s.ConnectionRetryInterval = &v - return s -} - -// SetFilecacheDuration sets the FilecacheDuration field's value. -func (s *HlsWebdavSettings) SetFilecacheDuration(v int64) *HlsWebdavSettings { - s.FilecacheDuration = &v - return s -} - -// SetHttpTransferMode sets the HttpTransferMode field's value. -func (s *HlsWebdavSettings) SetHttpTransferMode(v string) *HlsWebdavSettings { - s.HttpTransferMode = &v +// SetPasswordParam sets the PasswordParam field's value. +func (s *InputSource) SetPasswordParam(v string) *InputSource { + s.PasswordParam = &v return s } -// SetNumRetries sets the NumRetries field's value. -func (s *HlsWebdavSettings) SetNumRetries(v int64) *HlsWebdavSettings { - s.NumRetries = &v +// SetUrl sets the Url field's value. +func (s *InputSource) SetUrl(v string) *InputSource { + s.Url = &v return s } -// SetRestartDelay sets the RestartDelay field's value. -func (s *HlsWebdavSettings) SetRestartDelay(v int64) *HlsWebdavSettings { - s.RestartDelay = &v +// SetUsername sets the Username field's value. +func (s *InputSource) SetUsername(v string) *InputSource { + s.Username = &v return s } -// Settings to configure an action so that it occurs immediately. This is only -// supported for input switch actions currently. -type ImmediateModeScheduleActionStartSettings struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s ImmediateModeScheduleActionStartSettings) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ImmediateModeScheduleActionStartSettings) GoString() string { - return s.String() -} - -type Input struct { +// Settings for for a PULL type input. +type InputSourceRequest struct { _ struct{} `type:"structure"` - // The Unique ARN of the input (generated, immutable). - Arn *string `locationName:"arn" type:"string"` - - // A list of channel IDs that that input is attached to (currently an input - // can only be attached to one channel). - AttachedChannels []*string `locationName:"attachedChannels" type:"list"` - - // A list of the destinations of the input (PUSH-type). - Destinations []*InputDestination `locationName:"destinations" type:"list"` - - // The generated ID of the input (unique for user account, immutable). - Id *string `locationName:"id" type:"string"` - - // STANDARD - MediaLive expects two sources to be connected to this input. If - // the channel is also STANDARD, both sources will be ingested. If the channel - // is SINGLE_PIPELINE, only the first source will be ingested; the second source - // will always be ignored, even if the first source fails.SINGLE_PIPELINE - - // You can connect only one source to this input. If the ChannelClass is also - // SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this - // value is not valid because the channel requires two sources in the input. - InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"` - - // Certain pull input sources can be dynamic, meaning that they can have their - // URL's dynamically changesduring input switch actions. Presently, this functionality - // only works with MP4_FILE inputs. - InputSourceType *string `locationName:"inputSourceType" type:"string" enum:"InputSourceType"` - - // A list of MediaConnect Flows for this input. - MediaConnectFlows []*MediaConnectFlow `locationName:"mediaConnectFlows" type:"list"` - - // The user-assigned name (This is a mutable value). - Name *string `locationName:"name" type:"string"` - - // The Amazon Resource Name (ARN) of the role this input assumes during and - // after creation. - RoleArn *string `locationName:"roleArn" type:"string"` - - // A list of IDs for all the Input Security Groups attached to the input. - SecurityGroups []*string `locationName:"securityGroups" type:"list"` - - // A list of the sources of the input (PULL-type). - Sources []*InputSource `locationName:"sources" type:"list"` - - State *string `locationName:"state" type:"string" enum:"InputState"` + // The key used to extract the password from EC2 Parameter store. + PasswordParam *string `locationName:"passwordParam" type:"string"` - // A collection of key-value pairs. - Tags map[string]*string `locationName:"tags" type:"map"` + // This represents the customer's source URL where stream ispulled from. + Url *string `locationName:"url" type:"string"` - Type *string `locationName:"type" type:"string" enum:"InputType"` + // The username for the input source. + Username *string `locationName:"username" type:"string"` } // String returns the string representation -func (s Input) String() string { +func (s InputSourceRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Input) GoString() string { +func (s InputSourceRequest) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Input) SetArn(v string) *Input { - s.Arn = &v +// SetPasswordParam sets the PasswordParam field's value. +func (s *InputSourceRequest) SetPasswordParam(v string) *InputSourceRequest { + s.PasswordParam = &v return s } -// SetAttachedChannels sets the AttachedChannels field's value. -func (s *Input) SetAttachedChannels(v []*string) *Input { - s.AttachedChannels = v +// SetUrl sets the Url field's value. +func (s *InputSourceRequest) SetUrl(v string) *InputSourceRequest { + s.Url = &v return s } -// SetDestinations sets the Destinations field's value. -func (s *Input) SetDestinations(v []*InputDestination) *Input { - s.Destinations = v +// SetUsername sets the Username field's value. +func (s *InputSourceRequest) SetUsername(v string) *InputSourceRequest { + s.Username = &v return s } -// SetId sets the Id field's value. -func (s *Input) SetId(v string) *Input { - s.Id = &v - return s +type InputSpecification struct { + _ struct{} `type:"structure"` + + // Input codec + Codec *string `locationName:"codec" type:"string" enum:"InputCodec"` + + // Maximum input bitrate, categorized coarsely + MaximumBitrate *string `locationName:"maximumBitrate" type:"string" enum:"InputMaximumBitrate"` + + // Input resolution, categorized coarsely + Resolution *string `locationName:"resolution" type:"string" enum:"InputResolution"` } -// SetInputClass sets the InputClass field's value. -func (s *Input) SetInputClass(v string) *Input { - s.InputClass = &v - return s +// String returns the string representation +func (s InputSpecification) String() string { + return awsutil.Prettify(s) } -// SetInputSourceType sets the InputSourceType field's value. -func (s *Input) SetInputSourceType(v string) *Input { - s.InputSourceType = &v - return s +// GoString returns the string representation +func (s InputSpecification) GoString() string { + return s.String() } -// SetMediaConnectFlows sets the MediaConnectFlows field's value. -func (s *Input) SetMediaConnectFlows(v []*MediaConnectFlow) *Input { - s.MediaConnectFlows = v +// SetCodec sets the Codec field's value. +func (s *InputSpecification) SetCodec(v string) *InputSpecification { + s.Codec = &v return s } -// SetName sets the Name field's value. -func (s *Input) SetName(v string) *Input { - s.Name = &v +// SetMaximumBitrate sets the MaximumBitrate field's value. +func (s *InputSpecification) SetMaximumBitrate(v string) *InputSpecification { + s.MaximumBitrate = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *Input) SetRoleArn(v string) *Input { - s.RoleArn = &v +// SetResolution sets the Resolution field's value. +func (s *InputSpecification) SetResolution(v string) *InputSpecification { + s.Resolution = &v return s } -// SetSecurityGroups sets the SecurityGroups field's value. -func (s *Input) SetSecurityGroups(v []*string) *Input { - s.SecurityGroups = v - return s +// Settings for the "switch input" action: to switch from ingesting one input +// to ingesting another input. +type InputSwitchScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // The name of the input attachment (not the name of the input!) to switch to. + // The name is specified in the channel configuration. + // + // InputAttachmentNameReference is a required field + InputAttachmentNameReference *string `locationName:"inputAttachmentNameReference" type:"string" required:"true"` + + // Settings to let you create a clip of the file input, in order to set up the + // input to ingest only a portion of the file. + InputClippingSettings *InputClippingSettings `locationName:"inputClippingSettings" type:"structure"` + + // The value for the variable portion of the URL for the dynamic input, for + // this instance of the input. Each time you use the same dynamic input in an + // input switch action, you can provide a different value, in order to connect + // the input to a different content source. + UrlPath []*string `locationName:"urlPath" type:"list"` } -// SetSources sets the Sources field's value. -func (s *Input) SetSources(v []*InputSource) *Input { - s.Sources = v - return s +// String returns the string representation +func (s InputSwitchScheduleActionSettings) String() string { + return awsutil.Prettify(s) } -// SetState sets the State field's value. -func (s *Input) SetState(v string) *Input { - s.State = &v +// GoString returns the string representation +func (s InputSwitchScheduleActionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputSwitchScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputSwitchScheduleActionSettings"} + if s.InputAttachmentNameReference == nil { + invalidParams.Add(request.NewErrParamRequired("InputAttachmentNameReference")) + } + if s.InputClippingSettings != nil { + if err := s.InputClippingSettings.Validate(); err != nil { + invalidParams.AddNested("InputClippingSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputAttachmentNameReference sets the InputAttachmentNameReference field's value. +func (s *InputSwitchScheduleActionSettings) SetInputAttachmentNameReference(v string) *InputSwitchScheduleActionSettings { + s.InputAttachmentNameReference = &v return s } -// SetTags sets the Tags field's value. -func (s *Input) SetTags(v map[string]*string) *Input { - s.Tags = v +// SetInputClippingSettings sets the InputClippingSettings field's value. +func (s *InputSwitchScheduleActionSettings) SetInputClippingSettings(v *InputClippingSettings) *InputSwitchScheduleActionSettings { + s.InputClippingSettings = v return s } -// SetType sets the Type field's value. -func (s *Input) SetType(v string) *Input { - s.Type = &v +// SetUrlPath sets the UrlPath field's value. +func (s *InputSwitchScheduleActionSettings) SetUrlPath(v []*string) *InputSwitchScheduleActionSettings { + s.UrlPath = v return s } -type InputAttachment struct { +// Settings for a private VPC Input.When this property is specified, the input +// destination addresses will be created in a VPC rather than with public Internet +// addresses.This property requires setting the roleArn property on Input creation.Not +// compatible with the inputSecurityGroups property. +type InputVpcRequest struct { _ struct{} `type:"structure"` - // User-specified name for the attachment. This is required if the user wants - // to use this input in an input switch action. - InputAttachmentName *string `locationName:"inputAttachmentName" type:"string"` - - // The ID of the input - InputId *string `locationName:"inputId" type:"string"` + // A list of up to 5 EC2 VPC security group IDs to attach to the Input VPC network + // interfaces.Requires subnetIds. If none are specified then the VPC default + // security group will be used. + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` - // Settings of an input (caption selector, etc.) - InputSettings *InputSettings `locationName:"inputSettings" type:"structure"` + // A list of 2 VPC subnet IDs from the same VPC.Subnet IDs must be mapped to + // two unique availability zones (AZ). + // + // SubnetIds is a required field + SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"` } // String returns the string representation -func (s InputAttachment) String() string { +func (s InputVpcRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputAttachment) GoString() string { +func (s InputVpcRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputAttachment) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputAttachment"} - if s.InputSettings != nil { - if err := s.InputSettings.Validate(); err != nil { - invalidParams.AddNested("InputSettings", err.(request.ErrInvalidParams)) - } +func (s *InputVpcRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputVpcRequest"} + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) } if invalidParams.Len() > 0 { @@ -11015,61 +13748,91 @@ func (s *InputAttachment) Validate() error { return nil } -// SetInputAttachmentName sets the InputAttachmentName field's value. -func (s *InputAttachment) SetInputAttachmentName(v string) *InputAttachment { - s.InputAttachmentName = &v +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *InputVpcRequest) SetSecurityGroupIds(v []*string) *InputVpcRequest { + s.SecurityGroupIds = v return s } -// SetInputId sets the InputId field's value. -func (s *InputAttachment) SetInputId(v string) *InputAttachment { - s.InputId = &v +// SetSubnetIds sets the SubnetIds field's value. +func (s *InputVpcRequest) SetSubnetIds(v []*string) *InputVpcRequest { + s.SubnetIds = v return s } -// SetInputSettings sets the InputSettings field's value. -func (s *InputAttachment) SetInputSettings(v *InputSettings) *InputAttachment { - s.InputSettings = v +// Whitelist rule +type InputWhitelistRule struct { + _ struct{} `type:"structure"` + + // The IPv4 CIDR that's whitelisted. + Cidr *string `locationName:"cidr" type:"string"` +} + +// String returns the string representation +func (s InputWhitelistRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputWhitelistRule) GoString() string { + return s.String() +} + +// SetCidr sets the Cidr field's value. +func (s *InputWhitelistRule) SetCidr(v string) *InputWhitelistRule { + s.Cidr = &v return s } -// Input Channel Level -type InputChannelLevel struct { +// An IPv4 CIDR to whitelist. +type InputWhitelistRuleCidr struct { _ struct{} `type:"structure"` - // Remixing value. Units are in dB and acceptable values are within the range - // from -60 (mute) and 6 dB. - // - // Gain is a required field - Gain *int64 `locationName:"gain" type:"integer" required:"true"` + // The IPv4 CIDR to whitelist. + Cidr *string `locationName:"cidr" type:"string"` +} - // The index of the input channel used as a source. - // - // InputChannel is a required field - InputChannel *int64 `locationName:"inputChannel" type:"integer" required:"true"` +// String returns the string representation +func (s InputWhitelistRuleCidr) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputWhitelistRuleCidr) GoString() string { + return s.String() +} + +// SetCidr sets the Cidr field's value. +func (s *InputWhitelistRuleCidr) SetCidr(v string) *InputWhitelistRuleCidr { + s.Cidr = &v + return s +} + +// Key Provider Settings +type KeyProviderSettings struct { + _ struct{} `type:"structure"` + + // Static Key Settings + StaticKeySettings *StaticKeySettings `locationName:"staticKeySettings" type:"structure"` } // String returns the string representation -func (s InputChannelLevel) String() string { +func (s KeyProviderSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputChannelLevel) GoString() string { +func (s KeyProviderSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputChannelLevel) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputChannelLevel"} - if s.Gain == nil { - invalidParams.Add(request.NewErrParamRequired("Gain")) - } - if s.Gain != nil && *s.Gain < -60 { - invalidParams.Add(request.NewErrParamMinValue("Gain", -60)) - } - if s.InputChannel == nil { - invalidParams.Add(request.NewErrParamRequired("InputChannel")) +func (s *KeyProviderSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KeyProviderSettings"} + if s.StaticKeySettings != nil { + if err := s.StaticKeySettings.Validate(); err != nil { + invalidParams.AddNested("StaticKeySettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -11078,50 +13841,35 @@ func (s *InputChannelLevel) Validate() error { return nil } -// SetGain sets the Gain field's value. -func (s *InputChannelLevel) SetGain(v int64) *InputChannelLevel { - s.Gain = &v - return s -} - -// SetInputChannel sets the InputChannel field's value. -func (s *InputChannelLevel) SetInputChannel(v int64) *InputChannelLevel { - s.InputChannel = &v +// SetStaticKeySettings sets the StaticKeySettings field's value. +func (s *KeyProviderSettings) SetStaticKeySettings(v *StaticKeySettings) *KeyProviderSettings { + s.StaticKeySettings = v return s } -// Settings to let you create a clip of the file input, in order to set up the -// input to ingest only a portion of the file. -type InputClippingSettings struct { +type ListChannelsInput struct { _ struct{} `type:"structure"` - // The source of the timecodes in the source being clipped. - // - // InputTimecodeSource is a required field - InputTimecodeSource *string `locationName:"inputTimecodeSource" type:"string" required:"true" enum:"InputTimecodeSource"` - - // Settings to identify the start of the clip. - StartTimecode *StartTimecode `locationName:"startTimecode" type:"structure"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Settings to identify the end of the clip. - StopTimecode *StopTimecode `locationName:"stopTimecode" type:"structure"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputClippingSettings) String() string { +func (s ListChannelsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputClippingSettings) GoString() string { +func (s ListChannelsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputClippingSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputClippingSettings"} - if s.InputTimecodeSource == nil { - invalidParams.Add(request.NewErrParamRequired("InputTimecodeSource")) +func (s *ListChannelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -11130,169 +13878,144 @@ func (s *InputClippingSettings) Validate() error { return nil } -// SetInputTimecodeSource sets the InputTimecodeSource field's value. -func (s *InputClippingSettings) SetInputTimecodeSource(v string) *InputClippingSettings { - s.InputTimecodeSource = &v - return s -} - -// SetStartTimecode sets the StartTimecode field's value. -func (s *InputClippingSettings) SetStartTimecode(v *StartTimecode) *InputClippingSettings { - s.StartTimecode = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput { + s.MaxResults = &v return s } -// SetStopTimecode sets the StopTimecode field's value. -func (s *InputClippingSettings) SetStopTimecode(v *StopTimecode) *InputClippingSettings { - s.StopTimecode = v +// SetNextToken sets the NextToken field's value. +func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput { + s.NextToken = &v return s } -// The settings for a PUSH type input. -type InputDestination struct { +type ListChannelsOutput struct { _ struct{} `type:"structure"` - // The system-generated static IP address of endpoint.It remains fixed for the - // lifetime of the input. - Ip *string `locationName:"ip" type:"string"` - - // The port number for the input. - Port *string `locationName:"port" type:"string"` - - // This represents the endpoint that the customer stream will bepushed to. - Url *string `locationName:"url" type:"string"` + Channels []*ChannelSummary `locationName:"channels" type:"list"` - // The properties for a VPC type input destination. - Vpc *InputDestinationVpc `locationName:"vpc" type:"structure"` + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputDestination) String() string { +func (s ListChannelsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputDestination) GoString() string { +func (s ListChannelsOutput) GoString() string { return s.String() } -// SetIp sets the Ip field's value. -func (s *InputDestination) SetIp(v string) *InputDestination { - s.Ip = &v - return s -} - -// SetPort sets the Port field's value. -func (s *InputDestination) SetPort(v string) *InputDestination { - s.Port = &v - return s -} - -// SetUrl sets the Url field's value. -func (s *InputDestination) SetUrl(v string) *InputDestination { - s.Url = &v +// SetChannels sets the Channels field's value. +func (s *ListChannelsOutput) SetChannels(v []*ChannelSummary) *ListChannelsOutput { + s.Channels = v return s } -// SetVpc sets the Vpc field's value. -func (s *InputDestination) SetVpc(v *InputDestinationVpc) *InputDestination { - s.Vpc = v +// SetNextToken sets the NextToken field's value. +func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput { + s.NextToken = &v return s } -// Endpoint settings for a PUSH type input. -type InputDestinationRequest struct { +type ListInputSecurityGroupsInput struct { _ struct{} `type:"structure"` - // A unique name for the location the RTMP stream is being pushedto. - StreamName *string `locationName:"streamName" type:"string"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputDestinationRequest) String() string { +func (s ListInputSecurityGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputDestinationRequest) GoString() string { +func (s ListInputSecurityGroupsInput) GoString() string { return s.String() } -// SetStreamName sets the StreamName field's value. -func (s *InputDestinationRequest) SetStreamName(v string) *InputDestinationRequest { - s.StreamName = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListInputSecurityGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInputSecurityGroupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListInputSecurityGroupsInput) SetMaxResults(v int64) *ListInputSecurityGroupsInput { + s.MaxResults = &v return s } -// The properties for a VPC type input destination. -type InputDestinationVpc struct { +// SetNextToken sets the NextToken field's value. +func (s *ListInputSecurityGroupsInput) SetNextToken(v string) *ListInputSecurityGroupsInput { + s.NextToken = &v + return s +} + +type ListInputSecurityGroupsOutput struct { _ struct{} `type:"structure"` - // The availability zone of the Input destination. - AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + InputSecurityGroups []*InputSecurityGroup `locationName:"inputSecurityGroups" type:"list"` - // The network interface ID of the Input destination in the VPC. - NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputDestinationVpc) String() string { +func (s ListInputSecurityGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputDestinationVpc) GoString() string { +func (s ListInputSecurityGroupsOutput) GoString() string { return s.String() } -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *InputDestinationVpc) SetAvailabilityZone(v string) *InputDestinationVpc { - s.AvailabilityZone = &v +// SetInputSecurityGroups sets the InputSecurityGroups field's value. +func (s *ListInputSecurityGroupsOutput) SetInputSecurityGroups(v []*InputSecurityGroup) *ListInputSecurityGroupsOutput { + s.InputSecurityGroups = v return s } -// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. -func (s *InputDestinationVpc) SetNetworkInterfaceId(v string) *InputDestinationVpc { - s.NetworkInterfaceId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListInputSecurityGroupsOutput) SetNextToken(v string) *ListInputSecurityGroupsOutput { + s.NextToken = &v return s } -// Input Location -type InputLocation struct { +type ListInputsInput struct { _ struct{} `type:"structure"` - // key used to extract the password from EC2 Parameter store - PasswordParam *string `locationName:"passwordParam" type:"string"` - - // Uniform Resource Identifier - This should be a path to a file accessible - // to the Live system (eg. a http:// URI) depending on the output type. For - // example, a RTMP destination should have a uri simliar to: "rtmp://fmsserver/live". - // - // Uri is a required field - Uri *string `locationName:"uri" type:"string" required:"true"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Username if credentials are required to access a file or publishing point. - // This can be either a plaintext username, or a reference to an AWS parameter - // store name from which the username can be retrieved. AWS Parameter store - // format: "ssm://" - Username *string `locationName:"username" type:"string"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputLocation) String() string { +func (s ListInputsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputLocation) GoString() string { +func (s ListInputsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputLocation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputLocation"} - if s.Uri == nil { - invalidParams.Add(request.NewErrParamRequired("Uri")) +func (s *ListInputsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInputsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -11301,72 +14024,80 @@ func (s *InputLocation) Validate() error { return nil } -// SetPasswordParam sets the PasswordParam field's value. -func (s *InputLocation) SetPasswordParam(v string) *InputLocation { - s.PasswordParam = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListInputsInput) SetMaxResults(v int64) *ListInputsInput { + s.MaxResults = &v return s } -// SetUri sets the Uri field's value. -func (s *InputLocation) SetUri(v string) *InputLocation { - s.Uri = &v +// SetNextToken sets the NextToken field's value. +func (s *ListInputsInput) SetNextToken(v string) *ListInputsInput { + s.NextToken = &v return s } -// SetUsername sets the Username field's value. -func (s *InputLocation) SetUsername(v string) *InputLocation { - s.Username = &v +type ListInputsOutput struct { + _ struct{} `type:"structure"` + + Inputs []*Input `locationName:"inputs" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListInputsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInputsOutput) GoString() string { + return s.String() +} + +// SetInputs sets the Inputs field's value. +func (s *ListInputsOutput) SetInputs(v []*Input) *ListInputsOutput { + s.Inputs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInputsOutput) SetNextToken(v string) *ListInputsOutput { + s.NextToken = &v return s } -// Input Loss Behavior -type InputLossBehavior struct { +type ListMultiplexProgramsInput struct { _ struct{} `type:"structure"` - // On input loss, the number of milliseconds to substitute black into the output - // before switching to the frame specified by inputLossImageType. A value x, - // where 0 <= x <= 1,000,000 and a value of 1,000,000 will be interpreted as - // infinite. - BlackFrameMsec *int64 `locationName:"blackFrameMsec" type:"integer"` - - // When input loss image type is "color" this field specifies the color to use. - // Value: 6 hex characters representing the values of RGB. - InputLossImageColor *string `locationName:"inputLossImageColor" min:"6" type:"string"` - - // When input loss image type is "slate" these fields specify the parameters - // for accessing the slate. - InputLossImageSlate *InputLocation `locationName:"inputLossImageSlate" type:"structure"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Indicates whether to substitute a solid color or a slate into the output - // after input loss exceeds blackFrameMsec. - InputLossImageType *string `locationName:"inputLossImageType" type:"string" enum:"InputLossImageType"` + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` - // On input loss, the number of milliseconds to repeat the previous picture - // before substituting black into the output. A value x, where 0 <= x <= 1,000,000 - // and a value of 1,000,000 will be interpreted as infinite. - RepeatFrameMsec *int64 `locationName:"repeatFrameMsec" type:"integer"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputLossBehavior) String() string { +func (s ListMultiplexProgramsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputLossBehavior) GoString() string { +func (s ListMultiplexProgramsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputLossBehavior) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputLossBehavior"} - if s.InputLossImageColor != nil && len(*s.InputLossImageColor) < 6 { - invalidParams.Add(request.NewErrParamMinLen("InputLossImageColor", 6)) +func (s *ListMultiplexProgramsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMultiplexProgramsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.InputLossImageSlate != nil { - if err := s.InputLossImageSlate.Validate(); err != nil { - invalidParams.AddNested("InputLossImageSlate", err.(request.ErrInvalidParams)) - } + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) } if invalidParams.Len() > 0 { @@ -11375,177 +14106,170 @@ func (s *InputLossBehavior) Validate() error { return nil } -// SetBlackFrameMsec sets the BlackFrameMsec field's value. -func (s *InputLossBehavior) SetBlackFrameMsec(v int64) *InputLossBehavior { - s.BlackFrameMsec = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListMultiplexProgramsInput) SetMaxResults(v int64) *ListMultiplexProgramsInput { + s.MaxResults = &v return s } -// SetInputLossImageColor sets the InputLossImageColor field's value. -func (s *InputLossBehavior) SetInputLossImageColor(v string) *InputLossBehavior { - s.InputLossImageColor = &v +// SetMultiplexId sets the MultiplexId field's value. +func (s *ListMultiplexProgramsInput) SetMultiplexId(v string) *ListMultiplexProgramsInput { + s.MultiplexId = &v return s } -// SetInputLossImageSlate sets the InputLossImageSlate field's value. -func (s *InputLossBehavior) SetInputLossImageSlate(v *InputLocation) *InputLossBehavior { - s.InputLossImageSlate = v +// SetNextToken sets the NextToken field's value. +func (s *ListMultiplexProgramsInput) SetNextToken(v string) *ListMultiplexProgramsInput { + s.NextToken = &v return s } -// SetInputLossImageType sets the InputLossImageType field's value. -func (s *InputLossBehavior) SetInputLossImageType(v string) *InputLossBehavior { - s.InputLossImageType = &v - return s -} +type ListMultiplexProgramsOutput struct { + _ struct{} `type:"structure"` -// SetRepeatFrameMsec sets the RepeatFrameMsec field's value. -func (s *InputLossBehavior) SetRepeatFrameMsec(v int64) *InputLossBehavior { - s.RepeatFrameMsec = &v - return s + MultiplexPrograms []*MultiplexProgramSummary `locationName:"multiplexPrograms" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` } -// An Input Security Group -type InputSecurityGroup struct { - _ struct{} `type:"structure"` +// String returns the string representation +func (s ListMultiplexProgramsOutput) String() string { + return awsutil.Prettify(s) +} - // Unique ARN of Input Security Group - Arn *string `locationName:"arn" type:"string"` +// GoString returns the string representation +func (s ListMultiplexProgramsOutput) GoString() string { + return s.String() +} - // The Id of the Input Security Group - Id *string `locationName:"id" type:"string"` +// SetMultiplexPrograms sets the MultiplexPrograms field's value. +func (s *ListMultiplexProgramsOutput) SetMultiplexPrograms(v []*MultiplexProgramSummary) *ListMultiplexProgramsOutput { + s.MultiplexPrograms = v + return s +} - // The list of inputs currently using this Input Security Group. - Inputs []*string `locationName:"inputs" type:"list"` +// SetNextToken sets the NextToken field's value. +func (s *ListMultiplexProgramsOutput) SetNextToken(v string) *ListMultiplexProgramsOutput { + s.NextToken = &v + return s +} - // The current state of the Input Security Group. - State *string `locationName:"state" type:"string" enum:"InputSecurityGroupState"` +type ListMultiplexesInput struct { + _ struct{} `type:"structure"` - // A collection of key-value pairs. - Tags map[string]*string `locationName:"tags" type:"map"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Whitelist rules and their sync status - WhitelistRules []*InputWhitelistRule `locationName:"whitelistRules" type:"list"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s InputSecurityGroup) String() string { +func (s ListMultiplexesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputSecurityGroup) GoString() string { +func (s ListMultiplexesInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *InputSecurityGroup) SetArn(v string) *InputSecurityGroup { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListMultiplexesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMultiplexesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetId sets the Id field's value. -func (s *InputSecurityGroup) SetId(v string) *InputSecurityGroup { - s.Id = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListMultiplexesInput) SetMaxResults(v int64) *ListMultiplexesInput { + s.MaxResults = &v return s } -// SetInputs sets the Inputs field's value. -func (s *InputSecurityGroup) SetInputs(v []*string) *InputSecurityGroup { - s.Inputs = v +// SetNextToken sets the NextToken field's value. +func (s *ListMultiplexesInput) SetNextToken(v string) *ListMultiplexesInput { + s.NextToken = &v return s } -// SetState sets the State field's value. -func (s *InputSecurityGroup) SetState(v string) *InputSecurityGroup { - s.State = &v - return s +type ListMultiplexesOutput struct { + _ struct{} `type:"structure"` + + Multiplexes []*MultiplexSummary `locationName:"multiplexes" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` } -// SetTags sets the Tags field's value. -func (s *InputSecurityGroup) SetTags(v map[string]*string) *InputSecurityGroup { - s.Tags = v +// String returns the string representation +func (s ListMultiplexesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListMultiplexesOutput) GoString() string { + return s.String() +} + +// SetMultiplexes sets the Multiplexes field's value. +func (s *ListMultiplexesOutput) SetMultiplexes(v []*MultiplexSummary) *ListMultiplexesOutput { + s.Multiplexes = v return s } -// SetWhitelistRules sets the WhitelistRules field's value. -func (s *InputSecurityGroup) SetWhitelistRules(v []*InputWhitelistRule) *InputSecurityGroup { - s.WhitelistRules = v +// SetNextToken sets the NextToken field's value. +func (s *ListMultiplexesOutput) SetNextToken(v string) *ListMultiplexesOutput { + s.NextToken = &v return s } -// Live Event input parameters. There can be multiple inputs in a single Live -// Event. -type InputSettings struct { +type ListOfferingsInput struct { _ struct{} `type:"structure"` - // Used to select the audio stream to decode for inputs that have multiple available. - AudioSelectors []*AudioSelector `locationName:"audioSelectors" type:"list"` + ChannelClass *string `location:"querystring" locationName:"channelClass" type:"string"` - // Used to select the caption input to use for inputs that have multiple available. - CaptionSelectors []*CaptionSelector `locationName:"captionSelectors" type:"list"` + ChannelConfiguration *string `location:"querystring" locationName:"channelConfiguration" type:"string"` - // Enable or disable the deblock filter when filtering. - DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"` + Codec *string `location:"querystring" locationName:"codec" type:"string"` - // Enable or disable the denoise filter when filtering. - DenoiseFilter *string `locationName:"denoiseFilter" type:"string" enum:"InputDenoiseFilter"` + Duration *string `location:"querystring" locationName:"duration" type:"string"` - // Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest). - FilterStrength *int64 `locationName:"filterStrength" min:"1" type:"integer"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Turns on the filter for this input. MPEG-2 inputs have the deblocking filter - // enabled by default.1) auto - filtering will be applied depending on input - // type/quality2) disabled - no filtering will be applied to the input3) forced - // - filtering will be applied regardless of input type - InputFilter *string `locationName:"inputFilter" type:"string" enum:"InputFilter"` + MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"` - // Input settings. - NetworkInputSettings *NetworkInputSettings `locationName:"networkInputSettings" type:"structure"` + MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"` - // Loop input if it is a file. This allows a file input to be streamed indefinitely. - SourceEndBehavior *string `locationName:"sourceEndBehavior" type:"string" enum:"InputSourceEndBehavior"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - // Informs which video elementary stream to decode for input types that have - // multiple available. - VideoSelector *VideoSelector `locationName:"videoSelector" type:"structure"` + Resolution *string `location:"querystring" locationName:"resolution" type:"string"` + + ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"` + + SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"` + + VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"` } // String returns the string representation -func (s InputSettings) String() string { +func (s ListOfferingsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputSettings) GoString() string { +func (s ListOfferingsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputSettings"} - if s.FilterStrength != nil && *s.FilterStrength < 1 { - invalidParams.Add(request.NewErrParamMinValue("FilterStrength", 1)) - } - if s.AudioSelectors != nil { - for i, v := range s.AudioSelectors { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioSelectors", i), err.(request.ErrInvalidParams)) - } - } - } - if s.CaptionSelectors != nil { - for i, v := range s.CaptionSelectors { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CaptionSelectors", i), err.(request.ErrInvalidParams)) - } - } +func (s *ListOfferingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListOfferingsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -11554,287 +14278,270 @@ func (s *InputSettings) Validate() error { return nil } -// SetAudioSelectors sets the AudioSelectors field's value. -func (s *InputSettings) SetAudioSelectors(v []*AudioSelector) *InputSettings { - s.AudioSelectors = v +// SetChannelClass sets the ChannelClass field's value. +func (s *ListOfferingsInput) SetChannelClass(v string) *ListOfferingsInput { + s.ChannelClass = &v return s } -// SetCaptionSelectors sets the CaptionSelectors field's value. -func (s *InputSettings) SetCaptionSelectors(v []*CaptionSelector) *InputSettings { - s.CaptionSelectors = v +// SetChannelConfiguration sets the ChannelConfiguration field's value. +func (s *ListOfferingsInput) SetChannelConfiguration(v string) *ListOfferingsInput { + s.ChannelConfiguration = &v return s } -// SetDeblockFilter sets the DeblockFilter field's value. -func (s *InputSettings) SetDeblockFilter(v string) *InputSettings { - s.DeblockFilter = &v +// SetCodec sets the Codec field's value. +func (s *ListOfferingsInput) SetCodec(v string) *ListOfferingsInput { + s.Codec = &v return s } -// SetDenoiseFilter sets the DenoiseFilter field's value. -func (s *InputSettings) SetDenoiseFilter(v string) *InputSettings { - s.DenoiseFilter = &v +// SetDuration sets the Duration field's value. +func (s *ListOfferingsInput) SetDuration(v string) *ListOfferingsInput { + s.Duration = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListOfferingsInput) SetMaxResults(v int64) *ListOfferingsInput { + s.MaxResults = &v + return s +} + +// SetMaximumBitrate sets the MaximumBitrate field's value. +func (s *ListOfferingsInput) SetMaximumBitrate(v string) *ListOfferingsInput { + s.MaximumBitrate = &v + return s +} + +// SetMaximumFramerate sets the MaximumFramerate field's value. +func (s *ListOfferingsInput) SetMaximumFramerate(v string) *ListOfferingsInput { + s.MaximumFramerate = &v return s } -// SetFilterStrength sets the FilterStrength field's value. -func (s *InputSettings) SetFilterStrength(v int64) *InputSettings { - s.FilterStrength = &v +// SetNextToken sets the NextToken field's value. +func (s *ListOfferingsInput) SetNextToken(v string) *ListOfferingsInput { + s.NextToken = &v return s } -// SetInputFilter sets the InputFilter field's value. -func (s *InputSettings) SetInputFilter(v string) *InputSettings { - s.InputFilter = &v +// SetResolution sets the Resolution field's value. +func (s *ListOfferingsInput) SetResolution(v string) *ListOfferingsInput { + s.Resolution = &v return s } -// SetNetworkInputSettings sets the NetworkInputSettings field's value. -func (s *InputSettings) SetNetworkInputSettings(v *NetworkInputSettings) *InputSettings { - s.NetworkInputSettings = v +// SetResourceType sets the ResourceType field's value. +func (s *ListOfferingsInput) SetResourceType(v string) *ListOfferingsInput { + s.ResourceType = &v return s } -// SetSourceEndBehavior sets the SourceEndBehavior field's value. -func (s *InputSettings) SetSourceEndBehavior(v string) *InputSettings { - s.SourceEndBehavior = &v +// SetSpecialFeature sets the SpecialFeature field's value. +func (s *ListOfferingsInput) SetSpecialFeature(v string) *ListOfferingsInput { + s.SpecialFeature = &v return s } -// SetVideoSelector sets the VideoSelector field's value. -func (s *InputSettings) SetVideoSelector(v *VideoSelector) *InputSettings { - s.VideoSelector = v +// SetVideoQuality sets the VideoQuality field's value. +func (s *ListOfferingsInput) SetVideoQuality(v string) *ListOfferingsInput { + s.VideoQuality = &v return s } -// The settings for a PULL type input. -type InputSource struct { +type ListOfferingsOutput struct { _ struct{} `type:"structure"` - // The key used to extract the password from EC2 Parameter store. - PasswordParam *string `locationName:"passwordParam" type:"string"` - - // This represents the customer's source URL where stream ispulled from. - Url *string `locationName:"url" type:"string"` + NextToken *string `locationName:"nextToken" type:"string"` - // The username for the input source. - Username *string `locationName:"username" type:"string"` + Offerings []*Offering `locationName:"offerings" type:"list"` } // String returns the string representation -func (s InputSource) String() string { +func (s ListOfferingsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputSource) GoString() string { +func (s ListOfferingsOutput) GoString() string { return s.String() } -// SetPasswordParam sets the PasswordParam field's value. -func (s *InputSource) SetPasswordParam(v string) *InputSource { - s.PasswordParam = &v - return s -} - -// SetUrl sets the Url field's value. -func (s *InputSource) SetUrl(v string) *InputSource { - s.Url = &v +// SetNextToken sets the NextToken field's value. +func (s *ListOfferingsOutput) SetNextToken(v string) *ListOfferingsOutput { + s.NextToken = &v return s } -// SetUsername sets the Username field's value. -func (s *InputSource) SetUsername(v string) *InputSource { - s.Username = &v +// SetOfferings sets the Offerings field's value. +func (s *ListOfferingsOutput) SetOfferings(v []*Offering) *ListOfferingsOutput { + s.Offerings = v return s } -// Settings for for a PULL type input. -type InputSourceRequest struct { +type ListReservationsInput struct { _ struct{} `type:"structure"` - // The key used to extract the password from EC2 Parameter store. - PasswordParam *string `locationName:"passwordParam" type:"string"` + ChannelClass *string `location:"querystring" locationName:"channelClass" type:"string"` - // This represents the customer's source URL where stream ispulled from. - Url *string `locationName:"url" type:"string"` + Codec *string `location:"querystring" locationName:"codec" type:"string"` - // The username for the input source. - Username *string `locationName:"username" type:"string"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"` + + MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + Resolution *string `location:"querystring" locationName:"resolution" type:"string"` + + ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"` + + SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"` + + VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"` } // String returns the string representation -func (s InputSourceRequest) String() string { +func (s ListReservationsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputSourceRequest) GoString() string { +func (s ListReservationsInput) GoString() string { return s.String() } -// SetPasswordParam sets the PasswordParam field's value. -func (s *InputSourceRequest) SetPasswordParam(v string) *InputSourceRequest { - s.PasswordParam = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListReservationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListReservationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetUrl sets the Url field's value. -func (s *InputSourceRequest) SetUrl(v string) *InputSourceRequest { - s.Url = &v +// SetChannelClass sets the ChannelClass field's value. +func (s *ListReservationsInput) SetChannelClass(v string) *ListReservationsInput { + s.ChannelClass = &v return s } -// SetUsername sets the Username field's value. -func (s *InputSourceRequest) SetUsername(v string) *InputSourceRequest { - s.Username = &v +// SetCodec sets the Codec field's value. +func (s *ListReservationsInput) SetCodec(v string) *ListReservationsInput { + s.Codec = &v return s } -type InputSpecification struct { - _ struct{} `type:"structure"` - - // Input codec - Codec *string `locationName:"codec" type:"string" enum:"InputCodec"` +// SetMaxResults sets the MaxResults field's value. +func (s *ListReservationsInput) SetMaxResults(v int64) *ListReservationsInput { + s.MaxResults = &v + return s +} - // Maximum input bitrate, categorized coarsely - MaximumBitrate *string `locationName:"maximumBitrate" type:"string" enum:"InputMaximumBitrate"` +// SetMaximumBitrate sets the MaximumBitrate field's value. +func (s *ListReservationsInput) SetMaximumBitrate(v string) *ListReservationsInput { + s.MaximumBitrate = &v + return s +} - // Input resolution, categorized coarsely - Resolution *string `locationName:"resolution" type:"string" enum:"InputResolution"` +// SetMaximumFramerate sets the MaximumFramerate field's value. +func (s *ListReservationsInput) SetMaximumFramerate(v string) *ListReservationsInput { + s.MaximumFramerate = &v + return s } -// String returns the string representation -func (s InputSpecification) String() string { - return awsutil.Prettify(s) +// SetNextToken sets the NextToken field's value. +func (s *ListReservationsInput) SetNextToken(v string) *ListReservationsInput { + s.NextToken = &v + return s } -// GoString returns the string representation -func (s InputSpecification) GoString() string { - return s.String() +// SetResolution sets the Resolution field's value. +func (s *ListReservationsInput) SetResolution(v string) *ListReservationsInput { + s.Resolution = &v + return s } -// SetCodec sets the Codec field's value. -func (s *InputSpecification) SetCodec(v string) *InputSpecification { - s.Codec = &v +// SetResourceType sets the ResourceType field's value. +func (s *ListReservationsInput) SetResourceType(v string) *ListReservationsInput { + s.ResourceType = &v return s } -// SetMaximumBitrate sets the MaximumBitrate field's value. -func (s *InputSpecification) SetMaximumBitrate(v string) *InputSpecification { - s.MaximumBitrate = &v +// SetSpecialFeature sets the SpecialFeature field's value. +func (s *ListReservationsInput) SetSpecialFeature(v string) *ListReservationsInput { + s.SpecialFeature = &v return s } -// SetResolution sets the Resolution field's value. -func (s *InputSpecification) SetResolution(v string) *InputSpecification { - s.Resolution = &v +// SetVideoQuality sets the VideoQuality field's value. +func (s *ListReservationsInput) SetVideoQuality(v string) *ListReservationsInput { + s.VideoQuality = &v return s } -// Settings for the "switch input" action: to switch from ingesting one input -// to ingesting another input. -type InputSwitchScheduleActionSettings struct { +type ListReservationsOutput struct { _ struct{} `type:"structure"` - // The name of the input attachment (not the name of the input!) to switch to. - // The name is specified in the channel configuration. - // - // InputAttachmentNameReference is a required field - InputAttachmentNameReference *string `locationName:"inputAttachmentNameReference" type:"string" required:"true"` - - // Settings to let you create a clip of the file input, in order to set up the - // input to ingest only a portion of the file. - InputClippingSettings *InputClippingSettings `locationName:"inputClippingSettings" type:"structure"` + NextToken *string `locationName:"nextToken" type:"string"` - // The value for the variable portion of the URL for the dynamic input, for - // this instance of the input. Each time you use the same dynamic input in an - // input switch action, you can provide a different value, in order to connect - // the input to a different content source. - UrlPath []*string `locationName:"urlPath" type:"list"` + Reservations []*Reservation `locationName:"reservations" type:"list"` } // String returns the string representation -func (s InputSwitchScheduleActionSettings) String() string { +func (s ListReservationsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputSwitchScheduleActionSettings) GoString() string { +func (s ListReservationsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *InputSwitchScheduleActionSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputSwitchScheduleActionSettings"} - if s.InputAttachmentNameReference == nil { - invalidParams.Add(request.NewErrParamRequired("InputAttachmentNameReference")) - } - if s.InputClippingSettings != nil { - if err := s.InputClippingSettings.Validate(); err != nil { - invalidParams.AddNested("InputClippingSettings", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetInputAttachmentNameReference sets the InputAttachmentNameReference field's value. -func (s *InputSwitchScheduleActionSettings) SetInputAttachmentNameReference(v string) *InputSwitchScheduleActionSettings { - s.InputAttachmentNameReference = &v - return s -} - -// SetInputClippingSettings sets the InputClippingSettings field's value. -func (s *InputSwitchScheduleActionSettings) SetInputClippingSettings(v *InputClippingSettings) *InputSwitchScheduleActionSettings { - s.InputClippingSettings = v +// SetNextToken sets the NextToken field's value. +func (s *ListReservationsOutput) SetNextToken(v string) *ListReservationsOutput { + s.NextToken = &v return s } -// SetUrlPath sets the UrlPath field's value. -func (s *InputSwitchScheduleActionSettings) SetUrlPath(v []*string) *InputSwitchScheduleActionSettings { - s.UrlPath = v +// SetReservations sets the Reservations field's value. +func (s *ListReservationsOutput) SetReservations(v []*Reservation) *ListReservationsOutput { + s.Reservations = v return s } -// Settings for a private VPC Input.When this property is specified, the input -// destination addresses will be created in a VPC rather than with public Internet -// addresses.This property requires setting the roleArn property on Input creation.Not -// compatible with the inputSecurityGroups property. -type InputVpcRequest struct { +type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // A list of up to 5 EC2 VPC security group IDs to attach to the Input VPC network - // interfaces.Requires subnetIds. If none are specified then the VPC default - // security group will be used. - SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` - - // A list of 2 VPC subnet IDs from the same VPC.Subnet IDs must be mapped to - // two unique availability zones (AZ). - // - // SubnetIds is a required field - SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"` + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` } // String returns the string representation -func (s InputVpcRequest) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputVpcRequest) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputVpcRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputVpcRequest"} - if s.SubnetIds == nil { - invalidParams.Add(request.NewErrParamRequired("SubnetIds")) +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) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if invalidParams.Len() > 0 { @@ -11843,128 +14550,292 @@ func (s *InputVpcRequest) Validate() error { return nil } -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *InputVpcRequest) SetSecurityGroupIds(v []*string) *InputVpcRequest { - s.SecurityGroupIds = v - return s -} - -// SetSubnetIds sets the SubnetIds field's value. -func (s *InputVpcRequest) SetSubnetIds(v []*string) *InputVpcRequest { - s.SubnetIds = v +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v return s } -// Whitelist rule -type InputWhitelistRule struct { +type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // The IPv4 CIDR that's whitelisted. - Cidr *string `locationName:"cidr" type:"string"` + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation -func (s InputWhitelistRule) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputWhitelistRule) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } -// SetCidr sets the Cidr field's value. -func (s *InputWhitelistRule) SetCidr(v string) *InputWhitelistRule { - s.Cidr = &v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v return s } -// An IPv4 CIDR to whitelist. -type InputWhitelistRuleCidr struct { +// M2ts Settings +type M2tsSettings struct { _ struct{} `type:"structure"` - // The IPv4 CIDR to whitelist. - Cidr *string `locationName:"cidr" type:"string"` -} + // When set to drop, output audio streams will be removed from the program if + // the selected input audio stream is removed from the input. This allows the + // output audio configuration to dynamically change based on input configuration. + // If this is set to encodeSilence, all output audio streams will output encoded + // silence when not connected to an active input stream. + AbsentInputAudioBehavior *string `locationName:"absentInputAudioBehavior" type:"string" enum:"M2tsAbsentInputAudioBehavior"` -// String returns the string representation -func (s InputWhitelistRuleCidr) String() string { - return awsutil.Prettify(s) -} + // When set to enabled, uses ARIB-compliant field muxing and removes video descriptor. + Arib *string `locationName:"arib" type:"string" enum:"M2tsArib"` -// GoString returns the string representation -func (s InputWhitelistRuleCidr) GoString() string { - return s.String() -} + // Packet Identifier (PID) for ARIB Captions in the transport stream. Can be + // entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 + // (or 0x1ff6). + AribCaptionsPid *string `locationName:"aribCaptionsPid" type:"string"` -// SetCidr sets the Cidr field's value. -func (s *InputWhitelistRuleCidr) SetCidr(v string) *InputWhitelistRuleCidr { - s.Cidr = &v - return s -} + // If set to auto, pid number used for ARIB Captions will be auto-selected from + // unused pids. If set to useConfigured, ARIB Captions will be on the configured + // pid number. + AribCaptionsPidControl *string `locationName:"aribCaptionsPidControl" type:"string" enum:"M2tsAribCaptionsPidControl"` -// Key Provider Settings -type KeyProviderSettings struct { - _ struct{} `type:"structure"` + // When set to dvb, uses DVB buffer model for Dolby Digital audio. When set + // to atsc, the ATSC model is used. + AudioBufferModel *string `locationName:"audioBufferModel" type:"string" enum:"M2tsAudioBufferModel"` - // Static Key Settings - StaticKeySettings *StaticKeySettings `locationName:"staticKeySettings" type:"structure"` -} + // The number of audio frames to insert for each PES packet. + AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"` -// String returns the string representation -func (s KeyProviderSettings) String() string { - return awsutil.Prettify(s) -} + // Packet Identifier (PID) of the elementary audio stream(s) in the transport + // stream. Multiple values are accepted, and can be entered in ranges and/or + // by comma separation. Can be entered as decimal or hexadecimal values. Each + // PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). + AudioPids *string `locationName:"audioPids" type:"string"` -// GoString returns the string representation -func (s KeyProviderSettings) GoString() string { - return s.String() -} + // When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 + // for EAC3. When set to dvb, uses stream type = 0x06. + AudioStreamType *string `locationName:"audioStreamType" type:"string" enum:"M2tsAudioStreamType"` + + // The output bitrate of the transport stream in bits per second. Setting to + // 0 lets the muxer automatically determine the appropriate bitrate. + Bitrate *int64 `locationName:"bitrate" type:"integer"` + + // If set to multiplex, use multiplex buffer model for accurate interleaving. + // Setting to bufferModel to none can lead to lower latency, but low-memory + // devices may not be able to play back the stream without interruptions. + BufferModel *string `locationName:"bufferModel" type:"string" enum:"M2tsBufferModel"` + + // When set to enabled, generates captionServiceDescriptor in PMT. + CcDescriptor *string `locationName:"ccDescriptor" type:"string" enum:"M2tsCcDescriptor"` + + // Inserts DVB Network Information Table (NIT) at the specified table repetition + // interval. + DvbNitSettings *DvbNitSettings `locationName:"dvbNitSettings" type:"structure"` + + // Inserts DVB Service Description Table (SDT) at the specified table repetition + // interval. + DvbSdtSettings *DvbSdtSettings `locationName:"dvbSdtSettings" type:"structure"` + + // Packet Identifier (PID) for input source DVB Subtitle data to this output. + // Multiple values are accepted, and can be entered in ranges and/or by comma + // separation. Can be entered as decimal or hexadecimal values. Each PID specified + // must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). + DvbSubPids *string `locationName:"dvbSubPids" type:"string"` + + // Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. + DvbTdtSettings *DvbTdtSettings `locationName:"dvbTdtSettings" type:"structure"` + + // Packet Identifier (PID) for input source DVB Teletext data to this output. + // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or + // 0x20)..8182 (or 0x1ff6). + DvbTeletextPid *string `locationName:"dvbTeletextPid" type:"string"` + + // If set to passthrough, passes any EBIF data from the input source to this + // output. + Ebif *string `locationName:"ebif" type:"string" enum:"M2tsEbifControl"` + + // When videoAndFixedIntervals is selected, audio EBP markers will be added + // to partitions 3 and 4. The interval between these additional markers will + // be fixed, and will be slightly shorter than the video EBP marker interval. + // Only available when EBP Cablelabs segmentation markers are selected. Partitions + // 1 and 2 will always follow the video interval. + EbpAudioInterval *string `locationName:"ebpAudioInterval" type:"string" enum:"M2tsAudioInterval"` + + // When set, enforces that Encoder Boundary Points do not come within the specified + // time interval of each other by looking ahead at input video. If another EBP + // is going to come in within the specified time interval, the current EBP is + // not emitted, and the segment is "stretched" to the next marker. The lookahead + // value does not add latency to the system. The Live Event must be configured + // elsewhere to create sufficient latency to make the lookahead accurate. + EbpLookaheadMs *int64 `locationName:"ebpLookaheadMs" type:"integer"` + + // Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP + // markers will be placed on the video PID and all audio PIDs. If set to videoPid, + // EBP markers will be placed on only the video PID. + EbpPlacement *string `locationName:"ebpPlacement" type:"string" enum:"M2tsEbpPlacement"` + + // This field is unused and deprecated. + EcmPid *string `locationName:"ecmPid" type:"string"` + + // Include or exclude the ES Rate field in the PES header. + EsRateInPes *string `locationName:"esRateInPes" type:"string" enum:"M2tsEsRateInPes"` + + // Packet Identifier (PID) for input source ETV Platform data to this output. + // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or + // 0x20)..8182 (or 0x1ff6). + EtvPlatformPid *string `locationName:"etvPlatformPid" type:"string"` + + // Packet Identifier (PID) for input source ETV Signal data to this output. + // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or + // 0x20)..8182 (or 0x1ff6). + EtvSignalPid *string `locationName:"etvSignalPid" type:"string"` + + // The length in seconds of each fragment. Only used with EBP markers. + FragmentTime *float64 `locationName:"fragmentTime" type:"double"` + + // If set to passthrough, passes any KLV data from the input source to this + // output. + Klv *string `locationName:"klv" type:"string" enum:"M2tsKlv"` + + // Packet Identifier (PID) for input source KLV data to this output. Multiple + // values are accepted, and can be entered in ranges and/or by comma separation. + // Can be entered as decimal or hexadecimal values. Each PID specified must + // be in the range of 32 (or 0x20)..8182 (or 0x1ff6). + KlvDataPids *string `locationName:"klvDataPids" type:"string"` + + // If set to passthrough, Nielsen inaudible tones for media tracking will be + // detected in the input audio and an equivalent ID3 tag will be inserted in + // the output. + NielsenId3Behavior *string `locationName:"nielsenId3Behavior" type:"string" enum:"M2tsNielsenId3Behavior"` + + // Value in bits per second of extra null packets to insert into the transport + // stream. This can be used if a downstream encryption system requires periodic + // null packets. + NullPacketBitrate *float64 `locationName:"nullPacketBitrate" type:"double"` + + // The number of milliseconds between instances of this table in the output + // transport stream. Valid values are 0, 10..1000. + PatInterval *int64 `locationName:"patInterval" type:"integer"` + + // When set to pcrEveryPesPacket, a Program Clock Reference value is inserted + // for every Packetized Elementary Stream (PES) header. This parameter is effective + // only when the PCR PID is the same as the video or audio elementary stream. + PcrControl *string `locationName:"pcrControl" type:"string" enum:"M2tsPcrControl"` + + // Maximum time in milliseconds between Program Clock Reference (PCRs) inserted + // into the transport stream. + PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"` + + // Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport + // stream. When no value is given, the encoder will assign the same value as + // the Video PID. Can be entered as a decimal or hexadecimal value. Valid values + // are 32 (or 0x20)..8182 (or 0x1ff6). + PcrPid *string `locationName:"pcrPid" type:"string"` + + // The number of milliseconds between instances of this table in the output + // transport stream. Valid values are 0, 10..1000. + PmtInterval *int64 `locationName:"pmtInterval" type:"integer"` + + // Packet Identifier (PID) for the Program Map Table (PMT) in the transport + // stream. Can be entered as a decimal or hexadecimal value. Valid values are + // 32 (or 0x20)..8182 (or 0x1ff6). + PmtPid *string `locationName:"pmtPid" type:"string"` + + // The value of the program number field in the Program Map Table. + ProgramNum *int64 `locationName:"programNum" type:"integer"` + + // When vbr, does not insert null packets into transport stream to fill specified + // bitrate. The bitrate setting acts as the maximum bitrate when vbr is set. + RateMode *string `locationName:"rateMode" type:"string" enum:"M2tsRateMode"` + + // Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple + // values are accepted, and can be entered in ranges and/or by comma separation. + // Can be entered as decimal or hexadecimal values. Each PID specified must + // be in the range of 32 (or 0x20)..8182 (or 0x1ff6). + Scte27Pids *string `locationName:"scte27Pids" type:"string"` + + // Optionally pass SCTE-35 signals from the input source to this output. + Scte35Control *string `locationName:"scte35Control" type:"string" enum:"M2tsScte35Control"` + + // Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can + // be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 + // (or 0x1ff6). + Scte35Pid *string `locationName:"scte35Pid" type:"string"` + + // Inserts segmentation markers at each segmentationTime period. raiSegstart + // sets the Random Access Indicator bit in the adaptation field. raiAdapt sets + // the RAI bit and adds the current timecode in the private data bytes. psiSegstart + // inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary + // Point information to the adaptation field as per OpenCable specification + // OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to + // the adaptation field using a legacy proprietary format. + SegmentationMarkers *string `locationName:"segmentationMarkers" type:"string" enum:"M2tsSegmentationMarkers"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *KeyProviderSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "KeyProviderSettings"} - if s.StaticKeySettings != nil { - if err := s.StaticKeySettings.Validate(); err != nil { - invalidParams.AddNested("StaticKeySettings", err.(request.ErrInvalidParams)) - } - } + // The segmentation style parameter controls how segmentation markers are inserted + // into the transport stream. With avails, it is possible that segments may + // be truncated, which can influence where future segmentation markers are inserted.When + // a segmentation style of "resetCadence" is selected and a segment is truncated + // due to an avail, we will reset the segmentation cadence. This means the subsequent + // segment will have a duration of $segmentationTime seconds.When a segmentation + // style of "maintainCadence" is selected and a segment is truncated due to + // an avail, we will not reset the segmentation cadence. This means the subsequent + // segment will likely be truncated as well. However, all segments after that + // will have a duration of $segmentationTime seconds. Note that EBP lookahead + // is a slight exception to this rule. + SegmentationStyle *string `locationName:"segmentationStyle" type:"string" enum:"M2tsSegmentationStyle"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // The length in seconds of each segment. Required unless markers is set to + // None_. + SegmentationTime *float64 `locationName:"segmentationTime" type:"double"` -// SetStaticKeySettings sets the StaticKeySettings field's value. -func (s *KeyProviderSettings) SetStaticKeySettings(v *StaticKeySettings) *KeyProviderSettings { - s.StaticKeySettings = v - return s -} + // When set to passthrough, timed metadata will be passed through from input + // to output. + TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M2tsTimedMetadataBehavior"` -type ListChannelsInput struct { - _ struct{} `type:"structure"` + // Packet Identifier (PID) of the timed metadata stream in the transport stream. + // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or + // 0x20)..8182 (or 0x1ff6). + TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"` - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // The value of the transport stream ID field in the Program Map Table. + TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"` - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // Packet Identifier (PID) of the elementary video stream in the transport stream. + // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or + // 0x20)..8182 (or 0x1ff6). + VideoPid *string `locationName:"videoPid" type:"string"` } // String returns the string representation -func (s ListChannelsInput) String() string { +func (s M2tsSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListChannelsInput) GoString() string { +func (s M2tsSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListChannelsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *M2tsSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "M2tsSettings"} + if s.DvbNitSettings != nil { + if err := s.DvbNitSettings.Validate(); err != nil { + invalidParams.AddNested("DvbNitSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbSdtSettings != nil { + if err := s.DvbSdtSettings.Validate(); err != nil { + invalidParams.AddNested("DvbSdtSettings", err.(request.ErrInvalidParams)) + } + } + if s.DvbTdtSettings != nil { + if err := s.DvbTdtSettings.Validate(); err != nil { + invalidParams.AddNested("DvbTdtSettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -11973,790 +14844,763 @@ func (s *ListChannelsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput { - s.MaxResults = &v +// SetAbsentInputAudioBehavior sets the AbsentInputAudioBehavior field's value. +func (s *M2tsSettings) SetAbsentInputAudioBehavior(v string) *M2tsSettings { + s.AbsentInputAudioBehavior = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput { - s.NextToken = &v +// SetArib sets the Arib field's value. +func (s *M2tsSettings) SetArib(v string) *M2tsSettings { + s.Arib = &v return s } -type ListChannelsOutput struct { - _ struct{} `type:"structure"` - - Channels []*ChannelSummary `locationName:"channels" type:"list"` - - NextToken *string `locationName:"nextToken" type:"string"` +// SetAribCaptionsPid sets the AribCaptionsPid field's value. +func (s *M2tsSettings) SetAribCaptionsPid(v string) *M2tsSettings { + s.AribCaptionsPid = &v + return s } -// String returns the string representation -func (s ListChannelsOutput) String() string { - return awsutil.Prettify(s) +// SetAribCaptionsPidControl sets the AribCaptionsPidControl field's value. +func (s *M2tsSettings) SetAribCaptionsPidControl(v string) *M2tsSettings { + s.AribCaptionsPidControl = &v + return s } -// GoString returns the string representation -func (s ListChannelsOutput) GoString() string { - return s.String() +// SetAudioBufferModel sets the AudioBufferModel field's value. +func (s *M2tsSettings) SetAudioBufferModel(v string) *M2tsSettings { + s.AudioBufferModel = &v + return s } -// SetChannels sets the Channels field's value. -func (s *ListChannelsOutput) SetChannels(v []*ChannelSummary) *ListChannelsOutput { - s.Channels = v +// SetAudioFramesPerPes sets the AudioFramesPerPes field's value. +func (s *M2tsSettings) SetAudioFramesPerPes(v int64) *M2tsSettings { + s.AudioFramesPerPes = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput { - s.NextToken = &v +// SetAudioPids sets the AudioPids field's value. +func (s *M2tsSettings) SetAudioPids(v string) *M2tsSettings { + s.AudioPids = &v return s } -type ListInputSecurityGroupsInput struct { - _ struct{} `type:"structure"` - - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +// SetAudioStreamType sets the AudioStreamType field's value. +func (s *M2tsSettings) SetAudioStreamType(v string) *M2tsSettings { + s.AudioStreamType = &v + return s } -// String returns the string representation -func (s ListInputSecurityGroupsInput) String() string { - return awsutil.Prettify(s) +// SetBitrate sets the Bitrate field's value. +func (s *M2tsSettings) SetBitrate(v int64) *M2tsSettings { + s.Bitrate = &v + return s } -// GoString returns the string representation -func (s ListInputSecurityGroupsInput) GoString() string { - return s.String() +// SetBufferModel sets the BufferModel field's value. +func (s *M2tsSettings) SetBufferModel(v string) *M2tsSettings { + s.BufferModel = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListInputSecurityGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListInputSecurityGroupsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCcDescriptor sets the CcDescriptor field's value. +func (s *M2tsSettings) SetCcDescriptor(v string) *M2tsSettings { + s.CcDescriptor = &v + return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListInputSecurityGroupsInput) SetMaxResults(v int64) *ListInputSecurityGroupsInput { - s.MaxResults = &v +// SetDvbNitSettings sets the DvbNitSettings field's value. +func (s *M2tsSettings) SetDvbNitSettings(v *DvbNitSettings) *M2tsSettings { + s.DvbNitSettings = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListInputSecurityGroupsInput) SetNextToken(v string) *ListInputSecurityGroupsInput { - s.NextToken = &v +// SetDvbSdtSettings sets the DvbSdtSettings field's value. +func (s *M2tsSettings) SetDvbSdtSettings(v *DvbSdtSettings) *M2tsSettings { + s.DvbSdtSettings = v return s } -type ListInputSecurityGroupsOutput struct { - _ struct{} `type:"structure"` - - InputSecurityGroups []*InputSecurityGroup `locationName:"inputSecurityGroups" type:"list"` - - NextToken *string `locationName:"nextToken" type:"string"` +// SetDvbSubPids sets the DvbSubPids field's value. +func (s *M2tsSettings) SetDvbSubPids(v string) *M2tsSettings { + s.DvbSubPids = &v + return s } -// String returns the string representation -func (s ListInputSecurityGroupsOutput) String() string { - return awsutil.Prettify(s) +// SetDvbTdtSettings sets the DvbTdtSettings field's value. +func (s *M2tsSettings) SetDvbTdtSettings(v *DvbTdtSettings) *M2tsSettings { + s.DvbTdtSettings = v + return s } -// GoString returns the string representation -func (s ListInputSecurityGroupsOutput) GoString() string { - return s.String() +// SetDvbTeletextPid sets the DvbTeletextPid field's value. +func (s *M2tsSettings) SetDvbTeletextPid(v string) *M2tsSettings { + s.DvbTeletextPid = &v + return s } -// SetInputSecurityGroups sets the InputSecurityGroups field's value. -func (s *ListInputSecurityGroupsOutput) SetInputSecurityGroups(v []*InputSecurityGroup) *ListInputSecurityGroupsOutput { - s.InputSecurityGroups = v +// SetEbif sets the Ebif field's value. +func (s *M2tsSettings) SetEbif(v string) *M2tsSettings { + s.Ebif = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListInputSecurityGroupsOutput) SetNextToken(v string) *ListInputSecurityGroupsOutput { - s.NextToken = &v +// SetEbpAudioInterval sets the EbpAudioInterval field's value. +func (s *M2tsSettings) SetEbpAudioInterval(v string) *M2tsSettings { + s.EbpAudioInterval = &v return s } -type ListInputsInput struct { - _ struct{} `type:"structure"` - - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +// SetEbpLookaheadMs sets the EbpLookaheadMs field's value. +func (s *M2tsSettings) SetEbpLookaheadMs(v int64) *M2tsSettings { + s.EbpLookaheadMs = &v + return s } -// String returns the string representation -func (s ListInputsInput) String() string { - return awsutil.Prettify(s) +// SetEbpPlacement sets the EbpPlacement field's value. +func (s *M2tsSettings) SetEbpPlacement(v string) *M2tsSettings { + s.EbpPlacement = &v + return s } -// GoString returns the string representation -func (s ListInputsInput) GoString() string { - return s.String() +// SetEcmPid sets the EcmPid field's value. +func (s *M2tsSettings) SetEcmPid(v string) *M2tsSettings { + s.EcmPid = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListInputsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListInputsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEsRateInPes sets the EsRateInPes field's value. +func (s *M2tsSettings) SetEsRateInPes(v string) *M2tsSettings { + s.EsRateInPes = &v + return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListInputsInput) SetMaxResults(v int64) *ListInputsInput { - s.MaxResults = &v +// SetEtvPlatformPid sets the EtvPlatformPid field's value. +func (s *M2tsSettings) SetEtvPlatformPid(v string) *M2tsSettings { + s.EtvPlatformPid = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListInputsInput) SetNextToken(v string) *ListInputsInput { - s.NextToken = &v +// SetEtvSignalPid sets the EtvSignalPid field's value. +func (s *M2tsSettings) SetEtvSignalPid(v string) *M2tsSettings { + s.EtvSignalPid = &v return s } -type ListInputsOutput struct { - _ struct{} `type:"structure"` - - Inputs []*Input `locationName:"inputs" type:"list"` - - NextToken *string `locationName:"nextToken" type:"string"` +// SetFragmentTime sets the FragmentTime field's value. +func (s *M2tsSettings) SetFragmentTime(v float64) *M2tsSettings { + s.FragmentTime = &v + return s } -// String returns the string representation -func (s ListInputsOutput) String() string { - return awsutil.Prettify(s) +// SetKlv sets the Klv field's value. +func (s *M2tsSettings) SetKlv(v string) *M2tsSettings { + s.Klv = &v + return s } -// GoString returns the string representation -func (s ListInputsOutput) GoString() string { - return s.String() +// SetKlvDataPids sets the KlvDataPids field's value. +func (s *M2tsSettings) SetKlvDataPids(v string) *M2tsSettings { + s.KlvDataPids = &v + return s } -// SetInputs sets the Inputs field's value. -func (s *ListInputsOutput) SetInputs(v []*Input) *ListInputsOutput { - s.Inputs = v +// SetNielsenId3Behavior sets the NielsenId3Behavior field's value. +func (s *M2tsSettings) SetNielsenId3Behavior(v string) *M2tsSettings { + s.NielsenId3Behavior = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListInputsOutput) SetNextToken(v string) *ListInputsOutput { - s.NextToken = &v +// SetNullPacketBitrate sets the NullPacketBitrate field's value. +func (s *M2tsSettings) SetNullPacketBitrate(v float64) *M2tsSettings { + s.NullPacketBitrate = &v return s } -type ListOfferingsInput struct { - _ struct{} `type:"structure"` - - ChannelClass *string `location:"querystring" locationName:"channelClass" type:"string"` - - ChannelConfiguration *string `location:"querystring" locationName:"channelConfiguration" type:"string"` - - Codec *string `location:"querystring" locationName:"codec" type:"string"` - - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - - MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"` - - MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"` - - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - - Resolution *string `location:"querystring" locationName:"resolution" type:"string"` - - ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"` +// SetPatInterval sets the PatInterval field's value. +func (s *M2tsSettings) SetPatInterval(v int64) *M2tsSettings { + s.PatInterval = &v + return s +} - SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"` +// SetPcrControl sets the PcrControl field's value. +func (s *M2tsSettings) SetPcrControl(v string) *M2tsSettings { + s.PcrControl = &v + return s +} - VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"` +// SetPcrPeriod sets the PcrPeriod field's value. +func (s *M2tsSettings) SetPcrPeriod(v int64) *M2tsSettings { + s.PcrPeriod = &v + return s } -// String returns the string representation -func (s ListOfferingsInput) String() string { - return awsutil.Prettify(s) +// SetPcrPid sets the PcrPid field's value. +func (s *M2tsSettings) SetPcrPid(v string) *M2tsSettings { + s.PcrPid = &v + return s } -// GoString returns the string representation -func (s ListOfferingsInput) GoString() string { - return s.String() +// SetPmtInterval sets the PmtInterval field's value. +func (s *M2tsSettings) SetPmtInterval(v int64) *M2tsSettings { + s.PmtInterval = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListOfferingsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListOfferingsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } +// SetPmtPid sets the PmtPid field's value. +func (s *M2tsSettings) SetPmtPid(v string) *M2tsSettings { + s.PmtPid = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetProgramNum sets the ProgramNum field's value. +func (s *M2tsSettings) SetProgramNum(v int64) *M2tsSettings { + s.ProgramNum = &v + return s } -// SetChannelClass sets the ChannelClass field's value. -func (s *ListOfferingsInput) SetChannelClass(v string) *ListOfferingsInput { - s.ChannelClass = &v +// SetRateMode sets the RateMode field's value. +func (s *M2tsSettings) SetRateMode(v string) *M2tsSettings { + s.RateMode = &v return s } -// SetChannelConfiguration sets the ChannelConfiguration field's value. -func (s *ListOfferingsInput) SetChannelConfiguration(v string) *ListOfferingsInput { - s.ChannelConfiguration = &v +// SetScte27Pids sets the Scte27Pids field's value. +func (s *M2tsSettings) SetScte27Pids(v string) *M2tsSettings { + s.Scte27Pids = &v return s } -// SetCodec sets the Codec field's value. -func (s *ListOfferingsInput) SetCodec(v string) *ListOfferingsInput { - s.Codec = &v +// SetScte35Control sets the Scte35Control field's value. +func (s *M2tsSettings) SetScte35Control(v string) *M2tsSettings { + s.Scte35Control = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListOfferingsInput) SetMaxResults(v int64) *ListOfferingsInput { - s.MaxResults = &v +// SetScte35Pid sets the Scte35Pid field's value. +func (s *M2tsSettings) SetScte35Pid(v string) *M2tsSettings { + s.Scte35Pid = &v return s } -// SetMaximumBitrate sets the MaximumBitrate field's value. -func (s *ListOfferingsInput) SetMaximumBitrate(v string) *ListOfferingsInput { - s.MaximumBitrate = &v +// SetSegmentationMarkers sets the SegmentationMarkers field's value. +func (s *M2tsSettings) SetSegmentationMarkers(v string) *M2tsSettings { + s.SegmentationMarkers = &v return s } -// SetMaximumFramerate sets the MaximumFramerate field's value. -func (s *ListOfferingsInput) SetMaximumFramerate(v string) *ListOfferingsInput { - s.MaximumFramerate = &v +// SetSegmentationStyle sets the SegmentationStyle field's value. +func (s *M2tsSettings) SetSegmentationStyle(v string) *M2tsSettings { + s.SegmentationStyle = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListOfferingsInput) SetNextToken(v string) *ListOfferingsInput { - s.NextToken = &v +// SetSegmentationTime sets the SegmentationTime field's value. +func (s *M2tsSettings) SetSegmentationTime(v float64) *M2tsSettings { + s.SegmentationTime = &v return s } -// SetResolution sets the Resolution field's value. -func (s *ListOfferingsInput) SetResolution(v string) *ListOfferingsInput { - s.Resolution = &v +// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value. +func (s *M2tsSettings) SetTimedMetadataBehavior(v string) *M2tsSettings { + s.TimedMetadataBehavior = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *ListOfferingsInput) SetResourceType(v string) *ListOfferingsInput { - s.ResourceType = &v +// SetTimedMetadataPid sets the TimedMetadataPid field's value. +func (s *M2tsSettings) SetTimedMetadataPid(v string) *M2tsSettings { + s.TimedMetadataPid = &v return s } -// SetSpecialFeature sets the SpecialFeature field's value. -func (s *ListOfferingsInput) SetSpecialFeature(v string) *ListOfferingsInput { - s.SpecialFeature = &v +// SetTransportStreamId sets the TransportStreamId field's value. +func (s *M2tsSettings) SetTransportStreamId(v int64) *M2tsSettings { + s.TransportStreamId = &v return s } -// SetVideoQuality sets the VideoQuality field's value. -func (s *ListOfferingsInput) SetVideoQuality(v string) *ListOfferingsInput { - s.VideoQuality = &v +// SetVideoPid sets the VideoPid field's value. +func (s *M2tsSettings) SetVideoPid(v string) *M2tsSettings { + s.VideoPid = &v return s } -type ListOfferingsOutput struct { +// Settings information for the .m3u8 container +type M3u8Settings struct { _ struct{} `type:"structure"` - NextToken *string `locationName:"nextToken" type:"string"` + // The number of audio frames to insert for each PES packet. + AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"` - Offerings []*Offering `locationName:"offerings" type:"list"` -} + // Packet Identifier (PID) of the elementary audio stream(s) in the transport + // stream. Multiple values are accepted, and can be entered in ranges and/or + // by comma separation. Can be entered as decimal or hexadecimal values. + AudioPids *string `locationName:"audioPids" type:"string"` -// String returns the string representation -func (s ListOfferingsOutput) String() string { - return awsutil.Prettify(s) -} + // This parameter is unused and deprecated. + EcmPid *string `locationName:"ecmPid" type:"string"` -// GoString returns the string representation -func (s ListOfferingsOutput) GoString() string { - return s.String() -} + // If set to passthrough, Nielsen inaudible tones for media tracking will be + // detected in the input audio and an equivalent ID3 tag will be inserted in + // the output. + NielsenId3Behavior *string `locationName:"nielsenId3Behavior" type:"string" enum:"M3u8NielsenId3Behavior"` -// SetNextToken sets the NextToken field's value. -func (s *ListOfferingsOutput) SetNextToken(v string) *ListOfferingsOutput { - s.NextToken = &v - return s -} + // The number of milliseconds between instances of this table in the output + // transport stream. A value of \"0\" writes out the PMT once per segment file. + PatInterval *int64 `locationName:"patInterval" type:"integer"` -// SetOfferings sets the Offerings field's value. -func (s *ListOfferingsOutput) SetOfferings(v []*Offering) *ListOfferingsOutput { - s.Offerings = v - return s -} + // When set to pcrEveryPesPacket, a Program Clock Reference value is inserted + // for every Packetized Elementary Stream (PES) header. This parameter is effective + // only when the PCR PID is the same as the video or audio elementary stream. + PcrControl *string `locationName:"pcrControl" type:"string" enum:"M3u8PcrControl"` -type ListReservationsInput struct { - _ struct{} `type:"structure"` + // Maximum time in milliseconds between Program Clock References (PCRs) inserted + // into the transport stream. + PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"` - ChannelClass *string `location:"querystring" locationName:"channelClass" type:"string"` + // Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport + // stream. When no value is given, the encoder will assign the same value as + // the Video PID. Can be entered as a decimal or hexadecimal value. + PcrPid *string `locationName:"pcrPid" type:"string"` - Codec *string `location:"querystring" locationName:"codec" type:"string"` + // The number of milliseconds between instances of this table in the output + // transport stream. A value of \"0\" writes out the PMT once per segment file. + PmtInterval *int64 `locationName:"pmtInterval" type:"integer"` - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // Packet Identifier (PID) for the Program Map Table (PMT) in the transport + // stream. Can be entered as a decimal or hexadecimal value. + PmtPid *string `locationName:"pmtPid" type:"string"` - MaximumBitrate *string `location:"querystring" locationName:"maximumBitrate" type:"string"` + // The value of the program number field in the Program Map Table. + ProgramNum *int64 `locationName:"programNum" type:"integer"` - MaximumFramerate *string `location:"querystring" locationName:"maximumFramerate" type:"string"` + // If set to passthrough, passes any SCTE-35 signals from the input source to + // this output. + Scte35Behavior *string `locationName:"scte35Behavior" type:"string" enum:"M3u8Scte35Behavior"` - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can + // be entered as a decimal or hexadecimal value. + Scte35Pid *string `locationName:"scte35Pid" type:"string"` - Resolution *string `location:"querystring" locationName:"resolution" type:"string"` + // When set to passthrough, timed metadata is passed through from input to output. + TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M3u8TimedMetadataBehavior"` - ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"` + // Packet Identifier (PID) of the timed metadata stream in the transport stream. + // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or + // 0x20)..8182 (or 0x1ff6). + TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"` - SpecialFeature *string `location:"querystring" locationName:"specialFeature" type:"string"` + // The value of the transport stream ID field in the Program Map Table. + TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"` - VideoQuality *string `location:"querystring" locationName:"videoQuality" type:"string"` + // Packet Identifier (PID) of the elementary video stream in the transport stream. + // Can be entered as a decimal or hexadecimal value. + VideoPid *string `locationName:"videoPid" type:"string"` } // String returns the string representation -func (s ListReservationsInput) String() string { +func (s M3u8Settings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReservationsInput) GoString() string { +func (s M3u8Settings) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListReservationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListReservationsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAudioFramesPerPes sets the AudioFramesPerPes field's value. +func (s *M3u8Settings) SetAudioFramesPerPes(v int64) *M3u8Settings { + s.AudioFramesPerPes = &v + return s } -// SetChannelClass sets the ChannelClass field's value. -func (s *ListReservationsInput) SetChannelClass(v string) *ListReservationsInput { - s.ChannelClass = &v +// SetAudioPids sets the AudioPids field's value. +func (s *M3u8Settings) SetAudioPids(v string) *M3u8Settings { + s.AudioPids = &v return s } -// SetCodec sets the Codec field's value. -func (s *ListReservationsInput) SetCodec(v string) *ListReservationsInput { - s.Codec = &v +// SetEcmPid sets the EcmPid field's value. +func (s *M3u8Settings) SetEcmPid(v string) *M3u8Settings { + s.EcmPid = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListReservationsInput) SetMaxResults(v int64) *ListReservationsInput { - s.MaxResults = &v +// SetNielsenId3Behavior sets the NielsenId3Behavior field's value. +func (s *M3u8Settings) SetNielsenId3Behavior(v string) *M3u8Settings { + s.NielsenId3Behavior = &v return s } -// SetMaximumBitrate sets the MaximumBitrate field's value. -func (s *ListReservationsInput) SetMaximumBitrate(v string) *ListReservationsInput { - s.MaximumBitrate = &v +// SetPatInterval sets the PatInterval field's value. +func (s *M3u8Settings) SetPatInterval(v int64) *M3u8Settings { + s.PatInterval = &v return s } -// SetMaximumFramerate sets the MaximumFramerate field's value. -func (s *ListReservationsInput) SetMaximumFramerate(v string) *ListReservationsInput { - s.MaximumFramerate = &v +// SetPcrControl sets the PcrControl field's value. +func (s *M3u8Settings) SetPcrControl(v string) *M3u8Settings { + s.PcrControl = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListReservationsInput) SetNextToken(v string) *ListReservationsInput { - s.NextToken = &v +// SetPcrPeriod sets the PcrPeriod field's value. +func (s *M3u8Settings) SetPcrPeriod(v int64) *M3u8Settings { + s.PcrPeriod = &v return s } -// SetResolution sets the Resolution field's value. -func (s *ListReservationsInput) SetResolution(v string) *ListReservationsInput { - s.Resolution = &v +// SetPcrPid sets the PcrPid field's value. +func (s *M3u8Settings) SetPcrPid(v string) *M3u8Settings { + s.PcrPid = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *ListReservationsInput) SetResourceType(v string) *ListReservationsInput { - s.ResourceType = &v +// SetPmtInterval sets the PmtInterval field's value. +func (s *M3u8Settings) SetPmtInterval(v int64) *M3u8Settings { + s.PmtInterval = &v return s } -// SetSpecialFeature sets the SpecialFeature field's value. -func (s *ListReservationsInput) SetSpecialFeature(v string) *ListReservationsInput { - s.SpecialFeature = &v +// SetPmtPid sets the PmtPid field's value. +func (s *M3u8Settings) SetPmtPid(v string) *M3u8Settings { + s.PmtPid = &v return s } -// SetVideoQuality sets the VideoQuality field's value. -func (s *ListReservationsInput) SetVideoQuality(v string) *ListReservationsInput { - s.VideoQuality = &v +// SetProgramNum sets the ProgramNum field's value. +func (s *M3u8Settings) SetProgramNum(v int64) *M3u8Settings { + s.ProgramNum = &v return s } -type ListReservationsOutput struct { - _ struct{} `type:"structure"` - - NextToken *string `locationName:"nextToken" type:"string"` +// SetScte35Behavior sets the Scte35Behavior field's value. +func (s *M3u8Settings) SetScte35Behavior(v string) *M3u8Settings { + s.Scte35Behavior = &v + return s +} - Reservations []*Reservation `locationName:"reservations" type:"list"` +// SetScte35Pid sets the Scte35Pid field's value. +func (s *M3u8Settings) SetScte35Pid(v string) *M3u8Settings { + s.Scte35Pid = &v + return s } -// String returns the string representation -func (s ListReservationsOutput) String() string { - return awsutil.Prettify(s) +// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value. +func (s *M3u8Settings) SetTimedMetadataBehavior(v string) *M3u8Settings { + s.TimedMetadataBehavior = &v + return s } -// GoString returns the string representation -func (s ListReservationsOutput) GoString() string { - return s.String() +// SetTimedMetadataPid sets the TimedMetadataPid field's value. +func (s *M3u8Settings) SetTimedMetadataPid(v string) *M3u8Settings { + s.TimedMetadataPid = &v + return s } -// SetNextToken sets the NextToken field's value. -func (s *ListReservationsOutput) SetNextToken(v string) *ListReservationsOutput { - s.NextToken = &v +// SetTransportStreamId sets the TransportStreamId field's value. +func (s *M3u8Settings) SetTransportStreamId(v int64) *M3u8Settings { + s.TransportStreamId = &v return s } -// SetReservations sets the Reservations field's value. -func (s *ListReservationsOutput) SetReservations(v []*Reservation) *ListReservationsOutput { - s.Reservations = v +// SetVideoPid sets the VideoPid field's value. +func (s *M3u8Settings) SetVideoPid(v string) *M3u8Settings { + s.VideoPid = &v return s } -type ListTagsForResourceInput struct { +// The settings for a MediaConnect Flow. +type MediaConnectFlow struct { _ struct{} `type:"structure"` - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"` + // The unique ARN of the MediaConnect Flow being used as a source. + FlowArn *string `locationName:"flowArn" type:"string"` } // String returns the string representation -func (s ListTagsForResourceInput) String() string { +func (s MediaConnectFlow) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceInput) GoString() string { +func (s MediaConnectFlow) 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) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) - } - - 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 +// SetFlowArn sets the FlowArn field's value. +func (s *MediaConnectFlow) SetFlowArn(v string) *MediaConnectFlow { + s.FlowArn = &v return s } -type ListTagsForResourceOutput struct { +// The settings for a MediaConnect Flow. +type MediaConnectFlowRequest struct { _ struct{} `type:"structure"` - Tags map[string]*string `locationName:"tags" type:"map"` + // The ARN of the MediaConnect Flow that you want to use as a source. + FlowArn *string `locationName:"flowArn" type:"string"` } // String returns the string representation -func (s ListTagsForResourceOutput) String() string { +func (s MediaConnectFlowRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceOutput) GoString() string { +func (s MediaConnectFlowRequest) GoString() string { return s.String() } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { - s.Tags = v +// SetFlowArn sets the FlowArn field's value. +func (s *MediaConnectFlowRequest) SetFlowArn(v string) *MediaConnectFlowRequest { + s.FlowArn = &v return s } -// M2ts Settings -type M2tsSettings struct { +// Media Package Group Settings +type MediaPackageGroupSettings struct { _ struct{} `type:"structure"` - // When set to drop, output audio streams will be removed from the program if - // the selected input audio stream is removed from the input. This allows the - // output audio configuration to dynamically change based on input configuration. - // If this is set to encodeSilence, all output audio streams will output encoded - // silence when not connected to an active input stream. - AbsentInputAudioBehavior *string `locationName:"absentInputAudioBehavior" type:"string" enum:"M2tsAbsentInputAudioBehavior"` - - // When set to enabled, uses ARIB-compliant field muxing and removes video descriptor. - Arib *string `locationName:"arib" type:"string" enum:"M2tsArib"` - - // Packet Identifier (PID) for ARIB Captions in the transport stream. Can be - // entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 - // (or 0x1ff6). - AribCaptionsPid *string `locationName:"aribCaptionsPid" type:"string"` - - // If set to auto, pid number used for ARIB Captions will be auto-selected from - // unused pids. If set to useConfigured, ARIB Captions will be on the configured - // pid number. - AribCaptionsPidControl *string `locationName:"aribCaptionsPidControl" type:"string" enum:"M2tsAribCaptionsPidControl"` + // MediaPackage channel destination. + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` +} - // When set to dvb, uses DVB buffer model for Dolby Digital audio. When set - // to atsc, the ATSC model is used. - AudioBufferModel *string `locationName:"audioBufferModel" type:"string" enum:"M2tsAudioBufferModel"` +// String returns the string representation +func (s MediaPackageGroupSettings) String() string { + return awsutil.Prettify(s) +} - // The number of audio frames to insert for each PES packet. - AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"` +// GoString returns the string representation +func (s MediaPackageGroupSettings) GoString() string { + return s.String() +} - // Packet Identifier (PID) of the elementary audio stream(s) in the transport - // stream. Multiple values are accepted, and can be entered in ranges and/or - // by comma separation. Can be entered as decimal or hexadecimal values. Each - // PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). - AudioPids *string `locationName:"audioPids" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *MediaPackageGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MediaPackageGroupSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } - // When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 - // for EAC3. When set to dvb, uses stream type = 0x06. - AudioStreamType *string `locationName:"audioStreamType" type:"string" enum:"M2tsAudioStreamType"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The output bitrate of the transport stream in bits per second. Setting to - // 0 lets the muxer automatically determine the appropriate bitrate. - Bitrate *int64 `locationName:"bitrate" type:"integer"` +// SetDestination sets the Destination field's value. +func (s *MediaPackageGroupSettings) SetDestination(v *OutputLocationRef) *MediaPackageGroupSettings { + s.Destination = v + return s +} - // If set to multiplex, use multiplex buffer model for accurate interleaving. - // Setting to bufferModel to none can lead to lower latency, but low-memory - // devices may not be able to play back the stream without interruptions. - BufferModel *string `locationName:"bufferModel" type:"string" enum:"M2tsBufferModel"` +// MediaPackage Output Destination Settings +type MediaPackageOutputDestinationSettings struct { + _ struct{} `type:"structure"` - // When set to enabled, generates captionServiceDescriptor in PMT. - CcDescriptor *string `locationName:"ccDescriptor" type:"string" enum:"M2tsCcDescriptor"` + // ID of the channel in MediaPackage that is the destination for this output + // group. You do not need to specify the individual inputs in MediaPackage; + // MediaLive will handle the connection of the two MediaLive pipelines to the + // two MediaPackage inputs. The MediaPackage channel and MediaLive channel must + // be in the same region. + ChannelId *string `locationName:"channelId" min:"1" type:"string"` +} - // Inserts DVB Network Information Table (NIT) at the specified table repetition - // interval. - DvbNitSettings *DvbNitSettings `locationName:"dvbNitSettings" type:"structure"` +// String returns the string representation +func (s MediaPackageOutputDestinationSettings) String() string { + return awsutil.Prettify(s) +} - // Inserts DVB Service Description Table (SDT) at the specified table repetition - // interval. - DvbSdtSettings *DvbSdtSettings `locationName:"dvbSdtSettings" type:"structure"` +// GoString returns the string representation +func (s MediaPackageOutputDestinationSettings) GoString() string { + return s.String() +} - // Packet Identifier (PID) for input source DVB Subtitle data to this output. - // Multiple values are accepted, and can be entered in ranges and/or by comma - // separation. Can be entered as decimal or hexadecimal values. Each PID specified - // must be in the range of 32 (or 0x20)..8182 (or 0x1ff6). - DvbSubPids *string `locationName:"dvbSubPids" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *MediaPackageOutputDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MediaPackageOutputDestinationSettings"} + if s.ChannelId != nil && len(*s.ChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) + } - // Inserts DVB Time and Date Table (TDT) at the specified table repetition interval. - DvbTdtSettings *DvbTdtSettings `locationName:"dvbTdtSettings" type:"structure"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Packet Identifier (PID) for input source DVB Teletext data to this output. - // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or - // 0x20)..8182 (or 0x1ff6). - DvbTeletextPid *string `locationName:"dvbTeletextPid" type:"string"` +// SetChannelId sets the ChannelId field's value. +func (s *MediaPackageOutputDestinationSettings) SetChannelId(v string) *MediaPackageOutputDestinationSettings { + s.ChannelId = &v + return s +} - // If set to passthrough, passes any EBIF data from the input source to this - // output. - Ebif *string `locationName:"ebif" type:"string" enum:"M2tsEbifControl"` +// Media Package Output Settings +type MediaPackageOutputSettings struct { + _ struct{} `type:"structure"` +} - // When videoAndFixedIntervals is selected, audio EBP markers will be added - // to partitions 3 and 4. The interval between these additional markers will - // be fixed, and will be slightly shorter than the video EBP marker interval. - // Only available when EBP Cablelabs segmentation markers are selected. Partitions - // 1 and 2 will always follow the video interval. - EbpAudioInterval *string `locationName:"ebpAudioInterval" type:"string" enum:"M2tsAudioInterval"` +// String returns the string representation +func (s MediaPackageOutputSettings) String() string { + return awsutil.Prettify(s) +} - // When set, enforces that Encoder Boundary Points do not come within the specified - // time interval of each other by looking ahead at input video. If another EBP - // is going to come in within the specified time interval, the current EBP is - // not emitted, and the segment is "stretched" to the next marker. The lookahead - // value does not add latency to the system. The Live Event must be configured - // elsewhere to create sufficient latency to make the lookahead accurate. - EbpLookaheadMs *int64 `locationName:"ebpLookaheadMs" type:"integer"` +// GoString returns the string representation +func (s MediaPackageOutputSettings) GoString() string { + return s.String() +} - // Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP - // markers will be placed on the video PID and all audio PIDs. If set to videoPid, - // EBP markers will be placed on only the video PID. - EbpPlacement *string `locationName:"ebpPlacement" type:"string" enum:"M2tsEbpPlacement"` +// Mp2 Settings +type Mp2Settings struct { + _ struct{} `type:"structure"` - // This field is unused and deprecated. - EcmPid *string `locationName:"ecmPid" type:"string"` + // Average bitrate in bits/second. + Bitrate *float64 `locationName:"bitrate" type:"double"` - // Include or exclude the ES Rate field in the PES header. - EsRateInPes *string `locationName:"esRateInPes" type:"string" enum:"M2tsEsRateInPes"` + // The MPEG2 Audio coding mode. Valid values are codingMode10 (for mono) or + // codingMode20 (for stereo). + CodingMode *string `locationName:"codingMode" type:"string" enum:"Mp2CodingMode"` - // Packet Identifier (PID) for input source ETV Platform data to this output. - // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or - // 0x20)..8182 (or 0x1ff6). - EtvPlatformPid *string `locationName:"etvPlatformPid" type:"string"` + // Sample rate in Hz. + SampleRate *float64 `locationName:"sampleRate" type:"double"` +} - // Packet Identifier (PID) for input source ETV Signal data to this output. - // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or - // 0x20)..8182 (or 0x1ff6). - EtvSignalPid *string `locationName:"etvSignalPid" type:"string"` +// String returns the string representation +func (s Mp2Settings) String() string { + return awsutil.Prettify(s) +} - // The length in seconds of each fragment. Only used with EBP markers. - FragmentTime *float64 `locationName:"fragmentTime" type:"double"` +// GoString returns the string representation +func (s Mp2Settings) GoString() string { + return s.String() +} - // If set to passthrough, passes any KLV data from the input source to this - // output. - Klv *string `locationName:"klv" type:"string" enum:"M2tsKlv"` +// SetBitrate sets the Bitrate field's value. +func (s *Mp2Settings) SetBitrate(v float64) *Mp2Settings { + s.Bitrate = &v + return s +} - // Packet Identifier (PID) for input source KLV data to this output. Multiple - // values are accepted, and can be entered in ranges and/or by comma separation. - // Can be entered as decimal or hexadecimal values. Each PID specified must - // be in the range of 32 (or 0x20)..8182 (or 0x1ff6). - KlvDataPids *string `locationName:"klvDataPids" type:"string"` +// SetCodingMode sets the CodingMode field's value. +func (s *Mp2Settings) SetCodingMode(v string) *Mp2Settings { + s.CodingMode = &v + return s +} - // Value in bits per second of extra null packets to insert into the transport - // stream. This can be used if a downstream encryption system requires periodic - // null packets. - NullPacketBitrate *float64 `locationName:"nullPacketBitrate" type:"double"` +// SetSampleRate sets the SampleRate field's value. +func (s *Mp2Settings) SetSampleRate(v float64) *Mp2Settings { + s.SampleRate = &v + return s +} - // The number of milliseconds between instances of this table in the output - // transport stream. Valid values are 0, 10..1000. - PatInterval *int64 `locationName:"patInterval" type:"integer"` +// Ms Smooth Group Settings +type MsSmoothGroupSettings struct { + _ struct{} `type:"structure"` - // When set to pcrEveryPesPacket, a Program Clock Reference value is inserted - // for every Packetized Elementary Stream (PES) header. This parameter is effective - // only when the PCR PID is the same as the video or audio elementary stream. - PcrControl *string `locationName:"pcrControl" type:"string" enum:"M2tsPcrControl"` + // The value of the "Acquisition Point Identity" element used in each message + // placed in the sparse track. Only enabled if sparseTrackType is not "none". + AcquisitionPointId *string `locationName:"acquisitionPointId" type:"string"` - // Maximum time in milliseconds between Program Clock Reference (PCRs) inserted - // into the transport stream. - PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"` + // If set to passthrough for an audio-only MS Smooth output, the fragment absolute + // time will be set to the current timecode. This option does not write timecodes + // to the audio elementary stream. + AudioOnlyTimecodeControl *string `locationName:"audioOnlyTimecodeControl" type:"string" enum:"SmoothGroupAudioOnlyTimecodeControl"` - // Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport - // stream. When no value is given, the encoder will assign the same value as - // the Video PID. Can be entered as a decimal or hexadecimal value. Valid values - // are 32 (or 0x20)..8182 (or 0x1ff6). - PcrPid *string `locationName:"pcrPid" type:"string"` + // If set to verifyAuthenticity, verify the https certificate chain to a trusted + // Certificate Authority (CA). This will cause https outputs to self-signed + // certificates to fail. + CertificateMode *string `locationName:"certificateMode" type:"string" enum:"SmoothGroupCertificateMode"` - // The number of milliseconds between instances of this table in the output - // transport stream. Valid values are 0, 10..1000. - PmtInterval *int64 `locationName:"pmtInterval" type:"integer"` + // Number of seconds to wait before retrying connection to the IIS server if + // the connection is lost. Content will be cached during this time and the cache + // will be be delivered to the IIS server once the connection is re-established. + ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` - // Packet Identifier (PID) for the Program Map Table (PMT) in the transport - // stream. Can be entered as a decimal or hexadecimal value. Valid values are - // 32 (or 0x20)..8182 (or 0x1ff6). - PmtPid *string `locationName:"pmtPid" type:"string"` + // Smooth Streaming publish point on an IIS server. Elemental Live acts as a + // "Push" encoder to IIS. + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` - // The value of the program number field in the Program Map Table. - ProgramNum *int64 `locationName:"programNum" type:"integer"` + // MS Smooth event ID to be sent to the IIS server.Should only be specified + // if eventIdMode is set to useConfigured. + EventId *string `locationName:"eventId" type:"string"` - // When vbr, does not insert null packets into transport stream to fill specified - // bitrate. The bitrate setting acts as the maximum bitrate when vbr is set. - RateMode *string `locationName:"rateMode" type:"string" enum:"M2tsRateMode"` + // Specifies whether or not to send an event ID to the IIS server. If no event + // ID is sent and the same Live Event is used without changing the publishing + // point, clients might see cached video from the previous run.Options:- "useConfigured" + // - use the value provided in eventId- "useTimestamp" - generate and send an + // event ID based on the current timestamp- "noEventId" - do not send an event + // ID to the IIS server. + EventIdMode *string `locationName:"eventIdMode" type:"string" enum:"SmoothGroupEventIdMode"` - // Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple - // values are accepted, and can be entered in ranges and/or by comma separation. - // Can be entered as decimal or hexadecimal values. Each PID specified must - // be in the range of 32 (or 0x20)..8182 (or 0x1ff6). - Scte27Pids *string `locationName:"scte27Pids" type:"string"` + // When set to sendEos, send EOS signal to IIS server when stopping the event + EventStopBehavior *string `locationName:"eventStopBehavior" type:"string" enum:"SmoothGroupEventStopBehavior"` - // Optionally pass SCTE-35 signals from the input source to this output. - Scte35Control *string `locationName:"scte35Control" type:"string" enum:"M2tsScte35Control"` + // Size in seconds of file cache for streaming outputs. + FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` - // Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can - // be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 - // (or 0x1ff6). - Scte35Pid *string `locationName:"scte35Pid" type:"string"` + // Length of mp4 fragments to generate (in seconds). Fragment length must be + // compatible with GOP size and framerate. + FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"` - // Inserts segmentation markers at each segmentationTime period. raiSegstart - // sets the Random Access Indicator bit in the adaptation field. raiAdapt sets - // the RAI bit and adds the current timecode in the private data bytes. psiSegstart - // inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary - // Point information to the adaptation field as per OpenCable specification - // OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to - // the adaptation field using a legacy proprietary format. - SegmentationMarkers *string `locationName:"segmentationMarkers" type:"string" enum:"M2tsSegmentationMarkers"` + // Parameter that control output group behavior on input loss. + InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForMsSmoothOut"` - // The segmentation style parameter controls how segmentation markers are inserted - // into the transport stream. With avails, it is possible that segments may - // be truncated, which can influence where future segmentation markers are inserted.When - // a segmentation style of "resetCadence" is selected and a segment is truncated - // due to an avail, we will reset the segmentation cadence. This means the subsequent - // segment will have a duration of $segmentationTime seconds.When a segmentation - // style of "maintainCadence" is selected and a segment is truncated due to - // an avail, we will not reset the segmentation cadence. This means the subsequent - // segment will likely be truncated as well. However, all segments after that - // will have a duration of $segmentationTime seconds. Note that EBP lookahead - // is a slight exception to this rule. - SegmentationStyle *string `locationName:"segmentationStyle" type:"string" enum:"M2tsSegmentationStyle"` + // Number of retry attempts. + NumRetries *int64 `locationName:"numRetries" type:"integer"` - // The length in seconds of each segment. Required unless markers is set to - // None_. - SegmentationTime *float64 `locationName:"segmentationTime" type:"double"` + // Number of seconds before initiating a restart due to output failure, due + // to exhausting the numRetries on one segment, or exceeding filecacheDuration. + RestartDelay *int64 `locationName:"restartDelay" type:"integer"` - // When set to passthrough, timed metadata will be passed through from input - // to output. - TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M2tsTimedMetadataBehavior"` + // useInputSegmentation has been deprecated. The configured segment size is + // always used. + SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"SmoothGroupSegmentationMode"` - // Packet Identifier (PID) of the timed metadata stream in the transport stream. - // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or - // 0x20)..8182 (or 0x1ff6). - TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"` + // Number of milliseconds to delay the output from the second pipeline. + SendDelayMs *int64 `locationName:"sendDelayMs" type:"integer"` - // The value of the transport stream ID field in the Program Map Table. - TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"` + // If set to scte35, use incoming SCTE-35 messages to generate a sparse track + // in this group of MS-Smooth outputs. + SparseTrackType *string `locationName:"sparseTrackType" type:"string" enum:"SmoothGroupSparseTrackType"` + + // When set to send, send stream manifest so publishing point doesn't start + // until all streams start. + StreamManifestBehavior *string `locationName:"streamManifestBehavior" type:"string" enum:"SmoothGroupStreamManifestBehavior"` - // Packet Identifier (PID) of the elementary video stream in the transport stream. - // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or - // 0x20)..8182 (or 0x1ff6). - VideoPid *string `locationName:"videoPid" type:"string"` + // Timestamp offset for the event. Only used if timestampOffsetMode is set to + // useConfiguredOffset. + TimestampOffset *string `locationName:"timestampOffset" type:"string"` + + // Type of timestamp date offset to use.- useEventStartDate: Use the date the + // event was started as the offset- useConfiguredOffset: Use an explicitly configured + // date as the offset + TimestampOffsetMode *string `locationName:"timestampOffsetMode" type:"string" enum:"SmoothGroupTimestampOffsetMode"` } // String returns the string representation -func (s M2tsSettings) String() string { +func (s MsSmoothGroupSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s M2tsSettings) GoString() string { +func (s MsSmoothGroupSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *M2tsSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "M2tsSettings"} - if s.DvbNitSettings != nil { - if err := s.DvbNitSettings.Validate(); err != nil { - invalidParams.AddNested("DvbNitSettings", err.(request.ErrInvalidParams)) - } - } - if s.DvbSdtSettings != nil { - if err := s.DvbSdtSettings.Validate(); err != nil { - invalidParams.AddNested("DvbSdtSettings", err.(request.ErrInvalidParams)) - } +func (s *MsSmoothGroupSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MsSmoothGroupSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) } - if s.DvbTdtSettings != nil { - if err := s.DvbTdtSettings.Validate(); err != nil { - invalidParams.AddNested("DvbTdtSettings", err.(request.ErrInvalidParams)) - } + if s.FragmentLength != nil && *s.FragmentLength < 1 { + invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1)) } if invalidParams.Len() > 0 { @@ -12765,529 +15609,619 @@ func (s *M2tsSettings) Validate() error { return nil } -// SetAbsentInputAudioBehavior sets the AbsentInputAudioBehavior field's value. -func (s *M2tsSettings) SetAbsentInputAudioBehavior(v string) *M2tsSettings { - s.AbsentInputAudioBehavior = &v +// SetAcquisitionPointId sets the AcquisitionPointId field's value. +func (s *MsSmoothGroupSettings) SetAcquisitionPointId(v string) *MsSmoothGroupSettings { + s.AcquisitionPointId = &v return s } -// SetArib sets the Arib field's value. -func (s *M2tsSettings) SetArib(v string) *M2tsSettings { - s.Arib = &v +// SetAudioOnlyTimecodeControl sets the AudioOnlyTimecodeControl field's value. +func (s *MsSmoothGroupSettings) SetAudioOnlyTimecodeControl(v string) *MsSmoothGroupSettings { + s.AudioOnlyTimecodeControl = &v return s } -// SetAribCaptionsPid sets the AribCaptionsPid field's value. -func (s *M2tsSettings) SetAribCaptionsPid(v string) *M2tsSettings { - s.AribCaptionsPid = &v +// SetCertificateMode sets the CertificateMode field's value. +func (s *MsSmoothGroupSettings) SetCertificateMode(v string) *MsSmoothGroupSettings { + s.CertificateMode = &v return s } -// SetAribCaptionsPidControl sets the AribCaptionsPidControl field's value. -func (s *M2tsSettings) SetAribCaptionsPidControl(v string) *M2tsSettings { - s.AribCaptionsPidControl = &v +// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. +func (s *MsSmoothGroupSettings) SetConnectionRetryInterval(v int64) *MsSmoothGroupSettings { + s.ConnectionRetryInterval = &v return s } -// SetAudioBufferModel sets the AudioBufferModel field's value. -func (s *M2tsSettings) SetAudioBufferModel(v string) *M2tsSettings { - s.AudioBufferModel = &v +// SetDestination sets the Destination field's value. +func (s *MsSmoothGroupSettings) SetDestination(v *OutputLocationRef) *MsSmoothGroupSettings { + s.Destination = v return s } -// SetAudioFramesPerPes sets the AudioFramesPerPes field's value. -func (s *M2tsSettings) SetAudioFramesPerPes(v int64) *M2tsSettings { - s.AudioFramesPerPes = &v +// SetEventId sets the EventId field's value. +func (s *MsSmoothGroupSettings) SetEventId(v string) *MsSmoothGroupSettings { + s.EventId = &v return s } -// SetAudioPids sets the AudioPids field's value. -func (s *M2tsSettings) SetAudioPids(v string) *M2tsSettings { - s.AudioPids = &v +// SetEventIdMode sets the EventIdMode field's value. +func (s *MsSmoothGroupSettings) SetEventIdMode(v string) *MsSmoothGroupSettings { + s.EventIdMode = &v return s } -// SetAudioStreamType sets the AudioStreamType field's value. -func (s *M2tsSettings) SetAudioStreamType(v string) *M2tsSettings { - s.AudioStreamType = &v +// SetEventStopBehavior sets the EventStopBehavior field's value. +func (s *MsSmoothGroupSettings) SetEventStopBehavior(v string) *MsSmoothGroupSettings { + s.EventStopBehavior = &v return s } -// SetBitrate sets the Bitrate field's value. -func (s *M2tsSettings) SetBitrate(v int64) *M2tsSettings { - s.Bitrate = &v +// SetFilecacheDuration sets the FilecacheDuration field's value. +func (s *MsSmoothGroupSettings) SetFilecacheDuration(v int64) *MsSmoothGroupSettings { + s.FilecacheDuration = &v return s } -// SetBufferModel sets the BufferModel field's value. -func (s *M2tsSettings) SetBufferModel(v string) *M2tsSettings { - s.BufferModel = &v +// SetFragmentLength sets the FragmentLength field's value. +func (s *MsSmoothGroupSettings) SetFragmentLength(v int64) *MsSmoothGroupSettings { + s.FragmentLength = &v return s } -// SetCcDescriptor sets the CcDescriptor field's value. -func (s *M2tsSettings) SetCcDescriptor(v string) *M2tsSettings { - s.CcDescriptor = &v +// SetInputLossAction sets the InputLossAction field's value. +func (s *MsSmoothGroupSettings) SetInputLossAction(v string) *MsSmoothGroupSettings { + s.InputLossAction = &v return s } -// SetDvbNitSettings sets the DvbNitSettings field's value. -func (s *M2tsSettings) SetDvbNitSettings(v *DvbNitSettings) *M2tsSettings { - s.DvbNitSettings = v +// SetNumRetries sets the NumRetries field's value. +func (s *MsSmoothGroupSettings) SetNumRetries(v int64) *MsSmoothGroupSettings { + s.NumRetries = &v return s } -// SetDvbSdtSettings sets the DvbSdtSettings field's value. -func (s *M2tsSettings) SetDvbSdtSettings(v *DvbSdtSettings) *M2tsSettings { - s.DvbSdtSettings = v +// SetRestartDelay sets the RestartDelay field's value. +func (s *MsSmoothGroupSettings) SetRestartDelay(v int64) *MsSmoothGroupSettings { + s.RestartDelay = &v return s } -// SetDvbSubPids sets the DvbSubPids field's value. -func (s *M2tsSettings) SetDvbSubPids(v string) *M2tsSettings { - s.DvbSubPids = &v +// SetSegmentationMode sets the SegmentationMode field's value. +func (s *MsSmoothGroupSettings) SetSegmentationMode(v string) *MsSmoothGroupSettings { + s.SegmentationMode = &v return s } -// SetDvbTdtSettings sets the DvbTdtSettings field's value. -func (s *M2tsSettings) SetDvbTdtSettings(v *DvbTdtSettings) *M2tsSettings { - s.DvbTdtSettings = v +// SetSendDelayMs sets the SendDelayMs field's value. +func (s *MsSmoothGroupSettings) SetSendDelayMs(v int64) *MsSmoothGroupSettings { + s.SendDelayMs = &v return s } -// SetDvbTeletextPid sets the DvbTeletextPid field's value. -func (s *M2tsSettings) SetDvbTeletextPid(v string) *M2tsSettings { - s.DvbTeletextPid = &v +// SetSparseTrackType sets the SparseTrackType field's value. +func (s *MsSmoothGroupSettings) SetSparseTrackType(v string) *MsSmoothGroupSettings { + s.SparseTrackType = &v return s } -// SetEbif sets the Ebif field's value. -func (s *M2tsSettings) SetEbif(v string) *M2tsSettings { - s.Ebif = &v +// SetStreamManifestBehavior sets the StreamManifestBehavior field's value. +func (s *MsSmoothGroupSettings) SetStreamManifestBehavior(v string) *MsSmoothGroupSettings { + s.StreamManifestBehavior = &v return s } -// SetEbpAudioInterval sets the EbpAudioInterval field's value. -func (s *M2tsSettings) SetEbpAudioInterval(v string) *M2tsSettings { - s.EbpAudioInterval = &v +// SetTimestampOffset sets the TimestampOffset field's value. +func (s *MsSmoothGroupSettings) SetTimestampOffset(v string) *MsSmoothGroupSettings { + s.TimestampOffset = &v return s } -// SetEbpLookaheadMs sets the EbpLookaheadMs field's value. -func (s *M2tsSettings) SetEbpLookaheadMs(v int64) *M2tsSettings { - s.EbpLookaheadMs = &v +// SetTimestampOffsetMode sets the TimestampOffsetMode field's value. +func (s *MsSmoothGroupSettings) SetTimestampOffsetMode(v string) *MsSmoothGroupSettings { + s.TimestampOffsetMode = &v return s } -// SetEbpPlacement sets the EbpPlacement field's value. -func (s *M2tsSettings) SetEbpPlacement(v string) *M2tsSettings { - s.EbpPlacement = &v - return s -} +// Ms Smooth Output Settings +type MsSmoothOutputSettings struct { + _ struct{} `type:"structure"` -// SetEcmPid sets the EcmPid field's value. -func (s *M2tsSettings) SetEcmPid(v string) *M2tsSettings { - s.EcmPid = &v - return s -} + // Only applicable when this output is referencing an H.265 video description.Specifies + // whether MP4 segments should be packaged as HEV1 or HVC1. + H265PackagingType *string `locationName:"h265PackagingType" type:"string" enum:"MsSmoothH265PackagingType"` -// SetEsRateInPes sets the EsRateInPes field's value. -func (s *M2tsSettings) SetEsRateInPes(v string) *M2tsSettings { - s.EsRateInPes = &v - return s + // String concatenated to the end of the destination filename. Required for + // multiple outputs of the same type. + NameModifier *string `locationName:"nameModifier" type:"string"` } -// SetEtvPlatformPid sets the EtvPlatformPid field's value. -func (s *M2tsSettings) SetEtvPlatformPid(v string) *M2tsSettings { - s.EtvPlatformPid = &v - return s +// String returns the string representation +func (s MsSmoothOutputSettings) String() string { + return awsutil.Prettify(s) } -// SetEtvSignalPid sets the EtvSignalPid field's value. -func (s *M2tsSettings) SetEtvSignalPid(v string) *M2tsSettings { - s.EtvSignalPid = &v - return s +// GoString returns the string representation +func (s MsSmoothOutputSettings) GoString() string { + return s.String() } -// SetFragmentTime sets the FragmentTime field's value. -func (s *M2tsSettings) SetFragmentTime(v float64) *M2tsSettings { - s.FragmentTime = &v +// SetH265PackagingType sets the H265PackagingType field's value. +func (s *MsSmoothOutputSettings) SetH265PackagingType(v string) *MsSmoothOutputSettings { + s.H265PackagingType = &v return s } -// SetKlv sets the Klv field's value. -func (s *M2tsSettings) SetKlv(v string) *M2tsSettings { - s.Klv = &v +// SetNameModifier sets the NameModifier field's value. +func (s *MsSmoothOutputSettings) SetNameModifier(v string) *MsSmoothOutputSettings { + s.NameModifier = &v return s } -// SetKlvDataPids sets the KlvDataPids field's value. -func (s *M2tsSettings) SetKlvDataPids(v string) *M2tsSettings { - s.KlvDataPids = &v - return s -} +// The multiplex object. +type Multiplex struct { + _ struct{} `type:"structure"` -// SetNullPacketBitrate sets the NullPacketBitrate field's value. -func (s *M2tsSettings) SetNullPacketBitrate(v float64) *M2tsSettings { - s.NullPacketBitrate = &v - return s + // The unique arn of the multiplex. + Arn *string `locationName:"arn" type:"string"` + + // A list of availability zones for the multiplex. + AvailabilityZones []*string `locationName:"availabilityZones" type:"list"` + + // A list of the multiplex output destinations. + Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"` + + // The unique id of the multiplex. + Id *string `locationName:"id" type:"string"` + + // Configuration for a multiplex event. + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"` + + // The name of the multiplex. + Name *string `locationName:"name" type:"string"` + + // The number of currently healthy pipelines. + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + // The number of programs in the multiplex. + ProgramCount *int64 `locationName:"programCount" type:"integer"` + + // The current state of the multiplex. + State *string `locationName:"state" type:"string" enum:"MultiplexState"` + + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` } -// SetPatInterval sets the PatInterval field's value. -func (s *M2tsSettings) SetPatInterval(v int64) *M2tsSettings { - s.PatInterval = &v - return s +// String returns the string representation +func (s Multiplex) String() string { + return awsutil.Prettify(s) } -// SetPcrControl sets the PcrControl field's value. -func (s *M2tsSettings) SetPcrControl(v string) *M2tsSettings { - s.PcrControl = &v - return s +// GoString returns the string representation +func (s Multiplex) GoString() string { + return s.String() } -// SetPcrPeriod sets the PcrPeriod field's value. -func (s *M2tsSettings) SetPcrPeriod(v int64) *M2tsSettings { - s.PcrPeriod = &v +// SetArn sets the Arn field's value. +func (s *Multiplex) SetArn(v string) *Multiplex { + s.Arn = &v return s } -// SetPcrPid sets the PcrPid field's value. -func (s *M2tsSettings) SetPcrPid(v string) *M2tsSettings { - s.PcrPid = &v +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *Multiplex) SetAvailabilityZones(v []*string) *Multiplex { + s.AvailabilityZones = v return s } -// SetPmtInterval sets the PmtInterval field's value. -func (s *M2tsSettings) SetPmtInterval(v int64) *M2tsSettings { - s.PmtInterval = &v +// SetDestinations sets the Destinations field's value. +func (s *Multiplex) SetDestinations(v []*MultiplexOutputDestination) *Multiplex { + s.Destinations = v return s } -// SetPmtPid sets the PmtPid field's value. -func (s *M2tsSettings) SetPmtPid(v string) *M2tsSettings { - s.PmtPid = &v +// SetId sets the Id field's value. +func (s *Multiplex) SetId(v string) *Multiplex { + s.Id = &v return s } -// SetProgramNum sets the ProgramNum field's value. -func (s *M2tsSettings) SetProgramNum(v int64) *M2tsSettings { - s.ProgramNum = &v +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *Multiplex) SetMultiplexSettings(v *MultiplexSettings) *Multiplex { + s.MultiplexSettings = v return s } -// SetRateMode sets the RateMode field's value. -func (s *M2tsSettings) SetRateMode(v string) *M2tsSettings { - s.RateMode = &v +// SetName sets the Name field's value. +func (s *Multiplex) SetName(v string) *Multiplex { + s.Name = &v return s } -// SetScte27Pids sets the Scte27Pids field's value. -func (s *M2tsSettings) SetScte27Pids(v string) *M2tsSettings { - s.Scte27Pids = &v +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *Multiplex) SetPipelinesRunningCount(v int64) *Multiplex { + s.PipelinesRunningCount = &v return s } -// SetScte35Control sets the Scte35Control field's value. -func (s *M2tsSettings) SetScte35Control(v string) *M2tsSettings { - s.Scte35Control = &v +// SetProgramCount sets the ProgramCount field's value. +func (s *Multiplex) SetProgramCount(v int64) *Multiplex { + s.ProgramCount = &v return s } -// SetScte35Pid sets the Scte35Pid field's value. -func (s *M2tsSettings) SetScte35Pid(v string) *M2tsSettings { - s.Scte35Pid = &v +// SetState sets the State field's value. +func (s *Multiplex) SetState(v string) *Multiplex { + s.State = &v return s } -// SetSegmentationMarkers sets the SegmentationMarkers field's value. -func (s *M2tsSettings) SetSegmentationMarkers(v string) *M2tsSettings { - s.SegmentationMarkers = &v +// SetTags sets the Tags field's value. +func (s *Multiplex) SetTags(v map[string]*string) *Multiplex { + s.Tags = v return s } -// SetSegmentationStyle sets the SegmentationStyle field's value. -func (s *M2tsSettings) SetSegmentationStyle(v string) *M2tsSettings { - s.SegmentationStyle = &v - return s +// Multiplex Group Settings +type MultiplexGroupSettings struct { + _ struct{} `type:"structure"` } -// SetSegmentationTime sets the SegmentationTime field's value. -func (s *M2tsSettings) SetSegmentationTime(v float64) *M2tsSettings { - s.SegmentationTime = &v - return s +// String returns the string representation +func (s MultiplexGroupSettings) String() string { + return awsutil.Prettify(s) } -// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value. -func (s *M2tsSettings) SetTimedMetadataBehavior(v string) *M2tsSettings { - s.TimedMetadataBehavior = &v - return s +// GoString returns the string representation +func (s MultiplexGroupSettings) GoString() string { + return s.String() } -// SetTimedMetadataPid sets the TimedMetadataPid field's value. -func (s *M2tsSettings) SetTimedMetadataPid(v string) *M2tsSettings { - s.TimedMetadataPid = &v - return s +// Multiplex MediaConnect output destination settings. +type MultiplexMediaConnectOutputDestinationSettings struct { + _ struct{} `type:"structure"` + + // The MediaConnect entitlement ARN available as a Flow source. + EntitlementArn *string `locationName:"entitlementArn" min:"1" type:"string"` } -// SetTransportStreamId sets the TransportStreamId field's value. -func (s *M2tsSettings) SetTransportStreamId(v int64) *M2tsSettings { - s.TransportStreamId = &v - return s +// String returns the string representation +func (s MultiplexMediaConnectOutputDestinationSettings) String() string { + return awsutil.Prettify(s) } -// SetVideoPid sets the VideoPid field's value. -func (s *M2tsSettings) SetVideoPid(v string) *M2tsSettings { - s.VideoPid = &v +// GoString returns the string representation +func (s MultiplexMediaConnectOutputDestinationSettings) GoString() string { + return s.String() +} + +// SetEntitlementArn sets the EntitlementArn field's value. +func (s *MultiplexMediaConnectOutputDestinationSettings) SetEntitlementArn(v string) *MultiplexMediaConnectOutputDestinationSettings { + s.EntitlementArn = &v return s } -// Settings information for the .m3u8 container -type M3u8Settings struct { +// Multiplex output destination settings +type MultiplexOutputDestination struct { _ struct{} `type:"structure"` - // The number of audio frames to insert for each PES packet. - AudioFramesPerPes *int64 `locationName:"audioFramesPerPes" type:"integer"` + // Multiplex MediaConnect output destination settings. + MediaConnectSettings *MultiplexMediaConnectOutputDestinationSettings `locationName:"mediaConnectSettings" type:"structure"` +} - // Packet Identifier (PID) of the elementary audio stream(s) in the transport - // stream. Multiple values are accepted, and can be entered in ranges and/or - // by comma separation. Can be entered as decimal or hexadecimal values. - AudioPids *string `locationName:"audioPids" type:"string"` +// String returns the string representation +func (s MultiplexOutputDestination) String() string { + return awsutil.Prettify(s) +} - // This parameter is unused and deprecated. - EcmPid *string `locationName:"ecmPid" type:"string"` +// GoString returns the string representation +func (s MultiplexOutputDestination) GoString() string { + return s.String() +} - // The number of milliseconds between instances of this table in the output - // transport stream. A value of \"0\" writes out the PMT once per segment file. - PatInterval *int64 `locationName:"patInterval" type:"integer"` +// SetMediaConnectSettings sets the MediaConnectSettings field's value. +func (s *MultiplexOutputDestination) SetMediaConnectSettings(v *MultiplexMediaConnectOutputDestinationSettings) *MultiplexOutputDestination { + s.MediaConnectSettings = v + return s +} - // When set to pcrEveryPesPacket, a Program Clock Reference value is inserted - // for every Packetized Elementary Stream (PES) header. This parameter is effective - // only when the PCR PID is the same as the video or audio elementary stream. - PcrControl *string `locationName:"pcrControl" type:"string" enum:"M3u8PcrControl"` +// Multiplex Output Settings +type MultiplexOutputSettings struct { + _ struct{} `type:"structure"` - // Maximum time in milliseconds between Program Clock References (PCRs) inserted - // into the transport stream. - PcrPeriod *int64 `locationName:"pcrPeriod" type:"integer"` + // Destination is a Multiplex. + // + // Destination is a required field + Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` +} - // Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport - // stream. When no value is given, the encoder will assign the same value as - // the Video PID. Can be entered as a decimal or hexadecimal value. - PcrPid *string `locationName:"pcrPid" type:"string"` +// String returns the string representation +func (s MultiplexOutputSettings) String() string { + return awsutil.Prettify(s) +} - // The number of milliseconds between instances of this table in the output - // transport stream. A value of \"0\" writes out the PMT once per segment file. - PmtInterval *int64 `locationName:"pmtInterval" type:"integer"` +// GoString returns the string representation +func (s MultiplexOutputSettings) GoString() string { + return s.String() +} - // Packet Identifier (PID) for the Program Map Table (PMT) in the transport - // stream. Can be entered as a decimal or hexadecimal value. - PmtPid *string `locationName:"pmtPid" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *MultiplexOutputSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexOutputSettings"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } - // The value of the program number field in the Program Map Table. - ProgramNum *int64 `locationName:"programNum" type:"integer"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // If set to passthrough, passes any SCTE-35 signals from the input source to - // this output. - Scte35Behavior *string `locationName:"scte35Behavior" type:"string" enum:"M3u8Scte35Behavior"` +// SetDestination sets the Destination field's value. +func (s *MultiplexOutputSettings) SetDestination(v *OutputLocationRef) *MultiplexOutputSettings { + s.Destination = v + return s +} - // Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can - // be entered as a decimal or hexadecimal value. - Scte35Pid *string `locationName:"scte35Pid" type:"string"` +// The multiplex program object. +type MultiplexProgram struct { + _ struct{} `type:"structure"` - // When set to passthrough, timed metadata is passed through from input to output. - TimedMetadataBehavior *string `locationName:"timedMetadataBehavior" type:"string" enum:"M3u8TimedMetadataBehavior"` + // The MediaLive channel associated with the program. + ChannelId *string `locationName:"channelId" type:"string"` - // Packet Identifier (PID) of the timed metadata stream in the transport stream. - // Can be entered as a decimal or hexadecimal value. Valid values are 32 (or - // 0x20)..8182 (or 0x1ff6). - TimedMetadataPid *string `locationName:"timedMetadataPid" type:"string"` + // The settings for this multiplex program. + MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure"` - // The value of the transport stream ID field in the Program Map Table. - TransportStreamId *int64 `locationName:"transportStreamId" type:"integer"` + // The packet identifier map for this multiplex program. + PacketIdentifiersMap *MultiplexProgramPacketIdentifiersMap `locationName:"packetIdentifiersMap" type:"structure"` - // Packet Identifier (PID) of the elementary video stream in the transport stream. - // Can be entered as a decimal or hexadecimal value. - VideoPid *string `locationName:"videoPid" type:"string"` + // The name of the multiplex program. + ProgramName *string `locationName:"programName" type:"string"` } // String returns the string representation -func (s M3u8Settings) String() string { +func (s MultiplexProgram) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s M3u8Settings) GoString() string { +func (s MultiplexProgram) GoString() string { return s.String() } -// SetAudioFramesPerPes sets the AudioFramesPerPes field's value. -func (s *M3u8Settings) SetAudioFramesPerPes(v int64) *M3u8Settings { - s.AudioFramesPerPes = &v +// SetChannelId sets the ChannelId field's value. +func (s *MultiplexProgram) SetChannelId(v string) *MultiplexProgram { + s.ChannelId = &v return s } -// SetAudioPids sets the AudioPids field's value. -func (s *M3u8Settings) SetAudioPids(v string) *M3u8Settings { - s.AudioPids = &v +// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value. +func (s *MultiplexProgram) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *MultiplexProgram { + s.MultiplexProgramSettings = v return s } -// SetEcmPid sets the EcmPid field's value. -func (s *M3u8Settings) SetEcmPid(v string) *M3u8Settings { - s.EcmPid = &v +// SetPacketIdentifiersMap sets the PacketIdentifiersMap field's value. +func (s *MultiplexProgram) SetPacketIdentifiersMap(v *MultiplexProgramPacketIdentifiersMap) *MultiplexProgram { + s.PacketIdentifiersMap = v return s } -// SetPatInterval sets the PatInterval field's value. -func (s *M3u8Settings) SetPatInterval(v int64) *M3u8Settings { - s.PatInterval = &v +// SetProgramName sets the ProgramName field's value. +func (s *MultiplexProgram) SetProgramName(v string) *MultiplexProgram { + s.ProgramName = &v return s } -// SetPcrControl sets the PcrControl field's value. -func (s *M3u8Settings) SetPcrControl(v string) *M3u8Settings { - s.PcrControl = &v - return s +// Multiplex Program Input Destination Settings for outputting a Channel to +// a Multiplex +type MultiplexProgramChannelDestinationSettings struct { + _ struct{} `type:"structure"` + + // The ID of the Multiplex that the encoder is providing output to. You do not + // need to specify the individual inputs to the Multiplex; MediaLive will handle + // the connection of the two MediaLive pipelines to the two Multiplex instances.The + // Multiplex must be in the same region as the Channel. + MultiplexId *string `locationName:"multiplexId" min:"1" type:"string"` + + // The program name of the Multiplex program that the encoder is providing output + // to. + ProgramName *string `locationName:"programName" min:"1" type:"string"` } -// SetPcrPeriod sets the PcrPeriod field's value. -func (s *M3u8Settings) SetPcrPeriod(v int64) *M3u8Settings { - s.PcrPeriod = &v - return s +// String returns the string representation +func (s MultiplexProgramChannelDestinationSettings) String() string { + return awsutil.Prettify(s) } -// SetPcrPid sets the PcrPid field's value. -func (s *M3u8Settings) SetPcrPid(v string) *M3u8Settings { - s.PcrPid = &v - return s +// GoString returns the string representation +func (s MultiplexProgramChannelDestinationSettings) GoString() string { + return s.String() } -// SetPmtInterval sets the PmtInterval field's value. -func (s *M3u8Settings) SetPmtInterval(v int64) *M3u8Settings { - s.PmtInterval = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *MultiplexProgramChannelDestinationSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexProgramChannelDestinationSettings"} + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + if s.ProgramName != nil && len(*s.ProgramName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgramName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPmtPid sets the PmtPid field's value. -func (s *M3u8Settings) SetPmtPid(v string) *M3u8Settings { - s.PmtPid = &v +// SetMultiplexId sets the MultiplexId field's value. +func (s *MultiplexProgramChannelDestinationSettings) SetMultiplexId(v string) *MultiplexProgramChannelDestinationSettings { + s.MultiplexId = &v return s } -// SetProgramNum sets the ProgramNum field's value. -func (s *M3u8Settings) SetProgramNum(v int64) *M3u8Settings { - s.ProgramNum = &v +// SetProgramName sets the ProgramName field's value. +func (s *MultiplexProgramChannelDestinationSettings) SetProgramName(v string) *MultiplexProgramChannelDestinationSettings { + s.ProgramName = &v return s } -// SetScte35Behavior sets the Scte35Behavior field's value. -func (s *M3u8Settings) SetScte35Behavior(v string) *M3u8Settings { - s.Scte35Behavior = &v - return s +// Packet identifiers map for a given Multiplex program. +type MultiplexProgramPacketIdentifiersMap struct { + _ struct{} `type:"structure"` + + AudioPids []*int64 `locationName:"audioPids" type:"list"` + + DvbSubPids []*int64 `locationName:"dvbSubPids" type:"list"` + + DvbTeletextPid *int64 `locationName:"dvbTeletextPid" type:"integer"` + + EtvPlatformPid *int64 `locationName:"etvPlatformPid" type:"integer"` + + EtvSignalPid *int64 `locationName:"etvSignalPid" type:"integer"` + + KlvDataPids []*int64 `locationName:"klvDataPids" type:"list"` + + PcrPid *int64 `locationName:"pcrPid" type:"integer"` + + PmtPid *int64 `locationName:"pmtPid" type:"integer"` + + PrivateMetadataPid *int64 `locationName:"privateMetadataPid" type:"integer"` + + Scte27Pids []*int64 `locationName:"scte27Pids" type:"list"` + + Scte35Pid *int64 `locationName:"scte35Pid" type:"integer"` + + TimedMetadataPid *int64 `locationName:"timedMetadataPid" type:"integer"` + + VideoPid *int64 `locationName:"videoPid" type:"integer"` } -// SetScte35Pid sets the Scte35Pid field's value. -func (s *M3u8Settings) SetScte35Pid(v string) *M3u8Settings { - s.Scte35Pid = &v - return s +// String returns the string representation +func (s MultiplexProgramPacketIdentifiersMap) String() string { + return awsutil.Prettify(s) } -// SetTimedMetadataBehavior sets the TimedMetadataBehavior field's value. -func (s *M3u8Settings) SetTimedMetadataBehavior(v string) *M3u8Settings { - s.TimedMetadataBehavior = &v - return s +// GoString returns the string representation +func (s MultiplexProgramPacketIdentifiersMap) GoString() string { + return s.String() } -// SetTimedMetadataPid sets the TimedMetadataPid field's value. -func (s *M3u8Settings) SetTimedMetadataPid(v string) *M3u8Settings { - s.TimedMetadataPid = &v +// SetAudioPids sets the AudioPids field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetAudioPids(v []*int64) *MultiplexProgramPacketIdentifiersMap { + s.AudioPids = v return s } -// SetTransportStreamId sets the TransportStreamId field's value. -func (s *M3u8Settings) SetTransportStreamId(v int64) *M3u8Settings { - s.TransportStreamId = &v +// SetDvbSubPids sets the DvbSubPids field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetDvbSubPids(v []*int64) *MultiplexProgramPacketIdentifiersMap { + s.DvbSubPids = v return s } -// SetVideoPid sets the VideoPid field's value. -func (s *M3u8Settings) SetVideoPid(v string) *M3u8Settings { - s.VideoPid = &v +// SetDvbTeletextPid sets the DvbTeletextPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetDvbTeletextPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.DvbTeletextPid = &v return s } -// The settings for a MediaConnect Flow. -type MediaConnectFlow struct { - _ struct{} `type:"structure"` +// SetEtvPlatformPid sets the EtvPlatformPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetEtvPlatformPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.EtvPlatformPid = &v + return s +} - // The unique ARN of the MediaConnect Flow being used as a source. - FlowArn *string `locationName:"flowArn" type:"string"` +// SetEtvSignalPid sets the EtvSignalPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetEtvSignalPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.EtvSignalPid = &v + return s } -// String returns the string representation -func (s MediaConnectFlow) String() string { - return awsutil.Prettify(s) +// SetKlvDataPids sets the KlvDataPids field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetKlvDataPids(v []*int64) *MultiplexProgramPacketIdentifiersMap { + s.KlvDataPids = v + return s } -// GoString returns the string representation -func (s MediaConnectFlow) GoString() string { - return s.String() +// SetPcrPid sets the PcrPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetPcrPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.PcrPid = &v + return s } -// SetFlowArn sets the FlowArn field's value. -func (s *MediaConnectFlow) SetFlowArn(v string) *MediaConnectFlow { - s.FlowArn = &v +// SetPmtPid sets the PmtPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetPmtPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.PmtPid = &v return s } -// The settings for a MediaConnect Flow. -type MediaConnectFlowRequest struct { - _ struct{} `type:"structure"` +// SetPrivateMetadataPid sets the PrivateMetadataPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetPrivateMetadataPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.PrivateMetadataPid = &v + return s +} - // The ARN of the MediaConnect Flow that you want to use as a source. - FlowArn *string `locationName:"flowArn" type:"string"` +// SetScte27Pids sets the Scte27Pids field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetScte27Pids(v []*int64) *MultiplexProgramPacketIdentifiersMap { + s.Scte27Pids = v + return s } -// String returns the string representation -func (s MediaConnectFlowRequest) String() string { - return awsutil.Prettify(s) +// SetScte35Pid sets the Scte35Pid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetScte35Pid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.Scte35Pid = &v + return s } -// GoString returns the string representation -func (s MediaConnectFlowRequest) GoString() string { - return s.String() +// SetTimedMetadataPid sets the TimedMetadataPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetTimedMetadataPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.TimedMetadataPid = &v + return s } -// SetFlowArn sets the FlowArn field's value. -func (s *MediaConnectFlowRequest) SetFlowArn(v string) *MediaConnectFlowRequest { - s.FlowArn = &v +// SetVideoPid sets the VideoPid field's value. +func (s *MultiplexProgramPacketIdentifiersMap) SetVideoPid(v int64) *MultiplexProgramPacketIdentifiersMap { + s.VideoPid = &v return s } -// Media Package Group Settings -type MediaPackageGroupSettings struct { +// Transport stream service descriptor configuration for the Multiplex program. +type MultiplexProgramServiceDescriptor struct { _ struct{} `type:"structure"` - // MediaPackage channel destination. + // Name of the provider. // - // Destination is a required field - Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` + // ProviderName is a required field + ProviderName *string `locationName:"providerName" type:"string" required:"true"` + + // Name of the service. + // + // ServiceName is a required field + ServiceName *string `locationName:"serviceName" type:"string" required:"true"` } // String returns the string representation -func (s MediaPackageGroupSettings) String() string { +func (s MultiplexProgramServiceDescriptor) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MediaPackageGroupSettings) GoString() string { +func (s MultiplexProgramServiceDescriptor) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MediaPackageGroupSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MediaPackageGroupSettings"} - if s.Destination == nil { - invalidParams.Add(request.NewErrParamRequired("Destination")) +func (s *MultiplexProgramServiceDescriptor) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexProgramServiceDescriptor"} + if s.ProviderName == nil { + invalidParams.Add(request.NewErrParamRequired("ProviderName")) + } + if s.ServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceName")) } if invalidParams.Len() > 0 { @@ -13296,39 +16230,59 @@ func (s *MediaPackageGroupSettings) Validate() error { return nil } -// SetDestination sets the Destination field's value. -func (s *MediaPackageGroupSettings) SetDestination(v *OutputLocationRef) *MediaPackageGroupSettings { - s.Destination = v +// SetProviderName sets the ProviderName field's value. +func (s *MultiplexProgramServiceDescriptor) SetProviderName(v string) *MultiplexProgramServiceDescriptor { + s.ProviderName = &v return s } -// MediaPackage Output Destination Settings -type MediaPackageOutputDestinationSettings struct { +// SetServiceName sets the ServiceName field's value. +func (s *MultiplexProgramServiceDescriptor) SetServiceName(v string) *MultiplexProgramServiceDescriptor { + s.ServiceName = &v + return s +} + +// Multiplex Program settings configuration. +type MultiplexProgramSettings struct { _ struct{} `type:"structure"` - // ID of the channel in MediaPackage that is the destination for this output - // group. You do not need to specify the individual inputs in MediaPackage; - // MediaLive will handle the connection of the two MediaLive pipelines to the - // two MediaPackage inputs. The MediaPackage channel and MediaLive channel must - // be in the same region. - ChannelId *string `locationName:"channelId" min:"1" type:"string"` + // Unique program number. + // + // ProgramNumber is a required field + ProgramNumber *int64 `locationName:"programNumber" type:"integer" required:"true"` + + // Transport stream service descriptor configuration for the Multiplex program. + ServiceDescriptor *MultiplexProgramServiceDescriptor `locationName:"serviceDescriptor" type:"structure"` + + // Program video settings configuration. + VideoSettings *MultiplexVideoSettings `locationName:"videoSettings" type:"structure"` } // String returns the string representation -func (s MediaPackageOutputDestinationSettings) String() string { +func (s MultiplexProgramSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MediaPackageOutputDestinationSettings) GoString() string { +func (s MultiplexProgramSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MediaPackageOutputDestinationSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MediaPackageOutputDestinationSettings"} - if s.ChannelId != nil && len(*s.ChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) +func (s *MultiplexProgramSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexProgramSettings"} + if s.ProgramNumber == nil { + invalidParams.Add(request.NewErrParamRequired("ProgramNumber")) + } + if s.ServiceDescriptor != nil { + if err := s.ServiceDescriptor.Validate(); err != nil { + invalidParams.AddNested("ServiceDescriptor", err.(request.ErrInvalidParams)) + } + } + if s.VideoSettings != nil { + if err := s.VideoSettings.Validate(); err != nil { + invalidParams.AddNested("VideoSettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -13337,174 +16291,186 @@ func (s *MediaPackageOutputDestinationSettings) Validate() error { return nil } -// SetChannelId sets the ChannelId field's value. -func (s *MediaPackageOutputDestinationSettings) SetChannelId(v string) *MediaPackageOutputDestinationSettings { - s.ChannelId = &v +// SetProgramNumber sets the ProgramNumber field's value. +func (s *MultiplexProgramSettings) SetProgramNumber(v int64) *MultiplexProgramSettings { + s.ProgramNumber = &v return s } -// Media Package Output Settings -type MediaPackageOutputSettings struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s MediaPackageOutputSettings) String() string { - return awsutil.Prettify(s) +// SetServiceDescriptor sets the ServiceDescriptor field's value. +func (s *MultiplexProgramSettings) SetServiceDescriptor(v *MultiplexProgramServiceDescriptor) *MultiplexProgramSettings { + s.ServiceDescriptor = v + return s } -// GoString returns the string representation -func (s MediaPackageOutputSettings) GoString() string { - return s.String() +// SetVideoSettings sets the VideoSettings field's value. +func (s *MultiplexProgramSettings) SetVideoSettings(v *MultiplexVideoSettings) *MultiplexProgramSettings { + s.VideoSettings = v + return s } -// Mp2 Settings -type Mp2Settings struct { +type MultiplexProgramSummary struct { _ struct{} `type:"structure"` - // Average bitrate in bits/second. - Bitrate *float64 `locationName:"bitrate" type:"double"` - - // The MPEG2 Audio coding mode. Valid values are codingMode10 (for mono) or - // codingMode20 (for stereo). - CodingMode *string `locationName:"codingMode" type:"string" enum:"Mp2CodingMode"` + // The MediaLive Channel associated with the program. + ChannelId *string `locationName:"channelId" type:"string"` - // Sample rate in Hz. - SampleRate *float64 `locationName:"sampleRate" type:"double"` + // The name of the multiplex program. + ProgramName *string `locationName:"programName" type:"string"` } // String returns the string representation -func (s Mp2Settings) String() string { +func (s MultiplexProgramSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Mp2Settings) GoString() string { +func (s MultiplexProgramSummary) GoString() string { return s.String() } -// SetBitrate sets the Bitrate field's value. -func (s *Mp2Settings) SetBitrate(v float64) *Mp2Settings { - s.Bitrate = &v - return s -} - -// SetCodingMode sets the CodingMode field's value. -func (s *Mp2Settings) SetCodingMode(v string) *Mp2Settings { - s.CodingMode = &v +// SetChannelId sets the ChannelId field's value. +func (s *MultiplexProgramSummary) SetChannelId(v string) *MultiplexProgramSummary { + s.ChannelId = &v return s } -// SetSampleRate sets the SampleRate field's value. -func (s *Mp2Settings) SetSampleRate(v float64) *Mp2Settings { - s.SampleRate = &v +// SetProgramName sets the ProgramName field's value. +func (s *MultiplexProgramSummary) SetProgramName(v string) *MultiplexProgramSummary { + s.ProgramName = &v return s } -// Ms Smooth Group Settings -type MsSmoothGroupSettings struct { +// Contains configuration for a Multiplex event +type MultiplexSettings struct { _ struct{} `type:"structure"` - // The value of the "Acquisition Point Identity" element used in each message - // placed in the sparse track. Only enabled if sparseTrackType is not "none". - AcquisitionPointId *string `locationName:"acquisitionPointId" type:"string"` + // Maximum video buffer delay in milliseconds. + MaximumVideoBufferDelayMilliseconds *int64 `locationName:"maximumVideoBufferDelayMilliseconds" min:"1000" type:"integer"` - // If set to passthrough for an audio-only MS Smooth output, the fragment absolute - // time will be set to the current timecode. This option does not write timecodes - // to the audio elementary stream. - AudioOnlyTimecodeControl *string `locationName:"audioOnlyTimecodeControl" type:"string" enum:"SmoothGroupAudioOnlyTimecodeControl"` + // Transport stream bit rate. + // + // TransportStreamBitrate is a required field + TransportStreamBitrate *int64 `locationName:"transportStreamBitrate" min:"1e+06" type:"integer" required:"true"` - // If set to verifyAuthenticity, verify the https certificate chain to a trusted - // Certificate Authority (CA). This will cause https outputs to self-signed - // certificates to fail. - CertificateMode *string `locationName:"certificateMode" type:"string" enum:"SmoothGroupCertificateMode"` + // Transport stream ID. + // + // TransportStreamId is a required field + TransportStreamId *int64 `locationName:"transportStreamId" type:"integer" required:"true"` - // Number of seconds to wait before retrying connection to the IIS server if - // the connection is lost. Content will be cached during this time and the cache - // will be be delivered to the IIS server once the connection is re-established. - ConnectionRetryInterval *int64 `locationName:"connectionRetryInterval" type:"integer"` + // Transport stream reserved bit rate. + TransportStreamReservedBitrate *int64 `locationName:"transportStreamReservedBitrate" type:"integer"` +} - // Smooth Streaming publish point on an IIS server. Elemental Live acts as a - // "Push" encoder to IIS. - // - // Destination is a required field - Destination *OutputLocationRef `locationName:"destination" type:"structure" required:"true"` +// String returns the string representation +func (s MultiplexSettings) String() string { + return awsutil.Prettify(s) +} - // MS Smooth event ID to be sent to the IIS server.Should only be specified - // if eventIdMode is set to useConfigured. - EventId *string `locationName:"eventId" type:"string"` +// GoString returns the string representation +func (s MultiplexSettings) GoString() string { + return s.String() +} - // Specifies whether or not to send an event ID to the IIS server. If no event - // ID is sent and the same Live Event is used without changing the publishing - // point, clients might see cached video from the previous run.Options:- "useConfigured" - // - use the value provided in eventId- "useTimestamp" - generate and send an - // event ID based on the current timestamp- "noEventId" - do not send an event - // ID to the IIS server. - EventIdMode *string `locationName:"eventIdMode" type:"string" enum:"SmoothGroupEventIdMode"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *MultiplexSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexSettings"} + if s.MaximumVideoBufferDelayMilliseconds != nil && *s.MaximumVideoBufferDelayMilliseconds < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaximumVideoBufferDelayMilliseconds", 1000)) + } + if s.TransportStreamBitrate == nil { + invalidParams.Add(request.NewErrParamRequired("TransportStreamBitrate")) + } + if s.TransportStreamBitrate != nil && *s.TransportStreamBitrate < 1e+06 { + invalidParams.Add(request.NewErrParamMinValue("TransportStreamBitrate", 1e+06)) + } + if s.TransportStreamId == nil { + invalidParams.Add(request.NewErrParamRequired("TransportStreamId")) + } - // When set to sendEos, send EOS signal to IIS server when stopping the event - EventStopBehavior *string `locationName:"eventStopBehavior" type:"string" enum:"SmoothGroupEventStopBehavior"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Size in seconds of file cache for streaming outputs. - FilecacheDuration *int64 `locationName:"filecacheDuration" type:"integer"` +// SetMaximumVideoBufferDelayMilliseconds sets the MaximumVideoBufferDelayMilliseconds field's value. +func (s *MultiplexSettings) SetMaximumVideoBufferDelayMilliseconds(v int64) *MultiplexSettings { + s.MaximumVideoBufferDelayMilliseconds = &v + return s +} - // Length of mp4 fragments to generate (in seconds). Fragment length must be - // compatible with GOP size and framerate. - FragmentLength *int64 `locationName:"fragmentLength" min:"1" type:"integer"` +// SetTransportStreamBitrate sets the TransportStreamBitrate field's value. +func (s *MultiplexSettings) SetTransportStreamBitrate(v int64) *MultiplexSettings { + s.TransportStreamBitrate = &v + return s +} - // Parameter that control output group behavior on input loss. - InputLossAction *string `locationName:"inputLossAction" type:"string" enum:"InputLossActionForMsSmoothOut"` +// SetTransportStreamId sets the TransportStreamId field's value. +func (s *MultiplexSettings) SetTransportStreamId(v int64) *MultiplexSettings { + s.TransportStreamId = &v + return s +} - // Number of retry attempts. - NumRetries *int64 `locationName:"numRetries" type:"integer"` +// SetTransportStreamReservedBitrate sets the TransportStreamReservedBitrate field's value. +func (s *MultiplexSettings) SetTransportStreamReservedBitrate(v int64) *MultiplexSettings { + s.TransportStreamReservedBitrate = &v + return s +} - // Number of seconds before initiating a restart due to output failure, due - // to exhausting the numRetries on one segment, or exceeding filecacheDuration. - RestartDelay *int64 `locationName:"restartDelay" type:"integer"` +// Contains summary configuration for a Multiplex event. +type MultiplexSettingsSummary struct { + _ struct{} `type:"structure"` - // useInputSegmentation has been deprecated. The configured segment size is - // always used. - SegmentationMode *string `locationName:"segmentationMode" type:"string" enum:"SmoothGroupSegmentationMode"` + // Transport stream bit rate. + TransportStreamBitrate *int64 `locationName:"transportStreamBitrate" min:"1e+06" type:"integer"` +} - // Number of milliseconds to delay the output from the second pipeline. - SendDelayMs *int64 `locationName:"sendDelayMs" type:"integer"` +// String returns the string representation +func (s MultiplexSettingsSummary) String() string { + return awsutil.Prettify(s) +} - // If set to scte35, use incoming SCTE-35 messages to generate a sparse track - // in this group of MS-Smooth outputs. - SparseTrackType *string `locationName:"sparseTrackType" type:"string" enum:"SmoothGroupSparseTrackType"` +// GoString returns the string representation +func (s MultiplexSettingsSummary) GoString() string { + return s.String() +} - // When set to send, send stream manifest so publishing point doesn't start - // until all streams start. - StreamManifestBehavior *string `locationName:"streamManifestBehavior" type:"string" enum:"SmoothGroupStreamManifestBehavior"` +// SetTransportStreamBitrate sets the TransportStreamBitrate field's value. +func (s *MultiplexSettingsSummary) SetTransportStreamBitrate(v int64) *MultiplexSettingsSummary { + s.TransportStreamBitrate = &v + return s +} - // Timestamp offset for the event. Only used if timestampOffsetMode is set to - // useConfiguredOffset. - TimestampOffset *string `locationName:"timestampOffset" type:"string"` +// Statmux rate control settings +type MultiplexStatmuxVideoSettings struct { + _ struct{} `type:"structure"` - // Type of timestamp date offset to use.- useEventStartDate: Use the date the - // event was started as the offset- useConfiguredOffset: Use an explicitly configured - // date as the offset - TimestampOffsetMode *string `locationName:"timestampOffsetMode" type:"string" enum:"SmoothGroupTimestampOffsetMode"` + // Maximum statmux bitrate. + MaximumBitrate *int64 `locationName:"maximumBitrate" min:"100000" type:"integer"` + + // Minimum statmux bitrate. + MinimumBitrate *int64 `locationName:"minimumBitrate" min:"100000" type:"integer"` } // String returns the string representation -func (s MsSmoothGroupSettings) String() string { +func (s MultiplexStatmuxVideoSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MsSmoothGroupSettings) GoString() string { +func (s MultiplexStatmuxVideoSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MsSmoothGroupSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MsSmoothGroupSettings"} - if s.Destination == nil { - invalidParams.Add(request.NewErrParamRequired("Destination")) +func (s *MultiplexStatmuxVideoSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexStatmuxVideoSettings"} + if s.MaximumBitrate != nil && *s.MaximumBitrate < 100000 { + invalidParams.Add(request.NewErrParamMinValue("MaximumBitrate", 100000)) } - if s.FragmentLength != nil && *s.FragmentLength < 1 { - invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1)) + if s.MinimumBitrate != nil && *s.MinimumBitrate < 100000 { + invalidParams.Add(request.NewErrParamMinValue("MinimumBitrate", 100000)) } if invalidParams.Len() > 0 { @@ -13513,152 +16479,195 @@ func (s *MsSmoothGroupSettings) Validate() error { return nil } -// SetAcquisitionPointId sets the AcquisitionPointId field's value. -func (s *MsSmoothGroupSettings) SetAcquisitionPointId(v string) *MsSmoothGroupSettings { - s.AcquisitionPointId = &v +// SetMaximumBitrate sets the MaximumBitrate field's value. +func (s *MultiplexStatmuxVideoSettings) SetMaximumBitrate(v int64) *MultiplexStatmuxVideoSettings { + s.MaximumBitrate = &v + return s +} + +// SetMinimumBitrate sets the MinimumBitrate field's value. +func (s *MultiplexStatmuxVideoSettings) SetMinimumBitrate(v int64) *MultiplexStatmuxVideoSettings { + s.MinimumBitrate = &v return s } -// SetAudioOnlyTimecodeControl sets the AudioOnlyTimecodeControl field's value. -func (s *MsSmoothGroupSettings) SetAudioOnlyTimecodeControl(v string) *MsSmoothGroupSettings { - s.AudioOnlyTimecodeControl = &v - return s -} +type MultiplexSummary struct { + _ struct{} `type:"structure"` + + // The unique arn of the multiplex. + Arn *string `locationName:"arn" type:"string"` + + // A list of availability zones for the multiplex. + AvailabilityZones []*string `locationName:"availabilityZones" type:"list"` + + // The unique id of the multiplex. + Id *string `locationName:"id" type:"string"` + + // Configuration for a multiplex event. + MultiplexSettings *MultiplexSettingsSummary `locationName:"multiplexSettings" type:"structure"` + + // The name of the multiplex. + Name *string `locationName:"name" type:"string"` + + // The number of currently healthy pipelines. + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + // The number of programs in the multiplex. + ProgramCount *int64 `locationName:"programCount" type:"integer"` -// SetCertificateMode sets the CertificateMode field's value. -func (s *MsSmoothGroupSettings) SetCertificateMode(v string) *MsSmoothGroupSettings { - s.CertificateMode = &v - return s + // The current state of the multiplex. + State *string `locationName:"state" type:"string" enum:"MultiplexState"` + + // A collection of key-value pairs. + Tags map[string]*string `locationName:"tags" type:"map"` } -// SetConnectionRetryInterval sets the ConnectionRetryInterval field's value. -func (s *MsSmoothGroupSettings) SetConnectionRetryInterval(v int64) *MsSmoothGroupSettings { - s.ConnectionRetryInterval = &v - return s +// String returns the string representation +func (s MultiplexSummary) String() string { + return awsutil.Prettify(s) } -// SetDestination sets the Destination field's value. -func (s *MsSmoothGroupSettings) SetDestination(v *OutputLocationRef) *MsSmoothGroupSettings { - s.Destination = v - return s +// GoString returns the string representation +func (s MultiplexSummary) GoString() string { + return s.String() } -// SetEventId sets the EventId field's value. -func (s *MsSmoothGroupSettings) SetEventId(v string) *MsSmoothGroupSettings { - s.EventId = &v +// SetArn sets the Arn field's value. +func (s *MultiplexSummary) SetArn(v string) *MultiplexSummary { + s.Arn = &v return s } -// SetEventIdMode sets the EventIdMode field's value. -func (s *MsSmoothGroupSettings) SetEventIdMode(v string) *MsSmoothGroupSettings { - s.EventIdMode = &v +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *MultiplexSummary) SetAvailabilityZones(v []*string) *MultiplexSummary { + s.AvailabilityZones = v return s } -// SetEventStopBehavior sets the EventStopBehavior field's value. -func (s *MsSmoothGroupSettings) SetEventStopBehavior(v string) *MsSmoothGroupSettings { - s.EventStopBehavior = &v +// SetId sets the Id field's value. +func (s *MultiplexSummary) SetId(v string) *MultiplexSummary { + s.Id = &v return s } -// SetFilecacheDuration sets the FilecacheDuration field's value. -func (s *MsSmoothGroupSettings) SetFilecacheDuration(v int64) *MsSmoothGroupSettings { - s.FilecacheDuration = &v +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *MultiplexSummary) SetMultiplexSettings(v *MultiplexSettingsSummary) *MultiplexSummary { + s.MultiplexSettings = v return s } -// SetFragmentLength sets the FragmentLength field's value. -func (s *MsSmoothGroupSettings) SetFragmentLength(v int64) *MsSmoothGroupSettings { - s.FragmentLength = &v +// SetName sets the Name field's value. +func (s *MultiplexSummary) SetName(v string) *MultiplexSummary { + s.Name = &v return s } -// SetInputLossAction sets the InputLossAction field's value. -func (s *MsSmoothGroupSettings) SetInputLossAction(v string) *MsSmoothGroupSettings { - s.InputLossAction = &v +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *MultiplexSummary) SetPipelinesRunningCount(v int64) *MultiplexSummary { + s.PipelinesRunningCount = &v return s } -// SetNumRetries sets the NumRetries field's value. -func (s *MsSmoothGroupSettings) SetNumRetries(v int64) *MsSmoothGroupSettings { - s.NumRetries = &v +// SetProgramCount sets the ProgramCount field's value. +func (s *MultiplexSummary) SetProgramCount(v int64) *MultiplexSummary { + s.ProgramCount = &v return s } -// SetRestartDelay sets the RestartDelay field's value. -func (s *MsSmoothGroupSettings) SetRestartDelay(v int64) *MsSmoothGroupSettings { - s.RestartDelay = &v +// SetState sets the State field's value. +func (s *MultiplexSummary) SetState(v string) *MultiplexSummary { + s.State = &v return s } -// SetSegmentationMode sets the SegmentationMode field's value. -func (s *MsSmoothGroupSettings) SetSegmentationMode(v string) *MsSmoothGroupSettings { - s.SegmentationMode = &v +// SetTags sets the Tags field's value. +func (s *MultiplexSummary) SetTags(v map[string]*string) *MultiplexSummary { + s.Tags = v return s } -// SetSendDelayMs sets the SendDelayMs field's value. -func (s *MsSmoothGroupSettings) SetSendDelayMs(v int64) *MsSmoothGroupSettings { - s.SendDelayMs = &v - return s +type MultiplexValidationError struct { + _ struct{} `type:"structure"` + + // Path to the source of the error. + ElementPath *string `locationName:"elementPath" type:"string"` + + // The error message. + ErrorMessage *string `locationName:"errorMessage" type:"string"` } -// SetSparseTrackType sets the SparseTrackType field's value. -func (s *MsSmoothGroupSettings) SetSparseTrackType(v string) *MsSmoothGroupSettings { - s.SparseTrackType = &v - return s +// String returns the string representation +func (s MultiplexValidationError) String() string { + return awsutil.Prettify(s) } -// SetStreamManifestBehavior sets the StreamManifestBehavior field's value. -func (s *MsSmoothGroupSettings) SetStreamManifestBehavior(v string) *MsSmoothGroupSettings { - s.StreamManifestBehavior = &v - return s +// GoString returns the string representation +func (s MultiplexValidationError) GoString() string { + return s.String() } -// SetTimestampOffset sets the TimestampOffset field's value. -func (s *MsSmoothGroupSettings) SetTimestampOffset(v string) *MsSmoothGroupSettings { - s.TimestampOffset = &v +// SetElementPath sets the ElementPath field's value. +func (s *MultiplexValidationError) SetElementPath(v string) *MultiplexValidationError { + s.ElementPath = &v return s } -// SetTimestampOffsetMode sets the TimestampOffsetMode field's value. -func (s *MsSmoothGroupSettings) SetTimestampOffsetMode(v string) *MsSmoothGroupSettings { - s.TimestampOffsetMode = &v +// SetErrorMessage sets the ErrorMessage field's value. +func (s *MultiplexValidationError) SetErrorMessage(v string) *MultiplexValidationError { + s.ErrorMessage = &v return s } -// Ms Smooth Output Settings -type MsSmoothOutputSettings struct { +// The video configuration for each program in a multiplex. +type MultiplexVideoSettings struct { _ struct{} `type:"structure"` - // Only applicable when this output is referencing an H.265 video description.Specifies - // whether MP4 segments should be packaged as HEV1 or HVC1. - H265PackagingType *string `locationName:"h265PackagingType" type:"string" enum:"MsSmoothH265PackagingType"` + // The constant bitrate configuration for the video encode.When this field is + // defined, StatmuxSettings must be undefined. + ConstantBitrate *int64 `locationName:"constantBitrate" min:"100000" type:"integer"` - // String concatenated to the end of the destination filename. Required for - // multiple outputs of the same type. - NameModifier *string `locationName:"nameModifier" type:"string"` + // Statmux rate control settings.When this field is defined, ConstantBitrate + // must be undefined. + StatmuxSettings *MultiplexStatmuxVideoSettings `locationName:"statmuxSettings" type:"structure"` } // String returns the string representation -func (s MsSmoothOutputSettings) String() string { +func (s MultiplexVideoSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MsSmoothOutputSettings) GoString() string { +func (s MultiplexVideoSettings) GoString() string { return s.String() } -// SetH265PackagingType sets the H265PackagingType field's value. -func (s *MsSmoothOutputSettings) SetH265PackagingType(v string) *MsSmoothOutputSettings { - s.H265PackagingType = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *MultiplexVideoSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiplexVideoSettings"} + if s.ConstantBitrate != nil && *s.ConstantBitrate < 100000 { + invalidParams.Add(request.NewErrParamMinValue("ConstantBitrate", 100000)) + } + if s.StatmuxSettings != nil { + if err := s.StatmuxSettings.Validate(); err != nil { + invalidParams.AddNested("StatmuxSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConstantBitrate sets the ConstantBitrate field's value. +func (s *MultiplexVideoSettings) SetConstantBitrate(v int64) *MultiplexVideoSettings { + s.ConstantBitrate = &v return s } -// SetNameModifier sets the NameModifier field's value. -func (s *MsSmoothOutputSettings) SetNameModifier(v string) *MsSmoothOutputSettings { - s.NameModifier = &v +// SetStatmuxSettings sets the StatmuxSettings field's value. +func (s *MultiplexVideoSettings) SetStatmuxSettings(v *MultiplexStatmuxVideoSettings) *MultiplexVideoSettings { + s.StatmuxSettings = v return s } @@ -13701,6 +16710,39 @@ func (s *NetworkInputSettings) SetServerValidation(v string) *NetworkInputSettin return s } +// Nielsen Configuration +type NielsenConfiguration struct { + _ struct{} `type:"structure"` + + // Enter the Distributor ID assigned to your organization by Nielsen. + DistributorId *string `locationName:"distributorId" type:"string"` + + // Enables Nielsen PCM to ID3 tagging + NielsenPcmToId3Tagging *string `locationName:"nielsenPcmToId3Tagging" type:"string" enum:"NielsenPcmToId3TaggingState"` +} + +// String returns the string representation +func (s NielsenConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NielsenConfiguration) GoString() string { + return s.String() +} + +// SetDistributorId sets the DistributorId field's value. +func (s *NielsenConfiguration) SetDistributorId(v string) *NielsenConfiguration { + s.DistributorId = &v + return s +} + +// SetNielsenPcmToId3Tagging sets the NielsenPcmToId3Tagging field's value. +func (s *NielsenConfiguration) SetNielsenPcmToId3Tagging(v string) *NielsenConfiguration { + s.NielsenPcmToId3Tagging = &v + return s +} + // Reserved resources available for purchase type Offering struct { _ struct{} `type:"structure"` @@ -13909,6 +16951,9 @@ type OutputDestination struct { // encoders. MediaPackageSettings []*MediaPackageOutputDestinationSettings `locationName:"mediaPackageSettings" type:"list"` + // Destination settings for a Multiplex output; one destination for both encoders. + MultiplexSettings *MultiplexProgramChannelDestinationSettings `locationName:"multiplexSettings" type:"structure"` + // Destination settings for a standard output; one destination for each redundant // encoder. Settings []*OutputDestinationSettings `locationName:"settings" type:"list"` @@ -13937,6 +16982,11 @@ func (s *OutputDestination) Validate() error { } } } + if s.MultiplexSettings != nil { + if err := s.MultiplexSettings.Validate(); err != nil { + invalidParams.AddNested("MultiplexSettings", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -13956,6 +17006,12 @@ func (s *OutputDestination) SetMediaPackageSettings(v []*MediaPackageOutputDesti return s } +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *OutputDestination) SetMultiplexSettings(v *MultiplexProgramChannelDestinationSettings) *OutputDestination { + s.MultiplexSettings = v + return s +} + // SetSettings sets the Settings field's value. func (s *OutputDestination) SetSettings(v []*OutputDestinationSettings) *OutputDestination { s.Settings = v @@ -14108,6 +17164,9 @@ type OutputGroupSettings struct { // Ms Smooth Group Settings MsSmoothGroupSettings *MsSmoothGroupSettings `locationName:"msSmoothGroupSettings" type:"structure"` + // Multiplex Group Settings + MultiplexGroupSettings *MultiplexGroupSettings `locationName:"multiplexGroupSettings" type:"structure"` + // Rtmp Group Settings RtmpGroupSettings *RtmpGroupSettings `locationName:"rtmpGroupSettings" type:"structure"` @@ -14195,6 +17254,12 @@ func (s *OutputGroupSettings) SetMsSmoothGroupSettings(v *MsSmoothGroupSettings) return s } +// SetMultiplexGroupSettings sets the MultiplexGroupSettings field's value. +func (s *OutputGroupSettings) SetMultiplexGroupSettings(v *MultiplexGroupSettings) *OutputGroupSettings { + s.MultiplexGroupSettings = v + return s +} + // SetRtmpGroupSettings sets the RtmpGroupSettings field's value. func (s *OutputGroupSettings) SetRtmpGroupSettings(v *RtmpGroupSettings) *OutputGroupSettings { s.RtmpGroupSettings = v @@ -14249,6 +17314,9 @@ type OutputSettings struct { // Ms Smooth Output Settings MsSmoothOutputSettings *MsSmoothOutputSettings `locationName:"msSmoothOutputSettings" type:"structure"` + // Multiplex Output Settings + MultiplexOutputSettings *MultiplexOutputSettings `locationName:"multiplexOutputSettings" type:"structure"` + // Rtmp Output Settings RtmpOutputSettings *RtmpOutputSettings `locationName:"rtmpOutputSettings" type:"structure"` @@ -14279,6 +17347,11 @@ func (s *OutputSettings) Validate() error { invalidParams.AddNested("HlsOutputSettings", err.(request.ErrInvalidParams)) } } + if s.MultiplexOutputSettings != nil { + if err := s.MultiplexOutputSettings.Validate(); err != nil { + invalidParams.AddNested("MultiplexOutputSettings", err.(request.ErrInvalidParams)) + } + } if s.RtmpOutputSettings != nil { if err := s.RtmpOutputSettings.Validate(); err != nil { invalidParams.AddNested("RtmpOutputSettings", err.(request.ErrInvalidParams)) @@ -14326,6 +17399,12 @@ func (s *OutputSettings) SetMsSmoothOutputSettings(v *MsSmoothOutputSettings) *O return s } +// SetMultiplexOutputSettings sets the MultiplexOutputSettings field's value. +func (s *OutputSettings) SetMultiplexOutputSettings(v *MultiplexOutputSettings) *OutputSettings { + s.MultiplexOutputSettings = v + return s +} + // SetRtmpOutputSettings sets the RtmpOutputSettings field's value. func (s *OutputSettings) SetRtmpOutputSettings(v *RtmpOutputSettings) *OutputSettings { s.RtmpOutputSettings = v @@ -14889,7 +17968,7 @@ type ReservationResourceSpecification struct { // Resolution, e.g. 'HD' Resolution *string `locationName:"resolution" type:"string" enum:"ReservationResolution"` - // Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL' + // Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' ResourceType *string `locationName:"resourceType" type:"string" enum:"ReservationResourceType"` // Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only) @@ -16350,20 +19429,155 @@ func (s *StartChannelOutput) SetPipelinesRunningCount(v int64) *StartChannelOutp return s } -// SetRoleArn sets the RoleArn field's value. -func (s *StartChannelOutput) SetRoleArn(v string) *StartChannelOutput { - s.RoleArn = &v +// SetRoleArn sets the RoleArn field's value. +func (s *StartChannelOutput) SetRoleArn(v string) *StartChannelOutput { + s.RoleArn = &v + return s +} + +// SetState sets the State field's value. +func (s *StartChannelOutput) SetState(v string) *StartChannelOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StartChannelOutput) SetTags(v map[string]*string) *StartChannelOutput { + s.Tags = v + return s +} + +type StartMultiplexInput struct { + _ struct{} `type:"structure"` + + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartMultiplexInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartMultiplexInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartMultiplexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartMultiplexInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMultiplexId sets the MultiplexId field's value. +func (s *StartMultiplexInput) SetMultiplexId(v string) *StartMultiplexInput { + s.MultiplexId = &v + return s +} + +type StartMultiplexOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + AvailabilityZones []*string `locationName:"availabilityZones" type:"list"` + + Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"` + + Id *string `locationName:"id" type:"string"` + + // Contains configuration for a Multiplex event + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"` + + Name *string `locationName:"name" type:"string"` + + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + ProgramCount *int64 `locationName:"programCount" type:"integer"` + + // The current state of the multiplex. + State *string `locationName:"state" type:"string" enum:"MultiplexState"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s StartMultiplexOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartMultiplexOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *StartMultiplexOutput) SetArn(v string) *StartMultiplexOutput { + s.Arn = &v + return s +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *StartMultiplexOutput) SetAvailabilityZones(v []*string) *StartMultiplexOutput { + s.AvailabilityZones = v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *StartMultiplexOutput) SetDestinations(v []*MultiplexOutputDestination) *StartMultiplexOutput { + s.Destinations = v + return s +} + +// SetId sets the Id field's value. +func (s *StartMultiplexOutput) SetId(v string) *StartMultiplexOutput { + s.Id = &v + return s +} + +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *StartMultiplexOutput) SetMultiplexSettings(v *MultiplexSettings) *StartMultiplexOutput { + s.MultiplexSettings = v + return s +} + +// SetName sets the Name field's value. +func (s *StartMultiplexOutput) SetName(v string) *StartMultiplexOutput { + s.Name = &v + return s +} + +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *StartMultiplexOutput) SetPipelinesRunningCount(v int64) *StartMultiplexOutput { + s.PipelinesRunningCount = &v + return s +} + +// SetProgramCount sets the ProgramCount field's value. +func (s *StartMultiplexOutput) SetProgramCount(v int64) *StartMultiplexOutput { + s.ProgramCount = &v return s } // SetState sets the State field's value. -func (s *StartChannelOutput) SetState(v string) *StartChannelOutput { +func (s *StartMultiplexOutput) SetState(v string) *StartMultiplexOutput { s.State = &v return s } // SetTags sets the Tags field's value. -func (s *StartChannelOutput) SetTags(v map[string]*string) *StartChannelOutput { +func (s *StartMultiplexOutput) SetTags(v map[string]*string) *StartMultiplexOutput { s.Tags = v return s } @@ -16812,6 +20026,141 @@ func (s *StopChannelOutput) SetTags(v map[string]*string) *StopChannelOutput { return s } +type StopMultiplexInput struct { + _ struct{} `type:"structure"` + + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopMultiplexInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopMultiplexInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopMultiplexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopMultiplexInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMultiplexId sets the MultiplexId field's value. +func (s *StopMultiplexInput) SetMultiplexId(v string) *StopMultiplexInput { + s.MultiplexId = &v + return s +} + +type StopMultiplexOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + AvailabilityZones []*string `locationName:"availabilityZones" type:"list"` + + Destinations []*MultiplexOutputDestination `locationName:"destinations" type:"list"` + + Id *string `locationName:"id" type:"string"` + + // Contains configuration for a Multiplex event + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"` + + Name *string `locationName:"name" type:"string"` + + PipelinesRunningCount *int64 `locationName:"pipelinesRunningCount" type:"integer"` + + ProgramCount *int64 `locationName:"programCount" type:"integer"` + + // The current state of the multiplex. + State *string `locationName:"state" type:"string" enum:"MultiplexState"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s StopMultiplexOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopMultiplexOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *StopMultiplexOutput) SetArn(v string) *StopMultiplexOutput { + s.Arn = &v + return s +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *StopMultiplexOutput) SetAvailabilityZones(v []*string) *StopMultiplexOutput { + s.AvailabilityZones = v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *StopMultiplexOutput) SetDestinations(v []*MultiplexOutputDestination) *StopMultiplexOutput { + s.Destinations = v + return s +} + +// SetId sets the Id field's value. +func (s *StopMultiplexOutput) SetId(v string) *StopMultiplexOutput { + s.Id = &v + return s +} + +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *StopMultiplexOutput) SetMultiplexSettings(v *MultiplexSettings) *StopMultiplexOutput { + s.MultiplexSettings = v + return s +} + +// SetName sets the Name field's value. +func (s *StopMultiplexOutput) SetName(v string) *StopMultiplexOutput { + s.Name = &v + return s +} + +// SetPipelinesRunningCount sets the PipelinesRunningCount field's value. +func (s *StopMultiplexOutput) SetPipelinesRunningCount(v int64) *StopMultiplexOutput { + s.PipelinesRunningCount = &v + return s +} + +// SetProgramCount sets the ProgramCount field's value. +func (s *StopMultiplexOutput) SetProgramCount(v int64) *StopMultiplexOutput { + s.ProgramCount = &v + return s +} + +// SetState sets the State field's value. +func (s *StopMultiplexOutput) SetState(v string) *StopMultiplexOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StopMultiplexOutput) SetTags(v map[string]*string) *StopMultiplexOutput { + s.Tags = v + return s +} + // Settings to identify the end of the clip. type StopTimecode struct { _ struct{} `type:"structure"` @@ -17572,6 +20921,181 @@ func (s *UpdateInputSecurityGroupOutput) SetSecurityGroup(v *InputSecurityGroup) return s } +type UpdateMultiplexInput struct { + _ struct{} `type:"structure"` + + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` + + // Contains configuration for a Multiplex event + MultiplexSettings *MultiplexSettings `locationName:"multiplexSettings" type:"structure"` + + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s UpdateMultiplexInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMultiplexInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMultiplexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMultiplexInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + if s.MultiplexSettings != nil { + if err := s.MultiplexSettings.Validate(); err != nil { + invalidParams.AddNested("MultiplexSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMultiplexId sets the MultiplexId field's value. +func (s *UpdateMultiplexInput) SetMultiplexId(v string) *UpdateMultiplexInput { + s.MultiplexId = &v + return s +} + +// SetMultiplexSettings sets the MultiplexSettings field's value. +func (s *UpdateMultiplexInput) SetMultiplexSettings(v *MultiplexSettings) *UpdateMultiplexInput { + s.MultiplexSettings = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateMultiplexInput) SetName(v string) *UpdateMultiplexInput { + s.Name = &v + return s +} + +type UpdateMultiplexOutput struct { + _ struct{} `type:"structure"` + + // The multiplex object. + Multiplex *Multiplex `locationName:"multiplex" type:"structure"` +} + +// String returns the string representation +func (s UpdateMultiplexOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMultiplexOutput) GoString() string { + return s.String() +} + +// SetMultiplex sets the Multiplex field's value. +func (s *UpdateMultiplexOutput) SetMultiplex(v *Multiplex) *UpdateMultiplexOutput { + s.Multiplex = v + return s +} + +type UpdateMultiplexProgramInput struct { + _ struct{} `type:"structure"` + + // MultiplexId is a required field + MultiplexId *string `location:"uri" locationName:"multiplexId" type:"string" required:"true"` + + // Multiplex Program settings configuration. + MultiplexProgramSettings *MultiplexProgramSettings `locationName:"multiplexProgramSettings" type:"structure"` + + // ProgramName is a required field + ProgramName *string `location:"uri" locationName:"programName" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateMultiplexProgramInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMultiplexProgramInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMultiplexProgramInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMultiplexProgramInput"} + if s.MultiplexId == nil { + invalidParams.Add(request.NewErrParamRequired("MultiplexId")) + } + if s.MultiplexId != nil && len(*s.MultiplexId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiplexId", 1)) + } + if s.ProgramName == nil { + invalidParams.Add(request.NewErrParamRequired("ProgramName")) + } + if s.ProgramName != nil && len(*s.ProgramName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProgramName", 1)) + } + if s.MultiplexProgramSettings != nil { + if err := s.MultiplexProgramSettings.Validate(); err != nil { + invalidParams.AddNested("MultiplexProgramSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMultiplexId sets the MultiplexId field's value. +func (s *UpdateMultiplexProgramInput) SetMultiplexId(v string) *UpdateMultiplexProgramInput { + s.MultiplexId = &v + return s +} + +// SetMultiplexProgramSettings sets the MultiplexProgramSettings field's value. +func (s *UpdateMultiplexProgramInput) SetMultiplexProgramSettings(v *MultiplexProgramSettings) *UpdateMultiplexProgramInput { + s.MultiplexProgramSettings = v + return s +} + +// SetProgramName sets the ProgramName field's value. +func (s *UpdateMultiplexProgramInput) SetProgramName(v string) *UpdateMultiplexProgramInput { + s.ProgramName = &v + return s +} + +type UpdateMultiplexProgramOutput struct { + _ struct{} `type:"structure"` + + // The multiplex program object. + MultiplexProgram *MultiplexProgram `locationName:"multiplexProgram" type:"structure"` +} + +// String returns the string representation +func (s UpdateMultiplexProgramOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMultiplexProgramOutput) GoString() string { + return s.String() +} + +// SetMultiplexProgram sets the MultiplexProgram field's value. +func (s *UpdateMultiplexProgramOutput) SetMultiplexProgram(v *MultiplexProgram) *UpdateMultiplexProgramOutput { + s.MultiplexProgram = v + return s +} + type UpdateReservationInput struct { _ struct{} `type:"structure"` @@ -17642,36 +21166,6 @@ func (s *UpdateReservationOutput) SetReservation(v *Reservation) *UpdateReservat return s } -type ValidationError struct { - _ struct{} `type:"structure"` - - ElementPath *string `locationName:"elementPath" type:"string"` - - ErrorMessage *string `locationName:"errorMessage" type:"string"` -} - -// String returns the string representation -func (s ValidationError) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ValidationError) GoString() string { - return s.String() -} - -// SetElementPath sets the ElementPath field's value. -func (s *ValidationError) SetElementPath(v string) *ValidationError { - s.ElementPath = &v - return s -} - -// SetErrorMessage sets the ErrorMessage field's value. -func (s *ValidationError) SetErrorMessage(v string) *ValidationError { - s.ErrorMessage = &v - return s -} - // Video Codec Settings type VideoCodecSettings struct { _ struct{} `type:"structure"` @@ -19169,6 +22663,9 @@ const ( // H265RateControlModeCbr is a H265RateControlMode enum value H265RateControlModeCbr = "CBR" + // H265RateControlModeMultiplex is a H265RateControlMode enum value + H265RateControlModeMultiplex = "MULTIPLEX" + // H265RateControlModeQvbr is a H265RateControlMode enum value H265RateControlModeQvbr = "QVBR" ) @@ -19764,6 +23261,15 @@ const ( M2tsKlvPassthrough = "PASSTHROUGH" ) +// M2ts Nielsen Id3 Behavior +const ( + // M2tsNielsenId3BehaviorNoPassthrough is a M2tsNielsenId3Behavior enum value + M2tsNielsenId3BehaviorNoPassthrough = "NO_PASSTHROUGH" + + // M2tsNielsenId3BehaviorPassthrough is a M2tsNielsenId3Behavior enum value + M2tsNielsenId3BehaviorPassthrough = "PASSTHROUGH" +) + // M2ts Pcr Control const ( // M2tsPcrControlConfiguredPcrPeriod is a M2tsPcrControl enum value @@ -19830,6 +23336,15 @@ const ( M2tsTimedMetadataBehaviorPassthrough = "PASSTHROUGH" ) +// M3u8 Nielsen Id3 Behavior +const ( + // M3u8NielsenId3BehaviorNoPassthrough is a M3u8NielsenId3Behavior enum value + M3u8NielsenId3BehaviorNoPassthrough = "NO_PASSTHROUGH" + + // M3u8NielsenId3BehaviorPassthrough is a M3u8NielsenId3Behavior enum value + M3u8NielsenId3BehaviorPassthrough = "PASSTHROUGH" +) + // M3u8 Pcr Control const ( // M3u8PcrControlConfiguredPcrPeriod is a M3u8PcrControl enum value @@ -19875,6 +23390,36 @@ const ( MsSmoothH265PackagingTypeHvc1 = "HVC1" ) +// The current state of the multiplex. +const ( + // MultiplexStateCreating is a MultiplexState enum value + MultiplexStateCreating = "CREATING" + + // MultiplexStateCreateFailed is a MultiplexState enum value + MultiplexStateCreateFailed = "CREATE_FAILED" + + // MultiplexStateIdle is a MultiplexState enum value + MultiplexStateIdle = "IDLE" + + // MultiplexStateStarting is a MultiplexState enum value + MultiplexStateStarting = "STARTING" + + // MultiplexStateRunning is a MultiplexState enum value + MultiplexStateRunning = "RUNNING" + + // MultiplexStateRecovering is a MultiplexState enum value + MultiplexStateRecovering = "RECOVERING" + + // MultiplexStateStopping is a MultiplexState enum value + MultiplexStateStopping = "STOPPING" + + // MultiplexStateDeleting is a MultiplexState enum value + MultiplexStateDeleting = "DELETING" + + // MultiplexStateDeleted is a MultiplexState enum value + MultiplexStateDeleted = "DELETED" +) + // Network Input Server Validation const ( // NetworkInputServerValidationCheckCryptographyAndValidateName is a NetworkInputServerValidation enum value @@ -19884,6 +23429,15 @@ const ( NetworkInputServerValidationCheckCryptographyOnly = "CHECK_CRYPTOGRAPHY_ONLY" ) +// State of Nielsen PCM to ID3 tagging +const ( + // NielsenPcmToId3TaggingStateDisabled is a NielsenPcmToId3TaggingState enum value + NielsenPcmToId3TaggingStateDisabled = "DISABLED" + + // NielsenPcmToId3TaggingStateEnabled is a NielsenPcmToId3TaggingState enum value + NielsenPcmToId3TaggingStateEnabled = "ENABLED" +) + // Units for duration, e.g. 'MONTHS' const ( // OfferingDurationUnitsMonths is a OfferingDurationUnits enum value @@ -19942,7 +23496,7 @@ const ( ) // Resolution based on lines of vertical resolution; SD is less than 720 lines, -// HD is 720 to 1080 lines, UHD is greater than 1080 lines +// HD is 720 to 1080 lines, FHD is 1080 lines, UHD is greater than 1080 lines const ( // ReservationResolutionSd is a ReservationResolution enum value ReservationResolutionSd = "SD" @@ -19950,11 +23504,14 @@ const ( // ReservationResolutionHd is a ReservationResolution enum value ReservationResolutionHd = "HD" + // ReservationResolutionFhd is a ReservationResolution enum value + ReservationResolutionFhd = "FHD" + // ReservationResolutionUhd is a ReservationResolution enum value ReservationResolutionUhd = "UHD" ) -// Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL' +// Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL' const ( // ReservationResourceTypeInput is a ReservationResourceType enum value ReservationResourceTypeInput = "INPUT" @@ -19962,6 +23519,9 @@ const ( // ReservationResourceTypeOutput is a ReservationResourceType enum value ReservationResourceTypeOutput = "OUTPUT" + // ReservationResourceTypeMultiplex is a ReservationResourceType enum value + ReservationResourceTypeMultiplex = "MULTIPLEX" + // ReservationResourceTypeChannel is a ReservationResourceType enum value ReservationResourceTypeChannel = "CHANNEL" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/medialive/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/medialive/waiters.go index 63f7e0e66218..36fb19d08c96 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/medialive/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/medialive/waiters.go @@ -237,3 +237,232 @@ func (c *MediaLive) WaitUntilChannelStoppedWithContext(ctx aws.Context, input *D return w.WaitWithContext(ctx) } + +// WaitUntilMultiplexCreated uses the MediaLive API operation +// DescribeMultiplex to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *MediaLive) WaitUntilMultiplexCreated(input *DescribeMultiplexInput) error { + return c.WaitUntilMultiplexCreatedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilMultiplexCreatedWithContext is an extended version of WaitUntilMultiplexCreated. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// 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 *MediaLive) WaitUntilMultiplexCreatedWithContext(ctx aws.Context, input *DescribeMultiplexInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilMultiplexCreated", + MaxAttempts: 5, + Delay: request.ConstantWaiterDelay(3 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "IDLE", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "CREATING", + }, + { + State: request.RetryWaiterState, + Matcher: request.StatusWaiterMatch, + Expected: 500, + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "CREATE_FAILED", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeMultiplexInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMultiplexRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilMultiplexDeleted uses the MediaLive API operation +// DescribeMultiplex to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *MediaLive) WaitUntilMultiplexDeleted(input *DescribeMultiplexInput) error { + return c.WaitUntilMultiplexDeletedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilMultiplexDeletedWithContext is an extended version of WaitUntilMultiplexDeleted. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// 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 *MediaLive) WaitUntilMultiplexDeletedWithContext(ctx aws.Context, input *DescribeMultiplexInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilMultiplexDeleted", + MaxAttempts: 20, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "DELETED", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "DELETING", + }, + { + State: request.RetryWaiterState, + Matcher: request.StatusWaiterMatch, + Expected: 500, + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeMultiplexInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMultiplexRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilMultiplexRunning uses the MediaLive API operation +// DescribeMultiplex to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *MediaLive) WaitUntilMultiplexRunning(input *DescribeMultiplexInput) error { + return c.WaitUntilMultiplexRunningWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilMultiplexRunningWithContext is an extended version of WaitUntilMultiplexRunning. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// 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 *MediaLive) WaitUntilMultiplexRunningWithContext(ctx aws.Context, input *DescribeMultiplexInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilMultiplexRunning", + MaxAttempts: 120, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "RUNNING", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "STARTING", + }, + { + State: request.RetryWaiterState, + Matcher: request.StatusWaiterMatch, + Expected: 500, + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeMultiplexInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMultiplexRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilMultiplexStopped uses the MediaLive API operation +// DescribeMultiplex to wait for a condition to be met before returning. +// If the condition is not met within the max attempt window, an error will +// be returned. +func (c *MediaLive) WaitUntilMultiplexStopped(input *DescribeMultiplexInput) error { + return c.WaitUntilMultiplexStoppedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilMultiplexStoppedWithContext is an extended version of WaitUntilMultiplexStopped. +// With the support for passing in a context and options to configure the +// Waiter and the underlying request options. +// +// 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 *MediaLive) WaitUntilMultiplexStoppedWithContext(ctx aws.Context, input *DescribeMultiplexInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilMultiplexStopped", + MaxAttempts: 28, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "IDLE", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "STOPPING", + }, + { + State: request.RetryWaiterState, + Matcher: request.StatusWaiterMatch, + Expected: 500, + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeMultiplexInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMultiplexRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/mediastore/api.go b/vendor/github.com/aws/aws-sdk-go/service/mediastore/api.go index d378c5f75614..1434cf99bbf7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mediastore/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mediastore/api.go @@ -1572,7 +1572,7 @@ func (c *MediaStore) TagResourceRequest(input *TagResourceInput) (req *request.R // might be "customer" and the tag value might be "companyA." You can specify // one or more tags to add to each container. You can add up to 50 tags to each // container. For more information about tagging, including naming and usage -// conventions, see Tagging Resources in MediaStore (https://aws.amazon.com/documentation/mediastore/tagging). +// conventions, see Tagging Resources in MediaStore (https://docs.aws.amazon.com/mediastore/latest/ug/tagging.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 @@ -1911,7 +1911,7 @@ type CreateContainerInput struct { // and the tag value represents a specific value within that category (such // as "test," "development," or "production"). You can add up to 50 tags to // each container. For more information about tagging, including naming and - // usage conventions, see Tagging Resources in MediaStore (https://aws.amazon.com/documentation/mediastore/tagging). + // usage conventions, see Tagging Resources in MediaStore (https://docs.aws.amazon.com/mediastore/latest/ug/tagging.html). Tags []*Tag `type:"list"` } @@ -2975,13 +2975,15 @@ func (s StopAccessLoggingOutput) GoString() string { // a specific value within that category (such as "test," "development," or // "production"). You can add up to 50 tags to each container. For more information // about tagging, including naming and usage conventions, see Tagging Resources -// in MediaStore (https://aws.amazon.com/documentation/mediastore/tagging). +// in MediaStore (https://docs.aws.amazon.com/mediastore/latest/ug/tagging.html). type Tag struct { _ struct{} `type:"structure"` // Part of the key:value pair that defines a tag. You can use a tag key to describe // a category of information, such as "customer." Tag keys are case-sensitive. - Key *string `min:"1" type:"string"` + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` // Part of the key:value pair that defines a tag. You can use a tag value to // describe a specific value within a category, such as "companyA" or "companyB." @@ -3002,6 +3004,9 @@ func (s Tag) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *Tag) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } 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 9722c6d884de..3aced3df1607 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 @@ -3,72 +3,66 @@ package quicksight import ( + "fmt" + "time" + "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" ) -const opCreateGroup = "CreateGroup" +const opCancelIngestion = "CancelIngestion" -// CreateGroupRequest generates a "aws/request.Request" representing the -// client's request for the CreateGroup operation. The "output" return +// CancelIngestionRequest generates a "aws/request.Request" representing the +// client's request for the CancelIngestion 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 CreateGroup for more information on using the CreateGroup +// See CancelIngestion for more information on using the CancelIngestion // 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 CreateGroupRequest method. -// req, resp := client.CreateGroupRequest(params) +// // Example sending a request using the CancelIngestionRequest method. +// req, resp := client.CancelIngestionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateGroup -func (c *QuickSight) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CancelIngestion +func (c *QuickSight) CancelIngestionRequest(input *CancelIngestionInput) (req *request.Request, output *CancelIngestionOutput) { op := &request.Operation{ - Name: opCreateGroup, - HTTPMethod: "POST", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups", + Name: opCancelIngestion, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}", } if input == nil { - input = &CreateGroupInput{} + input = &CancelIngestionInput{} } - output = &CreateGroupOutput{} + output = &CancelIngestionOutput{} req = c.newRequest(op, input, output) return } -// CreateGroup API operation for Amazon QuickSight. +// CancelIngestion API operation for Amazon QuickSight. // -// Creates an Amazon QuickSight group. -// -// The permissions resource is arn:aws:quicksight:us-east-1::group/default/ . -// -// The response is a group object. -// -// CLI Sample: -// -// aws quicksight create-group --aws-account-id=111122223333 --namespace=default -// --group-name="Sales-Management" --description="Sales Management - Forecasting" +// Cancels an on-going ingestion of data into SPICE. // // 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 QuickSight's -// API operation CreateGroup for usage and error information. +// API operation CancelIngestion for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDeniedException "AccessDeniedException" @@ -80,221 +74,242 @@ func (c *QuickSight) CreateGroupRequest(input *CreateGroupInput) (req *request.R // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One or more parameters don't have a valid value. // -// * ErrCodeResourceExistsException "ResourceExistsException" -// The resource specified doesn't exist. -// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // One or more resources can't be found. // // * ErrCodeThrottlingException "ThrottlingException" // Access is throttled. // -// * ErrCodePreconditionNotMetException "PreconditionNotMetException" -// One or more preconditions aren't met. -// -// * ErrCodeLimitExceededException "LimitExceededException" -// A limit is exceeded. +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. // // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // -// * ErrCodeResourceUnavailableException "ResourceUnavailableException" -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateGroup -func (c *QuickSight) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) { - req, out := c.CreateGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CancelIngestion +func (c *QuickSight) CancelIngestion(input *CancelIngestionInput) (*CancelIngestionOutput, error) { + req, out := c.CancelIngestionRequest(input) return out, req.Send() } -// CreateGroupWithContext is the same as CreateGroup with the addition of +// CancelIngestionWithContext is the same as CancelIngestion with the addition of // the ability to pass a context and additional request options. // -// See CreateGroup for details on how to use this API operation. +// See CancelIngestion 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 *QuickSight) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInput, opts ...request.Option) (*CreateGroupOutput, error) { - req, out := c.CreateGroupRequest(input) +func (c *QuickSight) CancelIngestionWithContext(ctx aws.Context, input *CancelIngestionInput, opts ...request.Option) (*CancelIngestionOutput, error) { + req, out := c.CancelIngestionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opCreateGroupMembership = "CreateGroupMembership" +const opCreateDashboard = "CreateDashboard" -// CreateGroupMembershipRequest generates a "aws/request.Request" representing the -// client's request for the CreateGroupMembership operation. The "output" return +// CreateDashboardRequest generates a "aws/request.Request" representing the +// client's request for the CreateDashboard 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 CreateGroupMembership for more information on using the CreateGroupMembership +// See CreateDashboard for more information on using the CreateDashboard // 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 CreateGroupMembershipRequest method. -// req, resp := client.CreateGroupMembershipRequest(params) +// // Example sending a request using the CreateDashboardRequest method. +// req, resp := client.CreateDashboardRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateGroupMembership -func (c *QuickSight) CreateGroupMembershipRequest(input *CreateGroupMembershipInput) (req *request.Request, output *CreateGroupMembershipOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateDashboard +func (c *QuickSight) CreateDashboardRequest(input *CreateDashboardInput) (req *request.Request, output *CreateDashboardOutput) { op := &request.Operation{ - Name: opCreateGroupMembership, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}", + Name: opCreateDashboard, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", } if input == nil { - input = &CreateGroupMembershipInput{} + input = &CreateDashboardInput{} } - output = &CreateGroupMembershipOutput{} + output = &CreateDashboardOutput{} req = c.newRequest(op, input, output) return } -// CreateGroupMembership API operation for Amazon QuickSight. -// -// Adds an Amazon QuickSight user to an Amazon QuickSight group. -// -// The permissions resource is arn:aws:quicksight:us-east-1::group/default/ . +// CreateDashboard API operation for Amazon QuickSight. // -// The condition resource is the user name. -// -// The condition key is quicksight:UserName. +// Creates a dashboard from a template. To first create a template, see the +// CreateTemplate API. // -// The response is the group member object. +// A dashboard is an entity in QuickSight which identifies Quicksight reports, +// created from analyses. QuickSight dashboards are sharable. With the right +// permissions, you can create scheduled email reports from them. The CreateDashboard, +// DescribeDashboard and ListDashboardsByUser APIs act on the dashboard entity. +// If you have the correct permissions, you can create a dashboard from a template +// that exists in a different AWS account. // -// CLI Sample: +// CLI syntax: // -// aws quicksight create-group-membership --aws-account-id=111122223333 --namespace=default -// --group-name=Sales --member-name=Pat +// aws quicksight create-dashboard --cli-input-json file://create-dashboard.json // // 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 QuickSight's -// API operation CreateGroupMembership for usage and error information. +// API operation CreateDashboard for usage and error information. // // Returned Error Codes: -// * ErrCodeAccessDeniedException "AccessDeniedException" -// You don't have access to this. The provided credentials couldn't be validated. -// You might not be authorized to carry out the request. Ensure that your account -// is authorized to use the Amazon QuickSight service, that your policies have -// the correct permissions, and that you are using the correct access keys. +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One or more parameters don't have a valid value. // -// * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// One or more resources can't be found. -// // * ErrCodeThrottlingException "ThrottlingException" // Access is throttled. // -// * ErrCodePreconditionNotMetException "PreconditionNotMetException" -// One or more preconditions aren't met. +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // -// * ErrCodeResourceUnavailableException "ResourceUnavailableException" -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateGroupMembership -func (c *QuickSight) CreateGroupMembership(input *CreateGroupMembershipInput) (*CreateGroupMembershipOutput, error) { - req, out := c.CreateGroupMembershipRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateDashboard +func (c *QuickSight) CreateDashboard(input *CreateDashboardInput) (*CreateDashboardOutput, error) { + req, out := c.CreateDashboardRequest(input) return out, req.Send() } -// CreateGroupMembershipWithContext is the same as CreateGroupMembership with the addition of +// CreateDashboardWithContext is the same as CreateDashboard with the addition of // the ability to pass a context and additional request options. // -// See CreateGroupMembership for details on how to use this API operation. +// See CreateDashboard 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 *QuickSight) CreateGroupMembershipWithContext(ctx aws.Context, input *CreateGroupMembershipInput, opts ...request.Option) (*CreateGroupMembershipOutput, error) { - req, out := c.CreateGroupMembershipRequest(input) +func (c *QuickSight) CreateDashboardWithContext(ctx aws.Context, input *CreateDashboardInput, opts ...request.Option) (*CreateDashboardOutput, error) { + req, out := c.CreateDashboardRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteGroup = "DeleteGroup" +const opCreateDataSet = "CreateDataSet" -// DeleteGroupRequest generates a "aws/request.Request" representing the -// client's request for the DeleteGroup operation. The "output" return +// CreateDataSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateDataSet 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 DeleteGroup for more information on using the DeleteGroup +// See CreateDataSet for more information on using the CreateDataSet // 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 DeleteGroupRequest method. -// req, resp := client.DeleteGroupRequest(params) +// // Example sending a request using the CreateDataSetRequest method. +// req, resp := client.CreateDataSetRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroup -func (c *QuickSight) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateDataSet +func (c *QuickSight) CreateDataSetRequest(input *CreateDataSetInput) (req *request.Request, output *CreateDataSetOutput) { op := &request.Operation{ - Name: opDeleteGroup, - HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", + Name: opCreateDataSet, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/data-sets", } if input == nil { - input = &DeleteGroupInput{} + input = &CreateDataSetInput{} } - output = &DeleteGroupOutput{} + output = &CreateDataSetOutput{} req = c.newRequest(op, input, output) return } -// DeleteGroup API operation for Amazon QuickSight. +// CreateDataSet API operation for Amazon QuickSight. // -// Removes a user group from Amazon QuickSight. +// Creates a dataset. // -// The permissions resource is arn:aws:quicksight:us-east-1::group/default/ . +// CLI syntax: // -// CLI Sample: +// aws quicksight create-data-set \ // -// aws quicksight delete-group -\-aws-account-id=111122223333 -\-namespace=default -// -\-group-name=Sales-Management +// --aws-account-id=111122223333 \ +// +// --data-set-id=unique-data-set-id \ +// +// --name='My dataset' \ +// +// --import-mode=SPICE \ +// +// --physical-table-map='{ +// +// "physical-table-id": { +// +// "RelationalTable": { +// +// "DataSourceArn": "arn:aws:quicksight:us-west-2:111111111111:datasource/data-source-id", +// +// "Name": "table1", +// +// "InputColumns": [ +// +// { +// +// "Name": "column1", +// +// "Type": "STRING" +// +// } +// +// ] +// +// } +// +// }' // // 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 QuickSight's -// API operation DeleteGroup for usage and error information. +// API operation CreateDataSet for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDeniedException "AccessDeniedException" @@ -303,110 +318,135 @@ func (c *QuickSight) DeleteGroupRequest(input *DeleteGroupInput) (req *request.R // is authorized to use the Amazon QuickSight service, that your policies have // the correct permissions, and that you are using the correct access keys. // +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One or more parameters don't have a valid value. // +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit is exceeded. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // One or more resources can't be found. // // * ErrCodeThrottlingException "ThrottlingException" // Access is throttled. // -// * ErrCodePreconditionNotMetException "PreconditionNotMetException" -// One or more preconditions aren't met. +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // -// * ErrCodeResourceUnavailableException "ResourceUnavailableException" -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroup -func (c *QuickSight) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) { - req, out := c.DeleteGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateDataSet +func (c *QuickSight) CreateDataSet(input *CreateDataSetInput) (*CreateDataSetOutput, error) { + req, out := c.CreateDataSetRequest(input) return out, req.Send() } -// DeleteGroupWithContext is the same as DeleteGroup with the addition of +// CreateDataSetWithContext is the same as CreateDataSet with the addition of // the ability to pass a context and additional request options. // -// See DeleteGroup for details on how to use this API operation. +// See CreateDataSet 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 *QuickSight) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) { - req, out := c.DeleteGroupRequest(input) +func (c *QuickSight) CreateDataSetWithContext(ctx aws.Context, input *CreateDataSetInput, opts ...request.Option) (*CreateDataSetOutput, error) { + req, out := c.CreateDataSetRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteGroupMembership = "DeleteGroupMembership" +const opCreateDataSource = "CreateDataSource" -// DeleteGroupMembershipRequest generates a "aws/request.Request" representing the -// client's request for the DeleteGroupMembership operation. The "output" return +// CreateDataSourceRequest generates a "aws/request.Request" representing the +// client's request for the CreateDataSource 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 DeleteGroupMembership for more information on using the DeleteGroupMembership +// See CreateDataSource for more information on using the CreateDataSource // 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 DeleteGroupMembershipRequest method. -// req, resp := client.DeleteGroupMembershipRequest(params) +// // Example sending a request using the CreateDataSourceRequest method. +// req, resp := client.CreateDataSourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroupMembership -func (c *QuickSight) DeleteGroupMembershipRequest(input *DeleteGroupMembershipInput) (req *request.Request, output *DeleteGroupMembershipOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateDataSource +func (c *QuickSight) CreateDataSourceRequest(input *CreateDataSourceInput) (req *request.Request, output *CreateDataSourceOutput) { op := &request.Operation{ - Name: opDeleteGroupMembership, - HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}", + Name: opCreateDataSource, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/data-sources", } if input == nil { - input = &DeleteGroupMembershipInput{} + input = &CreateDataSourceInput{} } - output = &DeleteGroupMembershipOutput{} + output = &CreateDataSourceOutput{} req = c.newRequest(op, input, output) return } -// DeleteGroupMembership API operation for Amazon QuickSight. +// CreateDataSource API operation for Amazon QuickSight. // -// Removes a user from a group so that the user is no longer a member of the -// group. +// Creates a data source. // -// The permissions resource is arn:aws:quicksight:us-east-1::group/default/ . +// The permissions resource is arn:aws:quicksight:region:aws-account-id:datasource/data-source-id // -// The condition resource is the user name. +// CLI syntax: // -// The condition key is quicksight:UserName. +// aws quicksight create-data-source \ // -// CLI Sample: +// --aws-account-id=111122223333 \ // -// aws quicksight delete-group-membership --aws-account-id=111122223333 --namespace=default -// --group-name=Sales-Management --member-name=Charlie +// --data-source-id=unique-data-source-id \ +// +// --name='My Data Source' \ +// +// --type=POSTGRESQL \ +// +// --data-source-parameters='{ "PostgreSqlParameters": { +// +// "Host": "my-db-host.example.com", +// +// "Port": 1234, +// +// "Database": "my-db" } }' \ +// +// --credentials='{ "CredentialPair": { +// +// "Username": "username", +// +// "Password": "password" } }' // // 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 QuickSight's -// API operation DeleteGroupMembership for usage and error information. +// API operation CreateDataSource for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDeniedException "AccessDeniedException" @@ -415,107 +455,110 @@ func (c *QuickSight) DeleteGroupMembershipRequest(input *DeleteGroupMembershipIn // is authorized to use the Amazon QuickSight service, that your policies have // the correct permissions, and that you are using the correct access keys. // +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One or more parameters don't have a valid value. // +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit is exceeded. +// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // One or more resources can't be found. // +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// // * ErrCodeThrottlingException "ThrottlingException" // Access is throttled. // -// * ErrCodePreconditionNotMetException "PreconditionNotMetException" -// One or more preconditions aren't met. -// // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // -// * ErrCodeResourceUnavailableException "ResourceUnavailableException" -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroupMembership -func (c *QuickSight) DeleteGroupMembership(input *DeleteGroupMembershipInput) (*DeleteGroupMembershipOutput, error) { - req, out := c.DeleteGroupMembershipRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateDataSource +func (c *QuickSight) CreateDataSource(input *CreateDataSourceInput) (*CreateDataSourceOutput, error) { + req, out := c.CreateDataSourceRequest(input) return out, req.Send() } -// DeleteGroupMembershipWithContext is the same as DeleteGroupMembership with the addition of +// CreateDataSourceWithContext is the same as CreateDataSource with the addition of // the ability to pass a context and additional request options. // -// See DeleteGroupMembership for details on how to use this API operation. +// See CreateDataSource 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 *QuickSight) DeleteGroupMembershipWithContext(ctx aws.Context, input *DeleteGroupMembershipInput, opts ...request.Option) (*DeleteGroupMembershipOutput, error) { - req, out := c.DeleteGroupMembershipRequest(input) +func (c *QuickSight) CreateDataSourceWithContext(ctx aws.Context, input *CreateDataSourceInput, opts ...request.Option) (*CreateDataSourceOutput, error) { + req, out := c.CreateDataSourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteUser = "DeleteUser" +const opCreateGroup = "CreateGroup" -// DeleteUserRequest generates a "aws/request.Request" representing the -// client's request for the DeleteUser operation. The "output" return +// CreateGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateGroup 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 DeleteUser for more information on using the DeleteUser +// See CreateGroup for more information on using the CreateGroup // 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 DeleteUserRequest method. -// req, resp := client.DeleteUserRequest(params) +// // Example sending a request using the CreateGroupRequest method. +// req, resp := client.CreateGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUser -func (c *QuickSight) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateGroup +func (c *QuickSight) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) { op := &request.Operation{ - Name: opDeleteUser, - HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", + Name: opCreateGroup, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups", } if input == nil { - input = &DeleteUserInput{} + input = &CreateGroupInput{} } - output = &DeleteUserOutput{} + output = &CreateGroupOutput{} req = c.newRequest(op, input, output) return } -// DeleteUser API operation for Amazon QuickSight. +// CreateGroup API operation for Amazon QuickSight. // -// Deletes the Amazon QuickSight user that is associated with the identity of -// the AWS Identity and Access Management (IAM) user or role that's making the -// call. The IAM user isn't deleted as a result of this call. +// Creates an Amazon QuickSight group. +// +// The permissions resource is arn:aws:quicksight:us-east-1::group/default/ . // -// The permission resource is arn:aws:quicksight:us-east-1::user/default/ . +// The response is a group object. // // CLI Sample: // -// aws quicksight delete-user --aws-account-id=111122223333 --namespace=default -// --user-name=Pat +// aws quicksight create-group --aws-account-id=111122223333 --namespace=default +// --group-name="Sales-Management" --description="Sales Management - Forecasting" // // 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 QuickSight's -// API operation DeleteUser for usage and error information. +// API operation CreateGroup for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDeniedException "AccessDeniedException" @@ -527,99 +570,114 @@ func (c *QuickSight) DeleteUserRequest(input *DeleteUserInput) (req *request.Req // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One or more parameters don't have a valid value. // -// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" // One or more resources can't be found. // // * ErrCodeThrottlingException "ThrottlingException" // Access is throttled. // +// * ErrCodePreconditionNotMetException "PreconditionNotMetException" +// One or more preconditions aren't met. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit is exceeded. +// // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // // * ErrCodeResourceUnavailableException "ResourceUnavailableException" // This resource is currently unavailable. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUser -func (c *QuickSight) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { - req, out := c.DeleteUserRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateGroup +func (c *QuickSight) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) { + req, out := c.CreateGroupRequest(input) return out, req.Send() } -// DeleteUserWithContext is the same as DeleteUser with the addition of +// CreateGroupWithContext is the same as CreateGroup with the addition of // the ability to pass a context and additional request options. // -// See DeleteUser for details on how to use this API operation. +// See CreateGroup 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 *QuickSight) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) { - req, out := c.DeleteUserRequest(input) +func (c *QuickSight) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInput, opts ...request.Option) (*CreateGroupOutput, error) { + req, out := c.CreateGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteUserByPrincipalId = "DeleteUserByPrincipalId" +const opCreateGroupMembership = "CreateGroupMembership" -// DeleteUserByPrincipalIdRequest generates a "aws/request.Request" representing the -// client's request for the DeleteUserByPrincipalId operation. The "output" return +// CreateGroupMembershipRequest generates a "aws/request.Request" representing the +// client's request for the CreateGroupMembership 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 DeleteUserByPrincipalId for more information on using the DeleteUserByPrincipalId +// See CreateGroupMembership for more information on using the CreateGroupMembership // 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 DeleteUserByPrincipalIdRequest method. -// req, resp := client.DeleteUserByPrincipalIdRequest(params) +// // Example sending a request using the CreateGroupMembershipRequest method. +// req, resp := client.CreateGroupMembershipRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUserByPrincipalId -func (c *QuickSight) DeleteUserByPrincipalIdRequest(input *DeleteUserByPrincipalIdInput) (req *request.Request, output *DeleteUserByPrincipalIdOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateGroupMembership +func (c *QuickSight) CreateGroupMembershipRequest(input *CreateGroupMembershipInput) (req *request.Request, output *CreateGroupMembershipOutput) { op := &request.Operation{ - Name: opDeleteUserByPrincipalId, - HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/user-principals/{PrincipalId}", + Name: opCreateGroupMembership, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}", } if input == nil { - input = &DeleteUserByPrincipalIdInput{} + input = &CreateGroupMembershipInput{} } - output = &DeleteUserByPrincipalIdOutput{} + output = &CreateGroupMembershipOutput{} req = c.newRequest(op, input, output) return } -// DeleteUserByPrincipalId API operation for Amazon QuickSight. +// CreateGroupMembership API operation for Amazon QuickSight. // -// Deletes a user identified by its principal ID. +// Adds an Amazon QuickSight user to an Amazon QuickSight group. +// +// The permissions resource is arn:aws:quicksight:us-east-1::group/default/ . +// +// The condition resource is the user name. +// +// The condition key is quicksight:UserName. // -// The permission resource is arn:aws:quicksight:us-east-1::user/default/ . +// The response is the group member object. // // CLI Sample: // -// aws quicksight delete-user-by-principal-id --aws-account-id=111122223333 -// --namespace=default --principal-id=ABCDEFJA26JLI7EUUOEHS +// aws quicksight create-group-membership --aws-account-id=111122223333 --namespace=default +// --group-name=Sales --member-name=Pat // // 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 QuickSight's -// API operation DeleteUserByPrincipalId for usage and error information. +// API operation CreateGroupMembership for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDeniedException "AccessDeniedException" @@ -637,96 +695,98 @@ func (c *QuickSight) DeleteUserByPrincipalIdRequest(input *DeleteUserByPrincipal // * ErrCodeThrottlingException "ThrottlingException" // Access is throttled. // +// * ErrCodePreconditionNotMetException "PreconditionNotMetException" +// One or more preconditions aren't met. +// // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // // * ErrCodeResourceUnavailableException "ResourceUnavailableException" // This resource is currently unavailable. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUserByPrincipalId -func (c *QuickSight) DeleteUserByPrincipalId(input *DeleteUserByPrincipalIdInput) (*DeleteUserByPrincipalIdOutput, error) { - req, out := c.DeleteUserByPrincipalIdRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateGroupMembership +func (c *QuickSight) CreateGroupMembership(input *CreateGroupMembershipInput) (*CreateGroupMembershipOutput, error) { + req, out := c.CreateGroupMembershipRequest(input) return out, req.Send() } -// DeleteUserByPrincipalIdWithContext is the same as DeleteUserByPrincipalId with the addition of +// CreateGroupMembershipWithContext is the same as CreateGroupMembership with the addition of // the ability to pass a context and additional request options. // -// See DeleteUserByPrincipalId for details on how to use this API operation. +// See CreateGroupMembership 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 *QuickSight) DeleteUserByPrincipalIdWithContext(ctx aws.Context, input *DeleteUserByPrincipalIdInput, opts ...request.Option) (*DeleteUserByPrincipalIdOutput, error) { - req, out := c.DeleteUserByPrincipalIdRequest(input) +func (c *QuickSight) CreateGroupMembershipWithContext(ctx aws.Context, input *CreateGroupMembershipInput, opts ...request.Option) (*CreateGroupMembershipOutput, error) { + req, out := c.CreateGroupMembershipRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeGroup = "DescribeGroup" +const opCreateIAMPolicyAssignment = "CreateIAMPolicyAssignment" -// DescribeGroupRequest generates a "aws/request.Request" representing the -// client's request for the DescribeGroup operation. The "output" return +// CreateIAMPolicyAssignmentRequest generates a "aws/request.Request" representing the +// client's request for the CreateIAMPolicyAssignment 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 DescribeGroup for more information on using the DescribeGroup +// See CreateIAMPolicyAssignment for more information on using the CreateIAMPolicyAssignment // 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 DescribeGroupRequest method. -// req, resp := client.DescribeGroupRequest(params) +// // Example sending a request using the CreateIAMPolicyAssignmentRequest method. +// req, resp := client.CreateIAMPolicyAssignmentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeGroup -func (c *QuickSight) DescribeGroupRequest(input *DescribeGroupInput) (req *request.Request, output *DescribeGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateIAMPolicyAssignment +func (c *QuickSight) CreateIAMPolicyAssignmentRequest(input *CreateIAMPolicyAssignmentInput) (req *request.Request, output *CreateIAMPolicyAssignmentOutput) { op := &request.Operation{ - Name: opDescribeGroup, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", + Name: opCreateIAMPolicyAssignment, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/", } if input == nil { - input = &DescribeGroupInput{} + input = &CreateIAMPolicyAssignmentInput{} } - output = &DescribeGroupOutput{} + output = &CreateIAMPolicyAssignmentOutput{} req = c.newRequest(op, input, output) return } -// DescribeGroup API operation for Amazon QuickSight. -// -// Returns an Amazon QuickSight group's description and Amazon Resource Name -// (ARN). -// -// The permissions resource is arn:aws:quicksight:us-east-1::group/default/ . +// CreateIAMPolicyAssignment API operation for Amazon QuickSight. // -// The response is the group object. +// Creates an assignment with one specified IAM policy ARN and will assigned +// to specified groups or users of QuickSight. Users and groups need to be in +// the same namespace. // -// CLI Sample: +// CLI syntax: // -// aws quicksight describe-group -\-aws-account-id=11112222333 -\-namespace=default -// -\-group-name=Sales +// aws quicksight create-iam-policy-assignment --aws-account-id=111122223333 +// --assignment-name=helpAssignment --policy-arn=arn:aws:iam::aws:policy/AdministratorAccess +// --identities="user=user5,engineer123,group=QS-Admin" --namespace=default +// --region=us-west-2 // // 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 QuickSight's -// API operation DescribeGroup for usage and error information. +// API operation CreateIAMPolicyAssignment for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDeniedException "AccessDeniedException" @@ -738,105 +798,101 @@ func (c *QuickSight) DescribeGroupRequest(input *DescribeGroupInput) (req *reque // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One or more parameters don't have a valid value. // +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // One or more resources can't be found. // // * ErrCodeThrottlingException "ThrottlingException" // Access is throttled. // -// * ErrCodePreconditionNotMetException "PreconditionNotMetException" -// One or more preconditions aren't met. +// * ErrCodeConcurrentUpdatingException "ConcurrentUpdatingException" +// A resource is already in an "actionable" state that must complete before +// a new update can be applied. // // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // -// * ErrCodeResourceUnavailableException "ResourceUnavailableException" -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeGroup -func (c *QuickSight) DescribeGroup(input *DescribeGroupInput) (*DescribeGroupOutput, error) { - req, out := c.DescribeGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateIAMPolicyAssignment +func (c *QuickSight) CreateIAMPolicyAssignment(input *CreateIAMPolicyAssignmentInput) (*CreateIAMPolicyAssignmentOutput, error) { + req, out := c.CreateIAMPolicyAssignmentRequest(input) return out, req.Send() } -// DescribeGroupWithContext is the same as DescribeGroup with the addition of +// CreateIAMPolicyAssignmentWithContext is the same as CreateIAMPolicyAssignment with the addition of // the ability to pass a context and additional request options. // -// See DescribeGroup for details on how to use this API operation. +// See CreateIAMPolicyAssignment 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 *QuickSight) DescribeGroupWithContext(ctx aws.Context, input *DescribeGroupInput, opts ...request.Option) (*DescribeGroupOutput, error) { - req, out := c.DescribeGroupRequest(input) +func (c *QuickSight) CreateIAMPolicyAssignmentWithContext(ctx aws.Context, input *CreateIAMPolicyAssignmentInput, opts ...request.Option) (*CreateIAMPolicyAssignmentOutput, error) { + req, out := c.CreateIAMPolicyAssignmentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeUser = "DescribeUser" +const opCreateIngestion = "CreateIngestion" -// DescribeUserRequest generates a "aws/request.Request" representing the -// client's request for the DescribeUser operation. The "output" return +// CreateIngestionRequest generates a "aws/request.Request" representing the +// client's request for the CreateIngestion 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 DescribeUser for more information on using the DescribeUser +// See CreateIngestion for more information on using the CreateIngestion // 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 DescribeUserRequest method. -// req, resp := client.DescribeUserRequest(params) +// // Example sending a request using the CreateIngestionRequest method. +// req, resp := client.CreateIngestionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeUser -func (c *QuickSight) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateIngestion +func (c *QuickSight) CreateIngestionRequest(input *CreateIngestionInput) (req *request.Request, output *CreateIngestionOutput) { op := &request.Operation{ - Name: opDescribeUser, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", + Name: opCreateIngestion, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}", } if input == nil { - input = &DescribeUserInput{} + input = &CreateIngestionInput{} } - output = &DescribeUserOutput{} + output = &CreateIngestionOutput{} req = c.newRequest(op, input, output) return } -// DescribeUser API operation for Amazon QuickSight. -// -// Returns information about a user, given the user name. -// -// The permission resource is arn:aws:quicksight:us-east-1::user/default/ . +// CreateIngestion API operation for Amazon QuickSight. // -// The response is a user object that contains the user's Amazon Resource Name -// (ARN), AWS Identity and Access Management (IAM) role, and email address. -// -// CLI Sample: +// Creates and starts a new SPICE ingestion on a dataset // -// aws quicksight describe-user --aws-account-id=111122223333 --namespace=default -// --user-name=Pat +// 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/). +// Tags will be visible on the tagged dataset, but not on the ingestion 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 QuickSight's -// API operation DescribeUser for usage and error information. +// API operation CreateIngestion for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDeniedException "AccessDeniedException" @@ -854,125 +910,130 @@ func (c *QuickSight) DescribeUserRequest(input *DescribeUserInput) (req *request // * ErrCodeThrottlingException "ThrottlingException" // Access is throttled. // +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit is exceeded. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // -// * ErrCodeResourceUnavailableException "ResourceUnavailableException" -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeUser -func (c *QuickSight) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) { - req, out := c.DescribeUserRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateIngestion +func (c *QuickSight) CreateIngestion(input *CreateIngestionInput) (*CreateIngestionOutput, error) { + req, out := c.CreateIngestionRequest(input) return out, req.Send() } -// DescribeUserWithContext is the same as DescribeUser with the addition of +// CreateIngestionWithContext is the same as CreateIngestion with the addition of // the ability to pass a context and additional request options. // -// See DescribeUser for details on how to use this API operation. +// See CreateIngestion 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 *QuickSight) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserOutput, error) { - req, out := c.DescribeUserRequest(input) +func (c *QuickSight) CreateIngestionWithContext(ctx aws.Context, input *CreateIngestionInput, opts ...request.Option) (*CreateIngestionOutput, error) { + req, out := c.CreateIngestionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetDashboardEmbedUrl = "GetDashboardEmbedUrl" +const opCreateTemplate = "CreateTemplate" -// GetDashboardEmbedUrlRequest generates a "aws/request.Request" representing the -// client's request for the GetDashboardEmbedUrl operation. The "output" return +// CreateTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateTemplate 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 GetDashboardEmbedUrl for more information on using the GetDashboardEmbedUrl +// See CreateTemplate for more information on using the CreateTemplate // 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 GetDashboardEmbedUrlRequest method. -// req, resp := client.GetDashboardEmbedUrlRequest(params) +// // Example sending a request using the CreateTemplateRequest method. +// req, resp := client.CreateTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/GetDashboardEmbedUrl -func (c *QuickSight) GetDashboardEmbedUrlRequest(input *GetDashboardEmbedUrlInput) (req *request.Request, output *GetDashboardEmbedUrlOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateTemplate +func (c *QuickSight) CreateTemplateRequest(input *CreateTemplateInput) (req *request.Request, output *CreateTemplateOutput) { op := &request.Operation{ - Name: opGetDashboardEmbedUrl, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/embed-url", + Name: opCreateTemplate, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", } if input == nil { - input = &GetDashboardEmbedUrlInput{} + input = &CreateTemplateInput{} } - output = &GetDashboardEmbedUrlOutput{} + output = &CreateTemplateOutput{} req = c.newRequest(op, input, output) return } -// GetDashboardEmbedUrl API operation for Amazon QuickSight. +// CreateTemplate API operation for Amazon QuickSight. // -// Generates a server-side embeddable URL and authorization code. Before this -// can work properly, first you need to configure the dashboards and user permissions. -// For more information, see Embedding Amazon QuickSight Dashboards (https://docs.aws.amazon.com/en_us/quicksight/latest/user/embedding.html). +// Creates a template from an existing QuickSight analysis or template. The +// resulting template can be used to create a dashboard. // -// Currently, you can use GetDashboardEmbedURL only from the server, not from -// the user’s browser. +// A template is an entity in QuickSight which encapsulates the metadata required +// to create an analysis that can be used to create dashboard. It adds a layer +// of abstraction by use placeholders to replace the dataset associated with +// the analysis. You can use templates to create dashboards by replacing dataset +// placeholders with datasets which follow the same schema that was used to +// create the source analysis and template. // -// CLI Sample: +// To create a template from an existing analysis, use the analysis's ARN, aws-account-id, +// template-id, source-entity, and data-set-references. // -// Assume the role with permissions enabled for actions: quickSight:RegisterUser -// and quicksight:GetDashboardEmbedURL. You can use assume-role, assume-role-with-web-identity, -// or assume-role-with-saml. +// CLI syntax to create a template: // -// aws sts assume-role --role-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" -// --role-session-name embeddingsession +// aws quicksight create-template —cli-input-json file://create-template.json // -// If the user does not exist in QuickSight, register the user: +// CLI syntax to create a template from another template in the same AWS account: // -// aws quicksight register-user --aws-account-id 111122223333 --namespace default -// --identity-type IAM --iam-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" -// --user-role READER --session-name "embeddingsession" --email user123@example.com -// --region us-east-1 +// aws quicksight create-template --aws-account-id 111122223333 --template-id +// reports_test_template --data-set-references DataSetPlaceholder=reports,DataSetArn=arn:aws:quicksight:us-west-2:111122223333:dataset/0dfc789c-81f6-4f4f-b9ac-7db2453eefc8 +// DataSetPlaceholder=Elblogs,DataSetArn=arn:aws:quicksight:us-west-2:111122223333:dataset/f60da323-af68-45db-9016-08e0d1d7ded5 +// --source-entity SourceAnalysis='{Arn=arn:aws:quicksight:us-west-2:111122223333:analysis/7fb74527-c36d-4be8-8139-ac1be4c97365}' // -// Get the URL for the embedded dashboard +// To create template from another account’s template, you need to grant cross +// account resource permission for DescribeTemplate the account that contains +// the template. // -// aws quicksight get-dashboard-embed-url --aws-account-id 111122223333 --dashboard-id -// 1a1ac2b2-3fc3-4b44-5e5d-c6db6778df89 --identity-type IAM +// You can use a file to pass JSON to the function if you prefer. // // 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 QuickSight's -// API operation GetDashboardEmbedUrl for usage and error information. +// API operation CreateTemplate for usage and error information. // // Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// // * ErrCodeAccessDeniedException "AccessDeniedException" // You don't have access to this. The provided credentials couldn't be validated. // You might not be authorized to carry out the request. Ensure that your account // is authorized to use the Amazon QuickSight service, that your policies have // the correct permissions, and that you are using the correct access keys. // -// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One or more parameters don't have a valid value. -// // * ErrCodeResourceExistsException "ResourceExistsException" -// The resource specified doesn't exist. +// The resource specified already exists. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // One or more resources can't be found. @@ -980,25 +1041,8 @@ func (c *QuickSight) GetDashboardEmbedUrlRequest(input *GetDashboardEmbedUrlInpu // * ErrCodeThrottlingException "ThrottlingException" // Access is throttled. // -// * ErrCodePreconditionNotMetException "PreconditionNotMetException" -// One or more preconditions aren't met. -// -// * ErrCodeDomainNotWhitelistedException "DomainNotWhitelistedException" -// The domain specified is not on the allowlist. All domains for embedded dashboards -// must be added to the approved list by an Amazon QuickSight admin. -// -// * ErrCodeUserNotFoundException "QuickSightUserNotFoundException" -// The user is not found. This error can happen in any operation that requires -// finding a user based on a provided user name, such as DeleteUser, DescribeUser, -// and so on. -// -// * ErrCodeIdentityTypeNotSupportedException "IdentityTypeNotSupportedException" -// The identity type specified is not supported. Supported identity types include -// IAM and QUICKSIGHT. -// -// * ErrCodeSessionLifetimeInMinutesInvalidException "SessionLifetimeInMinutesInvalidException" -// The number of minutes specified for the lifetime of a session is not valid. -// The session lifetime must be from 15 to 600 minutes. +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit is exceeded. // // * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" // This error indicates that you are calling an operation on an Amazon QuickSight @@ -1009,315 +1053,298 @@ func (c *QuickSight) GetDashboardEmbedUrlRequest(input *GetDashboardEmbedUrlInpu // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // -// * ErrCodeResourceUnavailableException "ResourceUnavailableException" -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/GetDashboardEmbedUrl -func (c *QuickSight) GetDashboardEmbedUrl(input *GetDashboardEmbedUrlInput) (*GetDashboardEmbedUrlOutput, error) { - req, out := c.GetDashboardEmbedUrlRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateTemplate +func (c *QuickSight) CreateTemplate(input *CreateTemplateInput) (*CreateTemplateOutput, error) { + req, out := c.CreateTemplateRequest(input) return out, req.Send() } -// GetDashboardEmbedUrlWithContext is the same as GetDashboardEmbedUrl with the addition of +// CreateTemplateWithContext is the same as CreateTemplate with the addition of // the ability to pass a context and additional request options. // -// See GetDashboardEmbedUrl for details on how to use this API operation. +// See CreateTemplate 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 *QuickSight) GetDashboardEmbedUrlWithContext(ctx aws.Context, input *GetDashboardEmbedUrlInput, opts ...request.Option) (*GetDashboardEmbedUrlOutput, error) { - req, out := c.GetDashboardEmbedUrlRequest(input) +func (c *QuickSight) CreateTemplateWithContext(ctx aws.Context, input *CreateTemplateInput, opts ...request.Option) (*CreateTemplateOutput, error) { + req, out := c.CreateTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListGroupMemberships = "ListGroupMemberships" +const opCreateTemplateAlias = "CreateTemplateAlias" -// ListGroupMembershipsRequest generates a "aws/request.Request" representing the -// client's request for the ListGroupMemberships operation. The "output" return +// CreateTemplateAliasRequest generates a "aws/request.Request" representing the +// client's request for the CreateTemplateAlias 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 ListGroupMemberships for more information on using the ListGroupMemberships +// See CreateTemplateAlias for more information on using the CreateTemplateAlias // 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 ListGroupMembershipsRequest method. -// req, resp := client.ListGroupMembershipsRequest(params) +// // Example sending a request using the CreateTemplateAliasRequest method. +// req, resp := client.CreateTemplateAliasRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroupMemberships -func (c *QuickSight) ListGroupMembershipsRequest(input *ListGroupMembershipsInput) (req *request.Request, output *ListGroupMembershipsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateTemplateAlias +func (c *QuickSight) CreateTemplateAliasRequest(input *CreateTemplateAliasInput) (req *request.Request, output *CreateTemplateAliasOutput) { op := &request.Operation{ - Name: opListGroupMemberships, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members", + Name: opCreateTemplateAlias, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", } if input == nil { - input = &ListGroupMembershipsInput{} + input = &CreateTemplateAliasInput{} } - output = &ListGroupMembershipsOutput{} + output = &CreateTemplateAliasOutput{} req = c.newRequest(op, input, output) return } -// ListGroupMemberships API operation for Amazon QuickSight. -// -// Lists member users in a group. -// -// The permissions resource is arn:aws:quicksight:us-east-1::group/default/ . +// CreateTemplateAlias API operation for Amazon QuickSight. // -// The response is a list of group member objects. +// Creates a template alias for a template. // -// CLI Sample: +// CLI syntax: // -// aws quicksight list-group-memberships -\-aws-account-id=111122223333 -\-namespace=default +// aws quicksight create-template-alias --aws-account-id 111122223333 --template-id +// 'reports_test_template' --alias-name PROD —version-number 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 // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListGroupMemberships for usage and error information. +// API operation CreateTemplateAlias for usage and error information. // // Returned Error Codes: -// * ErrCodeAccessDeniedException "AccessDeniedException" -// You don't have access to this. The provided credentials couldn't be validated. -// You might not be authorized to carry out the request. Ensure that your account -// is authorized to use the Amazon QuickSight service, that your policies have -// the correct permissions, and that you are using the correct access keys. -// -// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" -// One or more parameters don't have a valid value. +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // One or more resources can't be found. // -// * ErrCodeThrottlingException "ThrottlingException" -// Access is throttled. +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. // -// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" -// The NextToken value isn't valid. +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. // -// * ErrCodePreconditionNotMetException "PreconditionNotMetException" -// One or more preconditions aren't met. +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit is exceeded. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // -// * ErrCodeResourceUnavailableException "ResourceUnavailableException" -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroupMemberships -func (c *QuickSight) ListGroupMemberships(input *ListGroupMembershipsInput) (*ListGroupMembershipsOutput, error) { - req, out := c.ListGroupMembershipsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateTemplateAlias +func (c *QuickSight) CreateTemplateAlias(input *CreateTemplateAliasInput) (*CreateTemplateAliasOutput, error) { + req, out := c.CreateTemplateAliasRequest(input) return out, req.Send() } -// ListGroupMembershipsWithContext is the same as ListGroupMemberships with the addition of +// CreateTemplateAliasWithContext is the same as CreateTemplateAlias with the addition of // the ability to pass a context and additional request options. // -// See ListGroupMemberships for details on how to use this API operation. +// See CreateTemplateAlias 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 *QuickSight) ListGroupMembershipsWithContext(ctx aws.Context, input *ListGroupMembershipsInput, opts ...request.Option) (*ListGroupMembershipsOutput, error) { - req, out := c.ListGroupMembershipsRequest(input) +func (c *QuickSight) CreateTemplateAliasWithContext(ctx aws.Context, input *CreateTemplateAliasInput, opts ...request.Option) (*CreateTemplateAliasOutput, error) { + req, out := c.CreateTemplateAliasRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListGroups = "ListGroups" +const opDeleteDashboard = "DeleteDashboard" -// ListGroupsRequest generates a "aws/request.Request" representing the -// client's request for the ListGroups operation. The "output" return +// DeleteDashboardRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDashboard 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 ListGroups for more information on using the ListGroups +// See DeleteDashboard for more information on using the DeleteDashboard // 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 ListGroupsRequest method. -// req, resp := client.ListGroupsRequest(params) +// // Example sending a request using the DeleteDashboardRequest method. +// req, resp := client.DeleteDashboardRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroups -func (c *QuickSight) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDashboard +func (c *QuickSight) DeleteDashboardRequest(input *DeleteDashboardInput) (req *request.Request, output *DeleteDashboardOutput) { op := &request.Operation{ - Name: opListGroups, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups", + Name: opDeleteDashboard, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", } if input == nil { - input = &ListGroupsInput{} + input = &DeleteDashboardInput{} } - output = &ListGroupsOutput{} + output = &DeleteDashboardOutput{} req = c.newRequest(op, input, output) return } -// ListGroups API operation for Amazon QuickSight. -// -// Lists all user groups in Amazon QuickSight. +// DeleteDashboard API operation for Amazon QuickSight. // -// The permissions resource is arn:aws:quicksight:us-east-1::group/default/*. +// Deletes a dashboard. // -// The response is a list of group objects. +// CLI syntax: // -// CLI Sample: +// aws quicksight delete-dashboard --aws-account-id 111122223333 —dashboard-id +// 123123123 // -// aws quicksight list-groups -\-aws-account-id=111122223333 -\-namespace=default +// aws quicksight delete-dashboard --aws-account-id 111122223333 —dashboard-id +// 123123123 —version-number 3 // // 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 QuickSight's -// API operation ListGroups for usage and error information. +// API operation DeleteDashboard for usage and error information. // // Returned Error Codes: -// * ErrCodeAccessDeniedException "AccessDeniedException" -// You don't have access to this. The provided credentials couldn't be validated. -// You might not be authorized to carry out the request. Ensure that your account -// is authorized to use the Amazon QuickSight service, that your policies have -// the correct permissions, and that you are using the correct access keys. +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One or more parameters don't have a valid value. // +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // One or more resources can't be found. // -// * ErrCodeThrottlingException "ThrottlingException" -// Access is throttled. -// -// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" -// The NextToken value isn't valid. -// -// * ErrCodePreconditionNotMetException "PreconditionNotMetException" -// One or more preconditions aren't met. +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // -// * ErrCodeResourceUnavailableException "ResourceUnavailableException" -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroups -func (c *QuickSight) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) { - req, out := c.ListGroupsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDashboard +func (c *QuickSight) DeleteDashboard(input *DeleteDashboardInput) (*DeleteDashboardOutput, error) { + req, out := c.DeleteDashboardRequest(input) return out, req.Send() } -// ListGroupsWithContext is the same as ListGroups with the addition of +// DeleteDashboardWithContext is the same as DeleteDashboard with the addition of // the ability to pass a context and additional request options. // -// See ListGroups for details on how to use this API operation. +// See DeleteDashboard 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 *QuickSight) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) { - req, out := c.ListGroupsRequest(input) +func (c *QuickSight) DeleteDashboardWithContext(ctx aws.Context, input *DeleteDashboardInput, opts ...request.Option) (*DeleteDashboardOutput, error) { + req, out := c.DeleteDashboardRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListUserGroups = "ListUserGroups" +const opDeleteDataSet = "DeleteDataSet" -// ListUserGroupsRequest generates a "aws/request.Request" representing the -// client's request for the ListUserGroups operation. The "output" return +// DeleteDataSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDataSet 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 ListUserGroups for more information on using the ListUserGroups +// See DeleteDataSet for more information on using the DeleteDataSet // 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 ListUserGroupsRequest method. -// req, resp := client.ListUserGroupsRequest(params) +// // Example sending a request using the DeleteDataSetRequest method. +// req, resp := client.DeleteDataSetRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUserGroups -func (c *QuickSight) ListUserGroupsRequest(input *ListUserGroupsInput) (req *request.Request, output *ListUserGroupsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDataSet +func (c *QuickSight) DeleteDataSetRequest(input *DeleteDataSetInput) (req *request.Request, output *DeleteDataSetOutput) { op := &request.Operation{ - Name: opListUserGroups, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/groups", + Name: opDeleteDataSet, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", } if input == nil { - input = &ListUserGroupsInput{} + input = &DeleteDataSetInput{} } - output = &ListUserGroupsOutput{} + output = &DeleteDataSetOutput{} req = c.newRequest(op, input, output) return } -// ListUserGroups API operation for Amazon QuickSight. +// DeleteDataSet API operation for Amazon QuickSight. // -// Lists the Amazon QuickSight groups that an Amazon QuickSight user is a member -// of. +// Deletes a dataset. // -// The permission resource is arn:aws:quicksight:us-east-1::user/default/ . +// CLI syntax: // -// The response is a one or more group objects. +// aws quicksight delete-data-set \ // -// CLI Sample: +// --aws-account-id=111111111111 \ // -// aws quicksight list-user-groups -\-user-name=Pat -\-aws-account-id=111122223333 -// -\-namespace=default -\-region=us-east-1 +// --data-set-id=unique-data-set-id // // 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 QuickSight's -// API operation ListUserGroups for usage and error information. +// API operation DeleteDataSet for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDeniedException "AccessDeniedException" @@ -1329,101 +1356,98 @@ func (c *QuickSight) ListUserGroupsRequest(input *ListUserGroupsInput) (req *req // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One or more parameters don't have a valid value. // -// * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// One or more resources can't be found. -// // * ErrCodeThrottlingException "ThrottlingException" // Access is throttled. // +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // -// * ErrCodeResourceUnavailableException "ResourceUnavailableException" -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUserGroups -func (c *QuickSight) ListUserGroups(input *ListUserGroupsInput) (*ListUserGroupsOutput, error) { - req, out := c.ListUserGroupsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDataSet +func (c *QuickSight) DeleteDataSet(input *DeleteDataSetInput) (*DeleteDataSetOutput, error) { + req, out := c.DeleteDataSetRequest(input) return out, req.Send() } -// ListUserGroupsWithContext is the same as ListUserGroups with the addition of +// DeleteDataSetWithContext is the same as DeleteDataSet with the addition of // the ability to pass a context and additional request options. // -// See ListUserGroups for details on how to use this API operation. +// See DeleteDataSet 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 *QuickSight) ListUserGroupsWithContext(ctx aws.Context, input *ListUserGroupsInput, opts ...request.Option) (*ListUserGroupsOutput, error) { - req, out := c.ListUserGroupsRequest(input) +func (c *QuickSight) DeleteDataSetWithContext(ctx aws.Context, input *DeleteDataSetInput, opts ...request.Option) (*DeleteDataSetOutput, error) { + req, out := c.DeleteDataSetRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListUsers = "ListUsers" +const opDeleteDataSource = "DeleteDataSource" -// ListUsersRequest generates a "aws/request.Request" representing the -// client's request for the ListUsers operation. The "output" return +// DeleteDataSourceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDataSource 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 ListUsers for more information on using the ListUsers +// See DeleteDataSource for more information on using the DeleteDataSource // 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 ListUsersRequest method. -// req, resp := client.ListUsersRequest(params) +// // Example sending a request using the DeleteDataSourceRequest method. +// req, resp := client.DeleteDataSourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUsers -func (c *QuickSight) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDataSource +func (c *QuickSight) DeleteDataSourceRequest(input *DeleteDataSourceInput) (req *request.Request, output *DeleteDataSourceOutput) { op := &request.Operation{ - Name: opListUsers, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users", + Name: opDeleteDataSource, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", } if input == nil { - input = &ListUsersInput{} + input = &DeleteDataSourceInput{} } - output = &ListUsersOutput{} + output = &DeleteDataSourceOutput{} req = c.newRequest(op, input, output) return } -// ListUsers API operation for Amazon QuickSight. +// DeleteDataSource API operation for Amazon QuickSight. // -// Returns a list of all of the Amazon QuickSight users belonging to this account. +// Deletes the data source permanently. This action breaks all the datasets +// that reference the deleted data source. // -// The permission resource is arn:aws:quicksight:us-east-1::user/default/* . +// CLI syntax: // -// The response is a list of user objects, containing each user's Amazon Resource -// Name (ARN), AWS Identity and Access Management (IAM) role, and email address. +// aws quicksight delete-data-source \ // -// CLI Sample: +// --aws-account-id=111122223333 \ // -// aws quicksight list-users --aws-account-id=111122223333 --namespace=default +// --data-source-id=unique-data-source-id // // 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 QuickSight's -// API operation ListUsers for usage and error information. +// API operation DeleteDataSource for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDeniedException "AccessDeniedException" @@ -1435,109 +1459,96 @@ func (c *QuickSight) ListUsersRequest(input *ListUsersInput) (req *request.Reque // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One or more parameters don't have a valid value. // -// * ErrCodeResourceNotFoundException "ResourceNotFoundException" -// One or more resources can't be found. -// // * ErrCodeThrottlingException "ThrottlingException" // Access is throttled. // -// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" -// The NextToken value isn't valid. +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. // // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // -// * ErrCodeResourceUnavailableException "ResourceUnavailableException" -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUsers -func (c *QuickSight) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) { - req, out := c.ListUsersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDataSource +func (c *QuickSight) DeleteDataSource(input *DeleteDataSourceInput) (*DeleteDataSourceOutput, error) { + req, out := c.DeleteDataSourceRequest(input) return out, req.Send() } -// ListUsersWithContext is the same as ListUsers with the addition of +// DeleteDataSourceWithContext is the same as DeleteDataSource with the addition of // the ability to pass a context and additional request options. // -// See ListUsers for details on how to use this API operation. +// See DeleteDataSource 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 *QuickSight) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) { - req, out := c.ListUsersRequest(input) +func (c *QuickSight) DeleteDataSourceWithContext(ctx aws.Context, input *DeleteDataSourceInput, opts ...request.Option) (*DeleteDataSourceOutput, error) { + req, out := c.DeleteDataSourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRegisterUser = "RegisterUser" +const opDeleteGroup = "DeleteGroup" -// RegisterUserRequest generates a "aws/request.Request" representing the -// client's request for the RegisterUser operation. The "output" return +// DeleteGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteGroup 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 RegisterUser for more information on using the RegisterUser +// See DeleteGroup for more information on using the DeleteGroup // 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 RegisterUserRequest method. -// req, resp := client.RegisterUserRequest(params) +// // Example sending a request using the DeleteGroupRequest method. +// req, resp := client.DeleteGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/RegisterUser -func (c *QuickSight) RegisterUserRequest(input *RegisterUserInput) (req *request.Request, output *RegisterUserOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroup +func (c *QuickSight) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) { op := &request.Operation{ - Name: opRegisterUser, - HTTPMethod: "POST", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users", + Name: opDeleteGroup, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", } if input == nil { - input = &RegisterUserInput{} + input = &DeleteGroupInput{} } - output = &RegisterUserOutput{} + output = &DeleteGroupOutput{} req = c.newRequest(op, input, output) return } -// RegisterUser API operation for Amazon QuickSight. -// -// Creates an Amazon QuickSight user, whose identity is associated with the -// AWS Identity and Access Management (IAM) identity or role specified in the -// request. -// -// The permission resource is arn:aws:quicksight:us-east-1::user/default/ . +// DeleteGroup API operation for Amazon QuickSight. // -// The condition resource is the Amazon Resource Name (ARN) for the IAM user -// or role, and the session name. +// Removes a user group from Amazon QuickSight. // -// The condition keys are quicksight:IamArn and quicksight:SessionName. +// The permissions resource is arn:aws:quicksight:us-east-1::group/default/ . // // CLI Sample: // -// aws quicksight register-user -\-aws-account-id=111122223333 -\-namespace=default -// -\-email=pat@example.com -\-identity-type=IAM -\-user-role=AUTHOR -\-iam-arn=arn:aws:iam::111122223333:user/Pat +// aws quicksight delete-group -\-aws-account-id=111122223333 -\-namespace=default +// -\-group-name=Sales-Management // // 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 QuickSight's -// API operation RegisterUser for usage and error information. +// API operation DeleteGroup for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDeniedException "AccessDeniedException" @@ -1555,12 +1566,6 @@ func (c *QuickSight) RegisterUserRequest(input *RegisterUserInput) (req *request // * ErrCodeThrottlingException "ThrottlingException" // Access is throttled. // -// * ErrCodeLimitExceededException "LimitExceededException" -// A limit is exceeded. -// -// * ErrCodeResourceExistsException "ResourceExistsException" -// The resource specified doesn't exist. -// // * ErrCodePreconditionNotMetException "PreconditionNotMetException" // One or more preconditions aren't met. // @@ -1570,89 +1575,92 @@ func (c *QuickSight) RegisterUserRequest(input *RegisterUserInput) (req *request // * ErrCodeResourceUnavailableException "ResourceUnavailableException" // This resource is currently unavailable. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/RegisterUser -func (c *QuickSight) RegisterUser(input *RegisterUserInput) (*RegisterUserOutput, error) { - req, out := c.RegisterUserRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroup +func (c *QuickSight) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) { + req, out := c.DeleteGroupRequest(input) return out, req.Send() } -// RegisterUserWithContext is the same as RegisterUser with the addition of +// DeleteGroupWithContext is the same as DeleteGroup with the addition of // the ability to pass a context and additional request options. // -// See RegisterUser for details on how to use this API operation. +// See DeleteGroup 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 *QuickSight) RegisterUserWithContext(ctx aws.Context, input *RegisterUserInput, opts ...request.Option) (*RegisterUserOutput, error) { - req, out := c.RegisterUserRequest(input) +func (c *QuickSight) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) { + req, out := c.DeleteGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateGroup = "UpdateGroup" +const opDeleteGroupMembership = "DeleteGroupMembership" -// UpdateGroupRequest generates a "aws/request.Request" representing the -// client's request for the UpdateGroup operation. The "output" return +// DeleteGroupMembershipRequest generates a "aws/request.Request" representing the +// client's request for the DeleteGroupMembership 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 UpdateGroup for more information on using the UpdateGroup +// See DeleteGroupMembership for more information on using the DeleteGroupMembership // 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 UpdateGroupRequest method. -// req, resp := client.UpdateGroupRequest(params) +// // Example sending a request using the DeleteGroupMembershipRequest method. +// req, resp := client.DeleteGroupMembershipRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateGroup -func (c *QuickSight) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroupMembership +func (c *QuickSight) DeleteGroupMembershipRequest(input *DeleteGroupMembershipInput) (req *request.Request, output *DeleteGroupMembershipOutput) { op := &request.Operation{ - Name: opUpdateGroup, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", + Name: opDeleteGroupMembership, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}", } if input == nil { - input = &UpdateGroupInput{} + input = &DeleteGroupMembershipInput{} } - output = &UpdateGroupOutput{} + output = &DeleteGroupMembershipOutput{} req = c.newRequest(op, input, output) return } -// UpdateGroup API operation for Amazon QuickSight. +// DeleteGroupMembership API operation for Amazon QuickSight. // -// Changes a group description. +// Removes a user from a group so that the user is no longer a member of the +// group. // // The permissions resource is arn:aws:quicksight:us-east-1::group/default/ . // -// The response is a group object. +// The condition resource is the user name. +// +// The condition key is quicksight:UserName. // // CLI Sample: // -// aws quicksight update-group --aws-account-id=111122223333 --namespace=default -// --group-name=Sales --description="Sales BI Dashboards" +// aws quicksight delete-group-membership --aws-account-id=111122223333 --namespace=default +// --group-name=Sales-Management --member-name=Charlie // // 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 QuickSight's -// API operation UpdateGroup for usage and error information. +// API operation DeleteGroupMembership for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDeniedException "AccessDeniedException" @@ -1679,91 +1687,85 @@ func (c *QuickSight) UpdateGroupRequest(input *UpdateGroupInput) (req *request.R // * ErrCodeResourceUnavailableException "ResourceUnavailableException" // This resource is currently unavailable. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateGroup -func (c *QuickSight) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) { - req, out := c.UpdateGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroupMembership +func (c *QuickSight) DeleteGroupMembership(input *DeleteGroupMembershipInput) (*DeleteGroupMembershipOutput, error) { + req, out := c.DeleteGroupMembershipRequest(input) return out, req.Send() } -// UpdateGroupWithContext is the same as UpdateGroup with the addition of +// DeleteGroupMembershipWithContext is the same as DeleteGroupMembership with the addition of // the ability to pass a context and additional request options. // -// See UpdateGroup for details on how to use this API operation. +// See DeleteGroupMembership 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 *QuickSight) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) { - req, out := c.UpdateGroupRequest(input) +func (c *QuickSight) DeleteGroupMembershipWithContext(ctx aws.Context, input *DeleteGroupMembershipInput, opts ...request.Option) (*DeleteGroupMembershipOutput, error) { + req, out := c.DeleteGroupMembershipRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateUser = "UpdateUser" +const opDeleteIAMPolicyAssignment = "DeleteIAMPolicyAssignment" -// UpdateUserRequest generates a "aws/request.Request" representing the -// client's request for the UpdateUser operation. The "output" return +// DeleteIAMPolicyAssignmentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIAMPolicyAssignment 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 UpdateUser for more information on using the UpdateUser +// See DeleteIAMPolicyAssignment for more information on using the DeleteIAMPolicyAssignment // 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 UpdateUserRequest method. -// req, resp := client.UpdateUserRequest(params) +// // Example sending a request using the DeleteIAMPolicyAssignmentRequest method. +// req, resp := client.DeleteIAMPolicyAssignmentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateUser -func (c *QuickSight) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteIAMPolicyAssignment +func (c *QuickSight) DeleteIAMPolicyAssignmentRequest(input *DeleteIAMPolicyAssignmentInput) (req *request.Request, output *DeleteIAMPolicyAssignmentOutput) { op := &request.Operation{ - Name: opUpdateUser, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", + Name: opDeleteIAMPolicyAssignment, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/namespace/{Namespace}/iam-policy-assignments/{AssignmentName}", } if input == nil { - input = &UpdateUserInput{} + input = &DeleteIAMPolicyAssignmentInput{} } - output = &UpdateUserOutput{} + output = &DeleteIAMPolicyAssignmentOutput{} req = c.newRequest(op, input, output) return } -// UpdateUser API operation for Amazon QuickSight. -// -// Updates an Amazon QuickSight user. -// -// The permission resource is arn:aws:quicksight:us-east-1::user/default/ . +// DeleteIAMPolicyAssignment API operation for Amazon QuickSight. // -// The response is a user object that contains the user's Amazon QuickSight -// user name, email address, active or inactive status in Amazon QuickSight, -// Amazon QuickSight role, and Amazon Resource Name (ARN). +// Deletes an existing assignment. // -// CLI Sample: +// CLI syntax: // -// aws quicksight update-user --user-name=Pat --role=ADMIN --email=new_address@amazon.com -// --aws-account-id=111122223333 --namespace=default --region=us-east-1 +// aws quicksight delete-iam-policy-assignment --aws-account-id=111122223333 +// --assignment-name=testtest --region=us-east-1 --namespace=default // // 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 QuickSight's -// API operation UpdateUser for usage and error information. +// API operation DeleteIAMPolicyAssignment for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDeniedException "AccessDeniedException" @@ -1775,355 +1777,18148 @@ func (c *QuickSight) UpdateUserRequest(input *UpdateUserInput) (req *request.Req // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One or more parameters don't have a valid value. // +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // One or more resources can't be found. // // * ErrCodeThrottlingException "ThrottlingException" // Access is throttled. // +// * ErrCodeConcurrentUpdatingException "ConcurrentUpdatingException" +// A resource is already in an "actionable" state that must complete before +// a new update can be applied. +// // * ErrCodeInternalFailureException "InternalFailureException" // An internal failure occurred. // -// * ErrCodeResourceUnavailableException "ResourceUnavailableException" -// This resource is currently unavailable. +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteIAMPolicyAssignment +func (c *QuickSight) DeleteIAMPolicyAssignment(input *DeleteIAMPolicyAssignmentInput) (*DeleteIAMPolicyAssignmentOutput, error) { + req, out := c.DeleteIAMPolicyAssignmentRequest(input) + return out, req.Send() +} + +// DeleteIAMPolicyAssignmentWithContext is the same as DeleteIAMPolicyAssignment with the addition of +// the ability to pass a context and additional request options. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateUser -func (c *QuickSight) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) { - req, out := c.UpdateUserRequest(input) +// See DeleteIAMPolicyAssignment 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 *QuickSight) DeleteIAMPolicyAssignmentWithContext(ctx aws.Context, input *DeleteIAMPolicyAssignmentInput, opts ...request.Option) (*DeleteIAMPolicyAssignmentOutput, error) { + req, out := c.DeleteIAMPolicyAssignmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) return out, req.Send() } -// UpdateUserWithContext is the same as UpdateUser with the addition of +const opDeleteTemplate = "DeleteTemplate" + +// DeleteTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTemplate 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 DeleteTemplate for more information on using the DeleteTemplate +// 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 DeleteTemplateRequest method. +// req, resp := client.DeleteTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTemplate +func (c *QuickSight) DeleteTemplateRequest(input *DeleteTemplateInput) (req *request.Request, output *DeleteTemplateOutput) { + op := &request.Operation{ + Name: opDeleteTemplate, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", + } + + if input == nil { + input = &DeleteTemplateInput{} + } + + output = &DeleteTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteTemplate API operation for Amazon QuickSight. +// +// Deletes a template. +// +// CLI syntax: +// +// * aws quicksight delete-template --aws-account-id 111122223333 —-template-id +// reports_test_template --version-number 2 +// +// * aws quicksight delete-template —aws-account-id 111122223333 —template-id +// reports_test_template —alias-name STAGING +// +// * aws quicksight delete-template —aws-account-id 111122223333 —template-id +// reports_test_template —alias-name ‘\$LATEST’ +// +// * aws quicksight delete-template --aws-account-id 111122223333 —-template-id +// reports_test_template +// +// If version number which is an optional field is not passed the template (including +// all the versions) is deleted by the API, if version number is provided, the +// specific template version is deleted by the API. +// +// Users can explicitly describe the latest version of the template by passing +// $LATEST to the alias-name parameter. $LATEST is an internally supported alias, +// which points to the latest version of the template. +// +// 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 QuickSight's +// API operation DeleteTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit is exceeded. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTemplate +func (c *QuickSight) DeleteTemplate(input *DeleteTemplateInput) (*DeleteTemplateOutput, error) { + req, out := c.DeleteTemplateRequest(input) + return out, req.Send() +} + +// DeleteTemplateWithContext is the same as DeleteTemplate with the addition of // the ability to pass a context and additional request options. // -// See UpdateUser for details on how to use this API operation. +// See DeleteTemplate 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 *QuickSight) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) { - req, out := c.UpdateUserRequest(input) +func (c *QuickSight) DeleteTemplateWithContext(ctx aws.Context, input *DeleteTemplateInput, opts ...request.Option) (*DeleteTemplateOutput, error) { + req, out := c.DeleteTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// The request object for this operation. -type CreateGroupInput struct { - _ struct{} `type:"structure"` +const opDeleteTemplateAlias = "DeleteTemplateAlias" - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` +// DeleteTemplateAliasRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTemplateAlias 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 DeleteTemplateAlias for more information on using the DeleteTemplateAlias +// 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 DeleteTemplateAliasRequest method. +// req, resp := client.DeleteTemplateAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTemplateAlias +func (c *QuickSight) DeleteTemplateAliasRequest(input *DeleteTemplateAliasInput) (req *request.Request, output *DeleteTemplateAliasOutput) { + op := &request.Operation{ + Name: opDeleteTemplateAlias, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", + } - // A description for the group that you want to create. - Description *string `min:"1" type:"string"` + if input == nil { + input = &DeleteTemplateAliasInput{} + } - // A name for the group that you want to create. - // - // GroupName is a required field - GroupName *string `min:"1" type:"string" required:"true"` + output = &DeleteTemplateAliasOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteTemplateAlias API operation for Amazon QuickSight. +// +// Update template alias of given template. +// +// CLI syntax: +// +// aws quicksight delete-template-alias --aws-account-id 111122223333 --template-id +// 'reports_test_template' --alias-name 'STAGING' +// +// 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 QuickSight's +// API operation DeleteTemplateAlias for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTemplateAlias +func (c *QuickSight) DeleteTemplateAlias(input *DeleteTemplateAliasInput) (*DeleteTemplateAliasOutput, error) { + req, out := c.DeleteTemplateAliasRequest(input) + return out, req.Send() +} + +// DeleteTemplateAliasWithContext is the same as DeleteTemplateAlias with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTemplateAlias 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 *QuickSight) DeleteTemplateAliasWithContext(ctx aws.Context, input *DeleteTemplateAliasInput, opts ...request.Option) (*DeleteTemplateAliasOutput, error) { + req, out := c.DeleteTemplateAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteUser = "DeleteUser" + +// DeleteUserRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUser 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 DeleteUser for more information on using the DeleteUser +// 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 DeleteUserRequest method. +// req, resp := client.DeleteUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUser +func (c *QuickSight) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) { + op := &request.Operation{ + Name: opDeleteUser, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", + } + + if input == nil { + input = &DeleteUserInput{} + } + + output = &DeleteUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteUser API operation for Amazon QuickSight. +// +// Deletes the Amazon QuickSight user that is associated with the identity of +// the AWS Identity and Access Management (IAM) user or role that's making the +// call. The IAM user isn't deleted as a result of this call. +// +// CLI Sample: +// +// aws quicksight delete-user --aws-account-id=111122223333 --namespace=default +// --user-name=Pat +// +// 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 QuickSight's +// API operation DeleteUser for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUser +func (c *QuickSight) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { + req, out := c.DeleteUserRequest(input) + return out, req.Send() +} + +// DeleteUserWithContext is the same as DeleteUser with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteUser 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 *QuickSight) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) { + req, out := c.DeleteUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteUserByPrincipalId = "DeleteUserByPrincipalId" + +// DeleteUserByPrincipalIdRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUserByPrincipalId 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 DeleteUserByPrincipalId for more information on using the DeleteUserByPrincipalId +// 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 DeleteUserByPrincipalIdRequest method. +// req, resp := client.DeleteUserByPrincipalIdRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUserByPrincipalId +func (c *QuickSight) DeleteUserByPrincipalIdRequest(input *DeleteUserByPrincipalIdInput) (req *request.Request, output *DeleteUserByPrincipalIdOutput) { + op := &request.Operation{ + Name: opDeleteUserByPrincipalId, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/user-principals/{PrincipalId}", + } + + if input == nil { + input = &DeleteUserByPrincipalIdInput{} + } + + output = &DeleteUserByPrincipalIdOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteUserByPrincipalId API operation for Amazon QuickSight. +// +// Deletes a user identified by its principal ID. +// +// CLI Sample: +// +// aws quicksight delete-user-by-principal-id --aws-account-id=111122223333 +// --namespace=default --principal-id=ABCDEFJA26JLI7EUUOEHS +// +// 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 QuickSight's +// API operation DeleteUserByPrincipalId for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUserByPrincipalId +func (c *QuickSight) DeleteUserByPrincipalId(input *DeleteUserByPrincipalIdInput) (*DeleteUserByPrincipalIdOutput, error) { + req, out := c.DeleteUserByPrincipalIdRequest(input) + return out, req.Send() +} + +// DeleteUserByPrincipalIdWithContext is the same as DeleteUserByPrincipalId with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteUserByPrincipalId 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 *QuickSight) DeleteUserByPrincipalIdWithContext(ctx aws.Context, input *DeleteUserByPrincipalIdInput, opts ...request.Option) (*DeleteUserByPrincipalIdOutput, error) { + req, out := c.DeleteUserByPrincipalIdRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDashboard = "DescribeDashboard" + +// DescribeDashboardRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDashboard 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 DescribeDashboard for more information on using the DescribeDashboard +// 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 DescribeDashboardRequest method. +// req, resp := client.DescribeDashboardRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboard +func (c *QuickSight) DescribeDashboardRequest(input *DescribeDashboardInput) (req *request.Request, output *DescribeDashboardOutput) { + op := &request.Operation{ + Name: opDescribeDashboard, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", + } + + if input == nil { + input = &DescribeDashboardInput{} + } + + output = &DescribeDashboardOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDashboard API operation for Amazon QuickSight. +// +// Provides a summary for a dashboard. +// +// CLI syntax: +// +// * aws quicksight describe-dashboard --aws-account-id 111122223333 —dashboard-id +// reports_test_report -version-number 2 +// +// * aws quicksight describe-dashboard --aws-account-id 111122223333 —dashboard-id +// reports_test_report -alias-name ‘$PUBLISHED’ +// +// 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 QuickSight's +// API operation DescribeDashboard for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboard +func (c *QuickSight) DescribeDashboard(input *DescribeDashboardInput) (*DescribeDashboardOutput, error) { + req, out := c.DescribeDashboardRequest(input) + return out, req.Send() +} + +// DescribeDashboardWithContext is the same as DescribeDashboard with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDashboard 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 *QuickSight) DescribeDashboardWithContext(ctx aws.Context, input *DescribeDashboardInput, opts ...request.Option) (*DescribeDashboardOutput, error) { + req, out := c.DescribeDashboardRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDashboardPermissions = "DescribeDashboardPermissions" + +// DescribeDashboardPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDashboardPermissions 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 DescribeDashboardPermissions for more information on using the DescribeDashboardPermissions +// 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 DescribeDashboardPermissionsRequest method. +// req, resp := client.DescribeDashboardPermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboardPermissions +func (c *QuickSight) DescribeDashboardPermissionsRequest(input *DescribeDashboardPermissionsInput) (req *request.Request, output *DescribeDashboardPermissionsOutput) { + op := &request.Operation{ + Name: opDescribeDashboardPermissions, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions", + } + + if input == nil { + input = &DescribeDashboardPermissionsInput{} + } + + output = &DescribeDashboardPermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDashboardPermissions API operation for Amazon QuickSight. +// +// Describes read and write permissions on a dashboard. +// +// CLI syntax: +// +// aws quicksight describe-dashboard-permissions --aws-account-id 735340738645 +// —dashboard-id reports_test_bob_report +// +// 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 QuickSight's +// API operation DescribeDashboardPermissions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboardPermissions +func (c *QuickSight) DescribeDashboardPermissions(input *DescribeDashboardPermissionsInput) (*DescribeDashboardPermissionsOutput, error) { + req, out := c.DescribeDashboardPermissionsRequest(input) + return out, req.Send() +} + +// DescribeDashboardPermissionsWithContext is the same as DescribeDashboardPermissions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDashboardPermissions 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 *QuickSight) DescribeDashboardPermissionsWithContext(ctx aws.Context, input *DescribeDashboardPermissionsInput, opts ...request.Option) (*DescribeDashboardPermissionsOutput, error) { + req, out := c.DescribeDashboardPermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDataSet = "DescribeDataSet" + +// DescribeDataSetRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDataSet 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 DescribeDataSet for more information on using the DescribeDataSet +// 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 DescribeDataSetRequest method. +// req, resp := client.DescribeDataSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSet +func (c *QuickSight) DescribeDataSetRequest(input *DescribeDataSetInput) (req *request.Request, output *DescribeDataSetOutput) { + op := &request.Operation{ + Name: opDescribeDataSet, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", + } + + if input == nil { + input = &DescribeDataSetInput{} + } + + output = &DescribeDataSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDataSet API operation for Amazon QuickSight. +// +// Describes a dataset. +// +// CLI syntax: +// +// aws quicksight describe-data-set \ +// +// --aws-account-id=111111111111 \ +// +// --data-set-id=unique-data-set-id +// +// 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 QuickSight's +// API operation DescribeDataSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSet +func (c *QuickSight) DescribeDataSet(input *DescribeDataSetInput) (*DescribeDataSetOutput, error) { + req, out := c.DescribeDataSetRequest(input) + return out, req.Send() +} + +// DescribeDataSetWithContext is the same as DescribeDataSet with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDataSet 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 *QuickSight) DescribeDataSetWithContext(ctx aws.Context, input *DescribeDataSetInput, opts ...request.Option) (*DescribeDataSetOutput, error) { + req, out := c.DescribeDataSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDataSetPermissions = "DescribeDataSetPermissions" + +// DescribeDataSetPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDataSetPermissions 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 DescribeDataSetPermissions for more information on using the DescribeDataSetPermissions +// 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 DescribeDataSetPermissionsRequest method. +// req, resp := client.DescribeDataSetPermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSetPermissions +func (c *QuickSight) DescribeDataSetPermissionsRequest(input *DescribeDataSetPermissionsInput) (req *request.Request, output *DescribeDataSetPermissionsOutput) { + op := &request.Operation{ + Name: opDescribeDataSetPermissions, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions", + } + + if input == nil { + input = &DescribeDataSetPermissionsInput{} + } + + output = &DescribeDataSetPermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDataSetPermissions API operation for Amazon QuickSight. +// +// Describes the permissions on a dataset. +// +// The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/data-set-id +// +// CLI syntax: +// +// aws quicksight describe-data-set-permissions \ +// +// --aws-account-id=111122223333 \ +// +// --data-set-id=unique-data-set-id \ +// +// 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 QuickSight's +// API operation DescribeDataSetPermissions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSetPermissions +func (c *QuickSight) DescribeDataSetPermissions(input *DescribeDataSetPermissionsInput) (*DescribeDataSetPermissionsOutput, error) { + req, out := c.DescribeDataSetPermissionsRequest(input) + return out, req.Send() +} + +// DescribeDataSetPermissionsWithContext is the same as DescribeDataSetPermissions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDataSetPermissions 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 *QuickSight) DescribeDataSetPermissionsWithContext(ctx aws.Context, input *DescribeDataSetPermissionsInput, opts ...request.Option) (*DescribeDataSetPermissionsOutput, error) { + req, out := c.DescribeDataSetPermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDataSource = "DescribeDataSource" + +// DescribeDataSourceRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDataSource 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 DescribeDataSource for more information on using the DescribeDataSource +// 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 DescribeDataSourceRequest method. +// req, resp := client.DescribeDataSourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSource +func (c *QuickSight) DescribeDataSourceRequest(input *DescribeDataSourceInput) (req *request.Request, output *DescribeDataSourceOutput) { + op := &request.Operation{ + Name: opDescribeDataSource, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", + } + + if input == nil { + input = &DescribeDataSourceInput{} + } + + output = &DescribeDataSourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDataSource API operation for Amazon QuickSight. +// +// Describes a data source. +// +// The permissions resource is arn:aws:quicksight:region:aws-account-id:datasource/data-source-id +// +// 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 QuickSight's +// API operation DescribeDataSource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSource +func (c *QuickSight) DescribeDataSource(input *DescribeDataSourceInput) (*DescribeDataSourceOutput, error) { + req, out := c.DescribeDataSourceRequest(input) + return out, req.Send() +} + +// DescribeDataSourceWithContext is the same as DescribeDataSource with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDataSource 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 *QuickSight) DescribeDataSourceWithContext(ctx aws.Context, input *DescribeDataSourceInput, opts ...request.Option) (*DescribeDataSourceOutput, error) { + req, out := c.DescribeDataSourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDataSourcePermissions = "DescribeDataSourcePermissions" + +// DescribeDataSourcePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDataSourcePermissions 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 DescribeDataSourcePermissions for more information on using the DescribeDataSourcePermissions +// 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 DescribeDataSourcePermissionsRequest method. +// req, resp := client.DescribeDataSourcePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSourcePermissions +func (c *QuickSight) DescribeDataSourcePermissionsRequest(input *DescribeDataSourcePermissionsInput) (req *request.Request, output *DescribeDataSourcePermissionsOutput) { + op := &request.Operation{ + Name: opDescribeDataSourcePermissions, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions", + } + + if input == nil { + input = &DescribeDataSourcePermissionsInput{} + } + + output = &DescribeDataSourcePermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDataSourcePermissions API operation for Amazon QuickSight. +// +// Describes the resource permissions for a data source. +// +// The permissions resource is aws:quicksight:region:aws-account-id:datasource/data-source-id +// +// 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 QuickSight's +// API operation DescribeDataSourcePermissions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSourcePermissions +func (c *QuickSight) DescribeDataSourcePermissions(input *DescribeDataSourcePermissionsInput) (*DescribeDataSourcePermissionsOutput, error) { + req, out := c.DescribeDataSourcePermissionsRequest(input) + return out, req.Send() +} + +// DescribeDataSourcePermissionsWithContext is the same as DescribeDataSourcePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDataSourcePermissions 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 *QuickSight) DescribeDataSourcePermissionsWithContext(ctx aws.Context, input *DescribeDataSourcePermissionsInput, opts ...request.Option) (*DescribeDataSourcePermissionsOutput, error) { + req, out := c.DescribeDataSourcePermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeGroup = "DescribeGroup" + +// DescribeGroupRequest generates a "aws/request.Request" representing the +// client's request for the DescribeGroup 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 DescribeGroup for more information on using the DescribeGroup +// 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 DescribeGroupRequest method. +// req, resp := client.DescribeGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeGroup +func (c *QuickSight) DescribeGroupRequest(input *DescribeGroupInput) (req *request.Request, output *DescribeGroupOutput) { + op := &request.Operation{ + Name: opDescribeGroup, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", + } + + if input == nil { + input = &DescribeGroupInput{} + } + + output = &DescribeGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeGroup API operation for Amazon QuickSight. +// +// Returns an Amazon QuickSight group's description and Amazon Resource Name +// (ARN). +// +// The permissions resource is arn:aws:quicksight:us-east-1::group/default/ . +// +// The response is the group object. +// +// CLI Sample: +// +// aws quicksight describe-group -\-aws-account-id=11112222333 -\-namespace=default +// -\-group-name=Sales +// +// 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 QuickSight's +// API operation DescribeGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodePreconditionNotMetException "PreconditionNotMetException" +// One or more preconditions aren't met. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeGroup +func (c *QuickSight) DescribeGroup(input *DescribeGroupInput) (*DescribeGroupOutput, error) { + req, out := c.DescribeGroupRequest(input) + return out, req.Send() +} + +// DescribeGroupWithContext is the same as DescribeGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeGroup 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 *QuickSight) DescribeGroupWithContext(ctx aws.Context, input *DescribeGroupInput, opts ...request.Option) (*DescribeGroupOutput, error) { + req, out := c.DescribeGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeIAMPolicyAssignment = "DescribeIAMPolicyAssignment" + +// DescribeIAMPolicyAssignmentRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIAMPolicyAssignment 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 DescribeIAMPolicyAssignment for more information on using the DescribeIAMPolicyAssignment +// 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 DescribeIAMPolicyAssignmentRequest method. +// req, resp := client.DescribeIAMPolicyAssignmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeIAMPolicyAssignment +func (c *QuickSight) DescribeIAMPolicyAssignmentRequest(input *DescribeIAMPolicyAssignmentInput) (req *request.Request, output *DescribeIAMPolicyAssignmentOutput) { + op := &request.Operation{ + Name: opDescribeIAMPolicyAssignment, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}", + } + + if input == nil { + input = &DescribeIAMPolicyAssignmentInput{} + } + + output = &DescribeIAMPolicyAssignmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeIAMPolicyAssignment API operation for Amazon QuickSight. +// +// Describes an existing IAMPolicy Assignment by specified assignment name. +// +// CLI syntax: +// +// aws quicksight describe-iam-policy-assignment --aws-account-id=111122223333 +// --assignment-name=testtest --namespace=default --region=us-east-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 +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation DescribeIAMPolicyAssignment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The NextToken value isn't valid. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeIAMPolicyAssignment +func (c *QuickSight) DescribeIAMPolicyAssignment(input *DescribeIAMPolicyAssignmentInput) (*DescribeIAMPolicyAssignmentOutput, error) { + req, out := c.DescribeIAMPolicyAssignmentRequest(input) + return out, req.Send() +} + +// DescribeIAMPolicyAssignmentWithContext is the same as DescribeIAMPolicyAssignment with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeIAMPolicyAssignment 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 *QuickSight) DescribeIAMPolicyAssignmentWithContext(ctx aws.Context, input *DescribeIAMPolicyAssignmentInput, opts ...request.Option) (*DescribeIAMPolicyAssignmentOutput, error) { + req, out := c.DescribeIAMPolicyAssignmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeIngestion = "DescribeIngestion" + +// DescribeIngestionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIngestion 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 DescribeIngestion for more information on using the DescribeIngestion +// 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 DescribeIngestionRequest method. +// req, resp := client.DescribeIngestionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeIngestion +func (c *QuickSight) DescribeIngestionRequest(input *DescribeIngestionInput) (req *request.Request, output *DescribeIngestionOutput) { + op := &request.Operation{ + Name: opDescribeIngestion, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}", + } + + if input == nil { + input = &DescribeIngestionInput{} + } + + output = &DescribeIngestionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeIngestion API operation for Amazon QuickSight. +// +// Describes a SPICE ingestion. +// +// 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 QuickSight's +// API operation DescribeIngestion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeIngestion +func (c *QuickSight) DescribeIngestion(input *DescribeIngestionInput) (*DescribeIngestionOutput, error) { + req, out := c.DescribeIngestionRequest(input) + return out, req.Send() +} + +// DescribeIngestionWithContext is the same as DescribeIngestion with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeIngestion 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 *QuickSight) DescribeIngestionWithContext(ctx aws.Context, input *DescribeIngestionInput, opts ...request.Option) (*DescribeIngestionOutput, error) { + req, out := c.DescribeIngestionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeTemplate = "DescribeTemplate" + +// DescribeTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTemplate 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 DescribeTemplate for more information on using the DescribeTemplate +// 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 DescribeTemplateRequest method. +// req, resp := client.DescribeTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplate +func (c *QuickSight) DescribeTemplateRequest(input *DescribeTemplateInput) (req *request.Request, output *DescribeTemplateOutput) { + op := &request.Operation{ + Name: opDescribeTemplate, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", + } + + if input == nil { + input = &DescribeTemplateInput{} + } + + output = &DescribeTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeTemplate API operation for Amazon QuickSight. +// +// Describes a template's metadata. +// +// CLI syntax: +// +// aws quicksight describe-template --aws-account-id 111122223333 --template-id +// reports_test_template +// +// aws quicksight describe-template --aws-account-id 111122223333 --template-id +// reports_test_template --version-number-2 +// +// aws quicksight describe-template --aws-account-id 111122223333 --template-id +// reports_test_template --alias-name '\$LATEST' +// +// Users can explicitly describe the latest version of the dashboard by passing +// $LATEST to the alias-name parameter. $LATEST is an internally supported alias, +// which points to the latest version of the dashboard. +// +// 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 QuickSight's +// API operation DescribeTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplate +func (c *QuickSight) DescribeTemplate(input *DescribeTemplateInput) (*DescribeTemplateOutput, error) { + req, out := c.DescribeTemplateRequest(input) + return out, req.Send() +} + +// DescribeTemplateWithContext is the same as DescribeTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeTemplate 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 *QuickSight) DescribeTemplateWithContext(ctx aws.Context, input *DescribeTemplateInput, opts ...request.Option) (*DescribeTemplateOutput, error) { + req, out := c.DescribeTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeTemplateAlias = "DescribeTemplateAlias" + +// DescribeTemplateAliasRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTemplateAlias 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 DescribeTemplateAlias for more information on using the DescribeTemplateAlias +// 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 DescribeTemplateAliasRequest method. +// req, resp := client.DescribeTemplateAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplateAlias +func (c *QuickSight) DescribeTemplateAliasRequest(input *DescribeTemplateAliasInput) (req *request.Request, output *DescribeTemplateAliasOutput) { + op := &request.Operation{ + Name: opDescribeTemplateAlias, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", + } + + if input == nil { + input = &DescribeTemplateAliasInput{} + } + + output = &DescribeTemplateAliasOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeTemplateAlias API operation for Amazon QuickSight. +// +// Describes the template aliases of a template. +// +// CLI syntax: +// +// aws quicksight describe-template-alias --aws-account-id 111122223333 --template-id +// 'reports_test_template' --alias-name 'STAGING' +// +// 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 QuickSight's +// API operation DescribeTemplateAlias for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplateAlias +func (c *QuickSight) DescribeTemplateAlias(input *DescribeTemplateAliasInput) (*DescribeTemplateAliasOutput, error) { + req, out := c.DescribeTemplateAliasRequest(input) + return out, req.Send() +} + +// DescribeTemplateAliasWithContext is the same as DescribeTemplateAlias with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeTemplateAlias 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 *QuickSight) DescribeTemplateAliasWithContext(ctx aws.Context, input *DescribeTemplateAliasInput, opts ...request.Option) (*DescribeTemplateAliasOutput, error) { + req, out := c.DescribeTemplateAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeTemplatePermissions = "DescribeTemplatePermissions" + +// DescribeTemplatePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTemplatePermissions 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 DescribeTemplatePermissions for more information on using the DescribeTemplatePermissions +// 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 DescribeTemplatePermissionsRequest method. +// req, resp := client.DescribeTemplatePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplatePermissions +func (c *QuickSight) DescribeTemplatePermissionsRequest(input *DescribeTemplatePermissionsInput) (req *request.Request, output *DescribeTemplatePermissionsOutput) { + op := &request.Operation{ + Name: opDescribeTemplatePermissions, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/permissions", + } + + if input == nil { + input = &DescribeTemplatePermissionsInput{} + } + + output = &DescribeTemplatePermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeTemplatePermissions API operation for Amazon QuickSight. +// +// Describes read and write permissions on a template. +// +// CLI syntax: +// +// aws quicksight describe-template-permissions —aws-account-id 735340738645 +// —template-id reports_test_template +// +// 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 QuickSight's +// API operation DescribeTemplatePermissions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplatePermissions +func (c *QuickSight) DescribeTemplatePermissions(input *DescribeTemplatePermissionsInput) (*DescribeTemplatePermissionsOutput, error) { + req, out := c.DescribeTemplatePermissionsRequest(input) + return out, req.Send() +} + +// DescribeTemplatePermissionsWithContext is the same as DescribeTemplatePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeTemplatePermissions 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 *QuickSight) DescribeTemplatePermissionsWithContext(ctx aws.Context, input *DescribeTemplatePermissionsInput, opts ...request.Option) (*DescribeTemplatePermissionsOutput, error) { + req, out := c.DescribeTemplatePermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeUser = "DescribeUser" + +// DescribeUserRequest generates a "aws/request.Request" representing the +// client's request for the DescribeUser 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 DescribeUser for more information on using the DescribeUser +// 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 DescribeUserRequest method. +// req, resp := client.DescribeUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeUser +func (c *QuickSight) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserOutput) { + op := &request.Operation{ + Name: opDescribeUser, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", + } + + if input == nil { + input = &DescribeUserInput{} + } + + output = &DescribeUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeUser API operation for Amazon QuickSight. +// +// Returns information about a user, given the user name. +// +// The response is a user object that contains the user's Amazon Resource Name +// (ARN), AWS Identity and Access Management (IAM) role, and email address. +// +// CLI Sample: +// +// aws quicksight describe-user --aws-account-id=111122223333 --namespace=default +// --user-name=Pat +// +// 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 QuickSight's +// API operation DescribeUser for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeUser +func (c *QuickSight) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) { + req, out := c.DescribeUserRequest(input) + return out, req.Send() +} + +// DescribeUserWithContext is the same as DescribeUser with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeUser 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 *QuickSight) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserOutput, error) { + req, out := c.DescribeUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDashboardEmbedUrl = "GetDashboardEmbedUrl" + +// GetDashboardEmbedUrlRequest generates a "aws/request.Request" representing the +// client's request for the GetDashboardEmbedUrl 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 GetDashboardEmbedUrl for more information on using the GetDashboardEmbedUrl +// 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 GetDashboardEmbedUrlRequest method. +// req, resp := client.GetDashboardEmbedUrlRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/GetDashboardEmbedUrl +func (c *QuickSight) GetDashboardEmbedUrlRequest(input *GetDashboardEmbedUrlInput) (req *request.Request, output *GetDashboardEmbedUrlOutput) { + op := &request.Operation{ + Name: opGetDashboardEmbedUrl, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/embed-url", + } + + if input == nil { + input = &GetDashboardEmbedUrlInput{} + } + + output = &GetDashboardEmbedUrlOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDashboardEmbedUrl API operation for Amazon QuickSight. +// +// Generates a server-side embeddable URL and authorization code. Before this +// can work properly, first you need to configure the dashboards and user permissions. +// For more information, see Embedding Amazon QuickSight Dashboards (https://docs.aws.example.com/en_us/quicksight/latest/user/embedding.html). +// +// Currently, you can use GetDashboardEmbedURL only from the server, not from +// the user’s browser. +// +// CLI Sample: +// +// Assume the role with permissions enabled for actions: quickSight:RegisterUser +// and quicksight:GetDashboardEmbedURL. You can use assume-role, assume-role-with-web-identity, +// or assume-role-with-saml. +// +// aws sts assume-role --role-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" +// --role-session-name embeddingsession +// +// If the user does not exist in QuickSight, register the user: +// +// aws quicksight register-user --aws-account-id 111122223333 --namespace default +// --identity-type IAM --iam-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" +// --user-role READER --session-name "embeddingsession" --email user123@example.com +// --region us-east-1 +// +// Get the URL for the embedded dashboard (IAM identity authentication): +// +// aws quicksight get-dashboard-embed-url --aws-account-id 111122223333 --dashboard-id +// 1a1ac2b2-3fc3-4b44-5e5d-c6db6778df89 --identity-type IAM +// +// Get the URL for the embedded dashboard (QUICKSIGHT identity authentication): +// +// aws quicksight get-dashboard-embed-url --aws-account-id 111122223333 --dashboard-id +// 1a1ac2b2-3fc3-4b44-5e5d-c6db6778df89 --identity-type QUICKSIGHT --user-arn +// arn:aws:quicksight:us-east-1:111122223333:user/default/embedding_quicksight_dashboard_role/embeddingsession +// +// 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 QuickSight's +// API operation GetDashboardEmbedUrl for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeDomainNotWhitelistedException "DomainNotWhitelistedException" +// The domain specified is not on the allowlist. All domains for embedded dashboards +// must be added to the approved list by an Amazon QuickSight admin. +// +// * ErrCodeUserNotFoundException "QuickSightUserNotFoundException" +// The user is not found. This error can happen in any operation that requires +// finding a user based on a provided user name, such as DeleteUser, DescribeUser, +// and so on. +// +// * ErrCodeIdentityTypeNotSupportedException "IdentityTypeNotSupportedException" +// The identity type specified is not supported. Supported identity types include +// IAM and QUICKSIGHT. +// +// * ErrCodeSessionLifetimeInMinutesInvalidException "SessionLifetimeInMinutesInvalidException" +// The number of minutes specified for the lifetime of a session is not valid. +// The session lifetime must be from 15 to 600 minutes. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/GetDashboardEmbedUrl +func (c *QuickSight) GetDashboardEmbedUrl(input *GetDashboardEmbedUrlInput) (*GetDashboardEmbedUrlOutput, error) { + req, out := c.GetDashboardEmbedUrlRequest(input) + return out, req.Send() +} + +// GetDashboardEmbedUrlWithContext is the same as GetDashboardEmbedUrl with the addition of +// the ability to pass a context and additional request options. +// +// See GetDashboardEmbedUrl 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 *QuickSight) GetDashboardEmbedUrlWithContext(ctx aws.Context, input *GetDashboardEmbedUrlInput, opts ...request.Option) (*GetDashboardEmbedUrlOutput, error) { + req, out := c.GetDashboardEmbedUrlRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListDashboardVersions = "ListDashboardVersions" + +// ListDashboardVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListDashboardVersions 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 ListDashboardVersions for more information on using the ListDashboardVersions +// 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 ListDashboardVersionsRequest method. +// req, resp := client.ListDashboardVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboardVersions +func (c *QuickSight) ListDashboardVersionsRequest(input *ListDashboardVersionsInput) (req *request.Request, output *ListDashboardVersionsOutput) { + op := &request.Operation{ + Name: opListDashboardVersions, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDashboardVersionsInput{} + } + + output = &ListDashboardVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDashboardVersions API operation for Amazon QuickSight. +// +// Lists all the versions of the dashboards in the Quicksight subscription. +// +// CLI syntax: +// +// aws quicksight list-template-versions —aws-account-id 111122223333 —template-id +// reports-test-template +// +// 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 QuickSight's +// API operation ListDashboardVersions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The NextToken value isn't valid. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboardVersions +func (c *QuickSight) ListDashboardVersions(input *ListDashboardVersionsInput) (*ListDashboardVersionsOutput, error) { + req, out := c.ListDashboardVersionsRequest(input) + return out, req.Send() +} + +// ListDashboardVersionsWithContext is the same as ListDashboardVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListDashboardVersions 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 *QuickSight) ListDashboardVersionsWithContext(ctx aws.Context, input *ListDashboardVersionsInput, opts ...request.Option) (*ListDashboardVersionsOutput, error) { + req, out := c.ListDashboardVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDashboardVersionsPages iterates over the pages of a ListDashboardVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDashboardVersions 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 ListDashboardVersions operation. +// pageNum := 0 +// err := client.ListDashboardVersionsPages(params, +// func(page *quicksight.ListDashboardVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListDashboardVersionsPages(input *ListDashboardVersionsInput, fn func(*ListDashboardVersionsOutput, bool) bool) error { + return c.ListDashboardVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDashboardVersionsPagesWithContext same as ListDashboardVersionsPages 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 *QuickSight) ListDashboardVersionsPagesWithContext(ctx aws.Context, input *ListDashboardVersionsInput, fn func(*ListDashboardVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDashboardVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDashboardVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDashboardVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDashboards = "ListDashboards" + +// ListDashboardsRequest generates a "aws/request.Request" representing the +// client's request for the ListDashboards 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 ListDashboards for more information on using the ListDashboards +// 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 ListDashboardsRequest method. +// req, resp := client.ListDashboardsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboards +func (c *QuickSight) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) { + op := &request.Operation{ + Name: opListDashboards, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/dashboards", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDashboardsInput{} + } + + output = &ListDashboardsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDashboards API operation for Amazon QuickSight. +// +// Lists dashboards in the AWS account. +// +// CLI syntax: +// +// aws quicksight list-dashboards --aws-account-id 111122223333 --max-results +// 5 —next-token 'next-10' +// +// 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 QuickSight's +// API operation ListDashboards for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The NextToken value isn't valid. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboards +func (c *QuickSight) ListDashboards(input *ListDashboardsInput) (*ListDashboardsOutput, error) { + req, out := c.ListDashboardsRequest(input) + return out, req.Send() +} + +// ListDashboardsWithContext is the same as ListDashboards with the addition of +// the ability to pass a context and additional request options. +// +// See ListDashboards 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 *QuickSight) ListDashboardsWithContext(ctx aws.Context, input *ListDashboardsInput, opts ...request.Option) (*ListDashboardsOutput, error) { + req, out := c.ListDashboardsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDashboardsPages iterates over the pages of a ListDashboards operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDashboards 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 ListDashboards operation. +// pageNum := 0 +// err := client.ListDashboardsPages(params, +// func(page *quicksight.ListDashboardsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListDashboardsPages(input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool) error { + return c.ListDashboardsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDashboardsPagesWithContext same as ListDashboardsPages 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 *QuickSight) ListDashboardsPagesWithContext(ctx aws.Context, input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDashboardsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDashboardsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDashboardsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDataSets = "ListDataSets" + +// ListDataSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListDataSets 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 ListDataSets for more information on using the ListDataSets +// 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 ListDataSetsRequest method. +// req, resp := client.ListDataSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDataSets +func (c *QuickSight) ListDataSetsRequest(input *ListDataSetsInput) (req *request.Request, output *ListDataSetsOutput) { + op := &request.Operation{ + Name: opListDataSets, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/data-sets", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDataSetsInput{} + } + + output = &ListDataSetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDataSets API operation for Amazon QuickSight. +// +// Lists all of the datasets belonging to this account in an AWS region. +// +// The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/* +// +// CLI syntax: aws quicksight list-data-sets --aws-account-id=111111111111 +// +// 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 QuickSight's +// API operation ListDataSets for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The NextToken value isn't valid. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDataSets +func (c *QuickSight) ListDataSets(input *ListDataSetsInput) (*ListDataSetsOutput, error) { + req, out := c.ListDataSetsRequest(input) + return out, req.Send() +} + +// ListDataSetsWithContext is the same as ListDataSets with the addition of +// the ability to pass a context and additional request options. +// +// See ListDataSets 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 *QuickSight) ListDataSetsWithContext(ctx aws.Context, input *ListDataSetsInput, opts ...request.Option) (*ListDataSetsOutput, error) { + req, out := c.ListDataSetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDataSetsPages iterates over the pages of a ListDataSets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDataSets 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 ListDataSets operation. +// pageNum := 0 +// err := client.ListDataSetsPages(params, +// func(page *quicksight.ListDataSetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListDataSetsPages(input *ListDataSetsInput, fn func(*ListDataSetsOutput, bool) bool) error { + return c.ListDataSetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDataSetsPagesWithContext same as ListDataSetsPages 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 *QuickSight) ListDataSetsPagesWithContext(ctx aws.Context, input *ListDataSetsInput, fn func(*ListDataSetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDataSetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDataSetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDataSetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDataSources = "ListDataSources" + +// ListDataSourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListDataSources 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 ListDataSources for more information on using the ListDataSources +// 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 ListDataSourcesRequest method. +// req, resp := client.ListDataSourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDataSources +func (c *QuickSight) ListDataSourcesRequest(input *ListDataSourcesInput) (req *request.Request, output *ListDataSourcesOutput) { + op := &request.Operation{ + Name: opListDataSources, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/data-sources", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDataSourcesInput{} + } + + output = &ListDataSourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDataSources API operation for Amazon QuickSight. +// +// Lists data sources in current AWS region that belong to this AWS account. +// +// The permissions resource is: arn:aws:quicksight:region:aws-account-id:datasource/* +// +// CLI syntax: aws quicksight list-data-sources --aws-account-id=111122223333 +// +// 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 QuickSight's +// API operation ListDataSources for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The NextToken value isn't valid. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDataSources +func (c *QuickSight) ListDataSources(input *ListDataSourcesInput) (*ListDataSourcesOutput, error) { + req, out := c.ListDataSourcesRequest(input) + return out, req.Send() +} + +// ListDataSourcesWithContext is the same as ListDataSources with the addition of +// the ability to pass a context and additional request options. +// +// See ListDataSources 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 *QuickSight) ListDataSourcesWithContext(ctx aws.Context, input *ListDataSourcesInput, opts ...request.Option) (*ListDataSourcesOutput, error) { + req, out := c.ListDataSourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDataSourcesPages iterates over the pages of a ListDataSources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDataSources 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 ListDataSources operation. +// pageNum := 0 +// err := client.ListDataSourcesPages(params, +// func(page *quicksight.ListDataSourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListDataSourcesPages(input *ListDataSourcesInput, fn func(*ListDataSourcesOutput, bool) bool) error { + return c.ListDataSourcesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDataSourcesPagesWithContext same as ListDataSourcesPages 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 *QuickSight) ListDataSourcesPagesWithContext(ctx aws.Context, input *ListDataSourcesInput, fn func(*ListDataSourcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDataSourcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDataSourcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDataSourcesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListGroupMemberships = "ListGroupMemberships" + +// ListGroupMembershipsRequest generates a "aws/request.Request" representing the +// client's request for the ListGroupMemberships 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 ListGroupMemberships for more information on using the ListGroupMemberships +// 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 ListGroupMembershipsRequest method. +// req, resp := client.ListGroupMembershipsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroupMemberships +func (c *QuickSight) ListGroupMembershipsRequest(input *ListGroupMembershipsInput) (req *request.Request, output *ListGroupMembershipsOutput) { + op := &request.Operation{ + Name: opListGroupMemberships, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members", + } + + if input == nil { + input = &ListGroupMembershipsInput{} + } + + output = &ListGroupMembershipsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListGroupMemberships API operation for Amazon QuickSight. +// +// Lists member users in a group. +// +// The permissions resource is arn:aws:quicksight:us-east-1::group/default/ . +// +// The response is a list of group member objects. +// +// CLI Sample: +// +// aws quicksight list-group-memberships -\-aws-account-id=111122223333 -\-namespace=default +// +// 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 QuickSight's +// API operation ListGroupMemberships for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The NextToken value isn't valid. +// +// * ErrCodePreconditionNotMetException "PreconditionNotMetException" +// One or more preconditions aren't met. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroupMemberships +func (c *QuickSight) ListGroupMemberships(input *ListGroupMembershipsInput) (*ListGroupMembershipsOutput, error) { + req, out := c.ListGroupMembershipsRequest(input) + return out, req.Send() +} + +// ListGroupMembershipsWithContext is the same as ListGroupMemberships with the addition of +// the ability to pass a context and additional request options. +// +// See ListGroupMemberships 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 *QuickSight) ListGroupMembershipsWithContext(ctx aws.Context, input *ListGroupMembershipsInput, opts ...request.Option) (*ListGroupMembershipsOutput, error) { + req, out := c.ListGroupMembershipsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListGroups = "ListGroups" + +// ListGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListGroups 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 ListGroups for more information on using the ListGroups +// 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 ListGroupsRequest method. +// req, resp := client.ListGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroups +func (c *QuickSight) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) { + op := &request.Operation{ + Name: opListGroups, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups", + } + + if input == nil { + input = &ListGroupsInput{} + } + + output = &ListGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListGroups API operation for Amazon QuickSight. +// +// Lists all user groups in Amazon QuickSight. +// +// The permissions resource is arn:aws:quicksight:us-east-1::group/default/*. +// +// The response is a list of group objects. +// +// CLI Sample: +// +// aws quicksight list-groups -\-aws-account-id=111122223333 -\-namespace=default +// +// 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 QuickSight's +// API operation ListGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The NextToken value isn't valid. +// +// * ErrCodePreconditionNotMetException "PreconditionNotMetException" +// One or more preconditions aren't met. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroups +func (c *QuickSight) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) { + req, out := c.ListGroupsRequest(input) + return out, req.Send() +} + +// ListGroupsWithContext is the same as ListGroups with the addition of +// the ability to pass a context and additional request options. +// +// See ListGroups 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 *QuickSight) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) { + req, out := c.ListGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListIAMPolicyAssignments = "ListIAMPolicyAssignments" + +// ListIAMPolicyAssignmentsRequest generates a "aws/request.Request" representing the +// client's request for the ListIAMPolicyAssignments 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 ListIAMPolicyAssignments for more information on using the ListIAMPolicyAssignments +// 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 ListIAMPolicyAssignmentsRequest method. +// req, resp := client.ListIAMPolicyAssignmentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIAMPolicyAssignments +func (c *QuickSight) ListIAMPolicyAssignmentsRequest(input *ListIAMPolicyAssignmentsInput) (req *request.Request, output *ListIAMPolicyAssignmentsOutput) { + op := &request.Operation{ + Name: opListIAMPolicyAssignments, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments", + } + + if input == nil { + input = &ListIAMPolicyAssignmentsInput{} + } + + output = &ListIAMPolicyAssignmentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListIAMPolicyAssignments API operation for Amazon QuickSight. +// +// Lists assignments in current QuickSight account. +// +// CLI syntax: +// +// aws quicksight list-iam-policy-assignments --aws-account-id=111122223333 +// --max-result=5 --assignment-status=ENABLED --namespace=default --region=us-east-1 +// --next-token=3 +// +// 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 QuickSight's +// API operation ListIAMPolicyAssignments for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The NextToken value isn't valid. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIAMPolicyAssignments +func (c *QuickSight) ListIAMPolicyAssignments(input *ListIAMPolicyAssignmentsInput) (*ListIAMPolicyAssignmentsOutput, error) { + req, out := c.ListIAMPolicyAssignmentsRequest(input) + return out, req.Send() +} + +// ListIAMPolicyAssignmentsWithContext is the same as ListIAMPolicyAssignments with the addition of +// the ability to pass a context and additional request options. +// +// See ListIAMPolicyAssignments 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 *QuickSight) ListIAMPolicyAssignmentsWithContext(ctx aws.Context, input *ListIAMPolicyAssignmentsInput, opts ...request.Option) (*ListIAMPolicyAssignmentsOutput, error) { + req, out := c.ListIAMPolicyAssignmentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListIAMPolicyAssignmentsForUser = "ListIAMPolicyAssignmentsForUser" + +// ListIAMPolicyAssignmentsForUserRequest generates a "aws/request.Request" representing the +// client's request for the ListIAMPolicyAssignmentsForUser 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 ListIAMPolicyAssignmentsForUser for more information on using the ListIAMPolicyAssignmentsForUser +// 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 ListIAMPolicyAssignmentsForUserRequest method. +// req, resp := client.ListIAMPolicyAssignmentsForUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIAMPolicyAssignmentsForUser +func (c *QuickSight) ListIAMPolicyAssignmentsForUserRequest(input *ListIAMPolicyAssignmentsForUserInput) (req *request.Request, output *ListIAMPolicyAssignmentsForUserOutput) { + op := &request.Operation{ + Name: opListIAMPolicyAssignmentsForUser, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/iam-policy-assignments", + } + + if input == nil { + input = &ListIAMPolicyAssignmentsForUserInput{} + } + + output = &ListIAMPolicyAssignmentsForUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListIAMPolicyAssignmentsForUser API operation for Amazon QuickSight. +// +// Lists all the assignments and the ARNs for the associated IAM policies assigned +// to the specified user and the group or groups that the user belongs to. +// +// CLI syntax: +// +// aws quicksight list-iam-policy-assignments-for-user --aws-account-id=111122223333 +// --user-name=user5 --namespace=default --max-result=6 --region=us-east-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 +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation ListIAMPolicyAssignmentsForUser for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeConcurrentUpdatingException "ConcurrentUpdatingException" +// A resource is already in an "actionable" state that must complete before +// a new update can be applied. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIAMPolicyAssignmentsForUser +func (c *QuickSight) ListIAMPolicyAssignmentsForUser(input *ListIAMPolicyAssignmentsForUserInput) (*ListIAMPolicyAssignmentsForUserOutput, error) { + req, out := c.ListIAMPolicyAssignmentsForUserRequest(input) + return out, req.Send() +} + +// ListIAMPolicyAssignmentsForUserWithContext is the same as ListIAMPolicyAssignmentsForUser with the addition of +// the ability to pass a context and additional request options. +// +// See ListIAMPolicyAssignmentsForUser 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 *QuickSight) ListIAMPolicyAssignmentsForUserWithContext(ctx aws.Context, input *ListIAMPolicyAssignmentsForUserInput, opts ...request.Option) (*ListIAMPolicyAssignmentsForUserOutput, error) { + req, out := c.ListIAMPolicyAssignmentsForUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListIngestions = "ListIngestions" + +// ListIngestionsRequest generates a "aws/request.Request" representing the +// client's request for the ListIngestions 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 ListIngestions for more information on using the ListIngestions +// 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 ListIngestionsRequest method. +// req, resp := client.ListIngestionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIngestions +func (c *QuickSight) ListIngestionsRequest(input *ListIngestionsInput) (req *request.Request, output *ListIngestionsOutput) { + op := &request.Operation{ + Name: opListIngestions, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListIngestionsInput{} + } + + output = &ListIngestionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListIngestions API operation for Amazon QuickSight. +// +// Lists the history of SPICE ingestions for a dataset. +// +// 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 QuickSight's +// API operation ListIngestions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The NextToken value isn't valid. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIngestions +func (c *QuickSight) ListIngestions(input *ListIngestionsInput) (*ListIngestionsOutput, error) { + req, out := c.ListIngestionsRequest(input) + return out, req.Send() +} + +// ListIngestionsWithContext is the same as ListIngestions with the addition of +// the ability to pass a context and additional request options. +// +// See ListIngestions 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 *QuickSight) ListIngestionsWithContext(ctx aws.Context, input *ListIngestionsInput, opts ...request.Option) (*ListIngestionsOutput, error) { + req, out := c.ListIngestionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListIngestionsPages iterates over the pages of a ListIngestions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListIngestions 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 ListIngestions operation. +// pageNum := 0 +// err := client.ListIngestionsPages(params, +// func(page *quicksight.ListIngestionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListIngestionsPages(input *ListIngestionsInput, fn func(*ListIngestionsOutput, bool) bool) error { + return c.ListIngestionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListIngestionsPagesWithContext same as ListIngestionsPages 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 *QuickSight) ListIngestionsPagesWithContext(ctx aws.Context, input *ListIngestionsInput, fn func(*ListIngestionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListIngestionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListIngestionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListIngestionsOutput), !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/quicksight-2018-04-01/ListTagsForResource +func (c *QuickSight) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/resources/{ResourceArn}/tags", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon QuickSight. +// +// Lists the tags assigned to a resource. +// +// CLI syntax: +// +// * aws quicksight list-tags-for-resource --resource-arn arn:aws:quicksight:us-east-1:111111111111:dataset/dataset1 +// --region us-east-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 +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTagsForResource +func (c *QuickSight) 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 *QuickSight) 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 opListTemplateAliases = "ListTemplateAliases" + +// ListTemplateAliasesRequest generates a "aws/request.Request" representing the +// client's request for the ListTemplateAliases 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 ListTemplateAliases for more information on using the ListTemplateAliases +// 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 ListTemplateAliasesRequest method. +// req, resp := client.ListTemplateAliasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplateAliases +func (c *QuickSight) ListTemplateAliasesRequest(input *ListTemplateAliasesInput) (req *request.Request, output *ListTemplateAliasesOutput) { + op := &request.Operation{ + Name: opListTemplateAliases, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTemplateAliasesInput{} + } + + output = &ListTemplateAliasesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTemplateAliases API operation for Amazon QuickSight. +// +// Lists all the aliases of a template. +// +// CLI syntax: +// +// aws quicksight list-template-aliases --aws-account-id 111122223333 —template-id +// 'reports_test_template' +// +// 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 QuickSight's +// API operation ListTemplateAliases for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplateAliases +func (c *QuickSight) ListTemplateAliases(input *ListTemplateAliasesInput) (*ListTemplateAliasesOutput, error) { + req, out := c.ListTemplateAliasesRequest(input) + return out, req.Send() +} + +// ListTemplateAliasesWithContext is the same as ListTemplateAliases with the addition of +// the ability to pass a context and additional request options. +// +// See ListTemplateAliases 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 *QuickSight) ListTemplateAliasesWithContext(ctx aws.Context, input *ListTemplateAliasesInput, opts ...request.Option) (*ListTemplateAliasesOutput, error) { + req, out := c.ListTemplateAliasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTemplateAliasesPages iterates over the pages of a ListTemplateAliases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTemplateAliases 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 ListTemplateAliases operation. +// pageNum := 0 +// err := client.ListTemplateAliasesPages(params, +// func(page *quicksight.ListTemplateAliasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListTemplateAliasesPages(input *ListTemplateAliasesInput, fn func(*ListTemplateAliasesOutput, bool) bool) error { + return c.ListTemplateAliasesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTemplateAliasesPagesWithContext same as ListTemplateAliasesPages 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 *QuickSight) ListTemplateAliasesPagesWithContext(ctx aws.Context, input *ListTemplateAliasesInput, fn func(*ListTemplateAliasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTemplateAliasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTemplateAliasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTemplateAliasesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTemplateVersions = "ListTemplateVersions" + +// ListTemplateVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListTemplateVersions 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 ListTemplateVersions for more information on using the ListTemplateVersions +// 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 ListTemplateVersionsRequest method. +// req, resp := client.ListTemplateVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplateVersions +func (c *QuickSight) ListTemplateVersionsRequest(input *ListTemplateVersionsInput) (req *request.Request, output *ListTemplateVersionsOutput) { + op := &request.Operation{ + Name: opListTemplateVersions, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/versions", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTemplateVersionsInput{} + } + + output = &ListTemplateVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTemplateVersions API operation for Amazon QuickSight. +// +// Lists all the versions of the templates in the Quicksight account. +// +// CLI syntax: +// +// aws quicksight list-template-versions --aws-account-id 111122223333 --aws-account-id +// 196359894473 --template-id reports-test-template +// +// 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 QuickSight's +// API operation ListTemplateVersions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The NextToken value isn't valid. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplateVersions +func (c *QuickSight) ListTemplateVersions(input *ListTemplateVersionsInput) (*ListTemplateVersionsOutput, error) { + req, out := c.ListTemplateVersionsRequest(input) + return out, req.Send() +} + +// ListTemplateVersionsWithContext is the same as ListTemplateVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListTemplateVersions 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 *QuickSight) ListTemplateVersionsWithContext(ctx aws.Context, input *ListTemplateVersionsInput, opts ...request.Option) (*ListTemplateVersionsOutput, error) { + req, out := c.ListTemplateVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTemplateVersionsPages iterates over the pages of a ListTemplateVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTemplateVersions 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 ListTemplateVersions operation. +// pageNum := 0 +// err := client.ListTemplateVersionsPages(params, +// func(page *quicksight.ListTemplateVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListTemplateVersionsPages(input *ListTemplateVersionsInput, fn func(*ListTemplateVersionsOutput, bool) bool) error { + return c.ListTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTemplateVersionsPagesWithContext same as ListTemplateVersionsPages 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 *QuickSight) ListTemplateVersionsPagesWithContext(ctx aws.Context, input *ListTemplateVersionsInput, fn func(*ListTemplateVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTemplateVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTemplateVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTemplateVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTemplates = "ListTemplates" + +// ListTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListTemplates 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 ListTemplates for more information on using the ListTemplates +// 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 ListTemplatesRequest method. +// req, resp := client.ListTemplatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplates +func (c *QuickSight) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) { + op := &request.Operation{ + Name: opListTemplates, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/templates", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTemplatesInput{} + } + + output = &ListTemplatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTemplates API operation for Amazon QuickSight. +// +// Lists all the templates in the QuickSight account. +// +// CLI syntax: +// +// aws quicksight list-templates --aws-account-id 111122223333 --max-results +// 1 —next-token AYADeJuxwOypAndSoOn +// +// 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 QuickSight's +// API operation ListTemplates for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The NextToken value isn't valid. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplates +func (c *QuickSight) ListTemplates(input *ListTemplatesInput) (*ListTemplatesOutput, error) { + req, out := c.ListTemplatesRequest(input) + return out, req.Send() +} + +// ListTemplatesWithContext is the same as ListTemplates with the addition of +// the ability to pass a context and additional request options. +// +// See ListTemplates 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 *QuickSight) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) { + req, out := c.ListTemplatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTemplatesPages iterates over the pages of a ListTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTemplates 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 ListTemplates operation. +// pageNum := 0 +// err := client.ListTemplatesPages(params, +// func(page *quicksight.ListTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListTemplatesPages(input *ListTemplatesInput, fn func(*ListTemplatesOutput, bool) bool) error { + return c.ListTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTemplatesPagesWithContext same as ListTemplatesPages 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 *QuickSight) ListTemplatesPagesWithContext(ctx aws.Context, input *ListTemplatesInput, fn func(*ListTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTemplatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListUserGroups = "ListUserGroups" + +// ListUserGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListUserGroups 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 ListUserGroups for more information on using the ListUserGroups +// 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 ListUserGroupsRequest method. +// req, resp := client.ListUserGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUserGroups +func (c *QuickSight) ListUserGroupsRequest(input *ListUserGroupsInput) (req *request.Request, output *ListUserGroupsOutput) { + op := &request.Operation{ + Name: opListUserGroups, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/groups", + } + + if input == nil { + input = &ListUserGroupsInput{} + } + + output = &ListUserGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListUserGroups API operation for Amazon QuickSight. +// +// Lists the Amazon QuickSight groups that an Amazon QuickSight user is a member +// of. +// +// The response is a one or more group objects. +// +// CLI Sample: +// +// aws quicksight list-user-groups -\-user-name=Pat -\-aws-account-id=111122223333 +// -\-namespace=default -\-region=us-east-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 +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation ListUserGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUserGroups +func (c *QuickSight) ListUserGroups(input *ListUserGroupsInput) (*ListUserGroupsOutput, error) { + req, out := c.ListUserGroupsRequest(input) + return out, req.Send() +} + +// ListUserGroupsWithContext is the same as ListUserGroups with the addition of +// the ability to pass a context and additional request options. +// +// See ListUserGroups 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 *QuickSight) ListUserGroupsWithContext(ctx aws.Context, input *ListUserGroupsInput, opts ...request.Option) (*ListUserGroupsOutput, error) { + req, out := c.ListUserGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListUsers = "ListUsers" + +// ListUsersRequest generates a "aws/request.Request" representing the +// client's request for the ListUsers 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 ListUsers for more information on using the ListUsers +// 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 ListUsersRequest method. +// req, resp := client.ListUsersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUsers +func (c *QuickSight) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) { + op := &request.Operation{ + Name: opListUsers, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users", + } + + if input == nil { + input = &ListUsersInput{} + } + + output = &ListUsersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListUsers API operation for Amazon QuickSight. +// +// Returns a list of all of the Amazon QuickSight users belonging to this account. +// +// The response is a list of user objects, containing each user's Amazon Resource +// Name (ARN), AWS Identity and Access Management (IAM) role, and email address. +// +// CLI Sample: +// +// aws quicksight list-users --aws-account-id=111122223333 --namespace=default +// +// 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 QuickSight's +// API operation ListUsers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The NextToken value isn't valid. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUsers +func (c *QuickSight) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) { + req, out := c.ListUsersRequest(input) + return out, req.Send() +} + +// ListUsersWithContext is the same as ListUsers with the addition of +// the ability to pass a context and additional request options. +// +// See ListUsers 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 *QuickSight) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) { + req, out := c.ListUsersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRegisterUser = "RegisterUser" + +// RegisterUserRequest generates a "aws/request.Request" representing the +// client's request for the RegisterUser 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 RegisterUser for more information on using the RegisterUser +// 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 RegisterUserRequest method. +// req, resp := client.RegisterUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/RegisterUser +func (c *QuickSight) RegisterUserRequest(input *RegisterUserInput) (req *request.Request, output *RegisterUserOutput) { + op := &request.Operation{ + Name: opRegisterUser, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users", + } + + if input == nil { + input = &RegisterUserInput{} + } + + output = &RegisterUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// RegisterUser API operation for Amazon QuickSight. +// +// Creates an Amazon QuickSight user, whose identity is associated with the +// AWS Identity and Access Management (IAM) identity or role specified in the +// request. +// +// CLI Sample: +// +// aws quicksight register-user -\-aws-account-id=111122223333 -\-namespace=default +// -\-email=pat@example.com -\-identity-type=IAM -\-user-role=AUTHOR -\-iam-arn=arn:aws:iam::111122223333:user/Pat +// +// 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 QuickSight's +// API operation RegisterUser for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit is exceeded. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// +// * ErrCodePreconditionNotMetException "PreconditionNotMetException" +// One or more preconditions aren't met. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/RegisterUser +func (c *QuickSight) RegisterUser(input *RegisterUserInput) (*RegisterUserOutput, error) { + req, out := c.RegisterUserRequest(input) + return out, req.Send() +} + +// RegisterUserWithContext is the same as RegisterUser with the addition of +// the ability to pass a context and additional request options. +// +// See RegisterUser 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 *QuickSight) RegisterUserWithContext(ctx aws.Context, input *RegisterUserInput, opts ...request.Option) (*RegisterUserOutput, error) { + req, out := c.RegisterUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + 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/quicksight-2018-04-01/TagResource +func (c *QuickSight) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/resources/{ResourceArn}/tags", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// TagResource API operation for Amazon QuickSight. +// +// Assigns a tag or tags to a resource. +// +// Assigns one or more tags (key-value pairs) to the specified QuickSight resource. +// Tags can help you organize and categorize your resources. You can also use +// them to scope user permissions, by granting a user permission to access or +// change only resources with certain tag values. You can use the TagResource +// action with a resource that already has tags. If you specify a new tag key +// for the resource, this tag is appended to the list of tags associated with +// the resource. If you specify a tag key that is already associated with the +// resource, the new tag value that you specify replaces the previous value +// for that tag. +// +// You can associate as many as 50 tags with a resource. QuickSight supports +// tagging on data-set, data-source, dashboard, template. +// +// Tagging for QuickSight works in a similar was to tagging for other AWS services, +// except for the following: +// +// * You can't use tags to track AWS costs for QuickSight, because QuickSight +// costs are based on users and SPICE capacity, which aren't taggable resources. +// +// * QuickSight doesn't currently support the Tag Editor for AWS Resource +// Groups. +// +// CLI syntax to tag a resource: +// +// * aws quicksight tag-resource --resource-arn arn:aws:quicksight:us-east-1:111111111111:dataset/dataset1 +// --tags Key=K1,Value=V1 Key=K2,Value=V2 --region us-east-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 +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit is exceeded. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/TagResource +func (c *QuickSight) 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 *QuickSight) 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/quicksight-2018-04-01/UntagResource +func (c *QuickSight) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/resources/{ResourceArn}/tags", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// UntagResource API operation for Amazon QuickSight. +// +// Removes a tag or tags from a resource. +// +// CLI syntax: +// +// * aws quicksight untag-resource --resource-arn arn:aws:quicksight:us-east-1:111111111111:dataset/dataset1 +// --tag-keys K1 K2 --region us-east-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 +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UntagResource +func (c *QuickSight) 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 *QuickSight) 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 opUpdateDashboard = "UpdateDashboard" + +// UpdateDashboardRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDashboard 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 UpdateDashboard for more information on using the UpdateDashboard +// 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 UpdateDashboardRequest method. +// req, resp := client.UpdateDashboardRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboard +func (c *QuickSight) UpdateDashboardRequest(input *UpdateDashboardInput) (req *request.Request, output *UpdateDashboardOutput) { + op := &request.Operation{ + Name: opUpdateDashboard, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", + } + + if input == nil { + input = &UpdateDashboardInput{} + } + + output = &UpdateDashboardOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDashboard API operation for Amazon QuickSight. +// +// Updates a dashboard in the AWS account. +// +// CLI syntax: +// +// aws quicksight update-dashboard --aws-account-id 111122223333 --dashboard-id +// 123123123 --dashboard-name "test-update102" --source-entity SourceTemplate={Arn=arn:aws:quicksight:us-west-2:111122223333:template/sales-report-template2} +// --data-set-references DataSetPlaceholder=SalesDataSet,DataSetArn=arn:aws:quicksight:us-west-2:111122223333:dataset/0e251aef-9ebf-46e1-b852-eb4fa33c1d3a +// +// aws quicksight update-dashboard --cli-input-json file://update-dashboard.json +// +// 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 QuickSight's +// API operation UpdateDashboard for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit is exceeded. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboard +func (c *QuickSight) UpdateDashboard(input *UpdateDashboardInput) (*UpdateDashboardOutput, error) { + req, out := c.UpdateDashboardRequest(input) + return out, req.Send() +} + +// UpdateDashboardWithContext is the same as UpdateDashboard with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDashboard 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 *QuickSight) UpdateDashboardWithContext(ctx aws.Context, input *UpdateDashboardInput, opts ...request.Option) (*UpdateDashboardOutput, error) { + req, out := c.UpdateDashboardRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDashboardPermissions = "UpdateDashboardPermissions" + +// UpdateDashboardPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDashboardPermissions 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 UpdateDashboardPermissions for more information on using the UpdateDashboardPermissions +// 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 UpdateDashboardPermissionsRequest method. +// req, resp := client.UpdateDashboardPermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboardPermissions +func (c *QuickSight) UpdateDashboardPermissionsRequest(input *UpdateDashboardPermissionsInput) (req *request.Request, output *UpdateDashboardPermissionsOutput) { + op := &request.Operation{ + Name: opUpdateDashboardPermissions, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions", + } + + if input == nil { + input = &UpdateDashboardPermissionsInput{} + } + + output = &UpdateDashboardPermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDashboardPermissions API operation for Amazon QuickSight. +// +// Updates read and write permissions on a dashboard. +// +// CLI syntax: +// +// aws quicksight update-dashboard-permissions —cli-input-json file://update-permission.json +// +// A sample update-permissions.json for granting read only permissions: +// +// { "AwsAccountId": "111122223333", "DashboardId": "reports_test_report", "GrantPermissions": +// [ { "Principal": "arn:aws:quicksight:us-east-1:111122223333:user/default/user2", +// "Actions": [ "quicksight:DescribeDashboard", "quicksight:ListDashboardVersions", +// "quicksight:DescribeDashboardVersion", "quicksight:QueryDashboard" ] } ] +// } +// +// A sample update-permissions.json for granting read and write permissions: +// +// { "AwsAccountId": "111122223333", "DashboardId": "reports_test_report", "GrantPermissions": +// [ { "Principal": "arn:aws:quicksight:us-east-1:111122223333:user/default/user2", +// "Actions": [ "quicksight:DescribeDashboard", "quicksight:ListDashboardVersions", +// "quicksight:DescribeDashboardVersion", "quicksight:QueryDashboard", "quicksight:DescribeDashboardPermissions", +// "quicksight:UpdateDashboardPermissions", "quicksight:DeleteDashboardVersion", +// "quicksight:DeleteDashboard", "quicksight:UpdateDashboard", "quicksight:UpdateDashboardPublishedVersion", +// ] } ] } +// +// A sample update-permissions.json for revoking write permissions: +// +// { "AwsAccountId": "111122223333", "DashboardId": "reports_test_report", "RevokePermissions": +// [ { "Principal": "arn:aws:quicksight:us-east-1:111122223333:user/default/user2", +// "Actions": [ "quicksight:DescribeDashboardPermissions", "quicksight:UpdateDashboardPermissions", +// "quicksight:DeleteDashboardVersion", "quicksight:DeleteDashboard", "quicksight:UpdateDashboard", +// "quicksight:UpdateDashboardPublishedVersion", ] } ] } +// +// A sample update-permissions.json for revoking read and write permissions: +// +// { "AwsAccountId": "111122223333", "DashboardId": "reports_test_report", "RevokePermissions": +// [ { "Principal": "arn:aws:quicksight:us-east-1:111122223333:user/default/user2", +// "Actions": [ "quicksight:DescribeDashboard", "quicksight:ListDashboardVersions", +// "quicksight:DescribeDashboardVersion", "quicksight:QueryDashboard", "quicksight:DescribeDashboardPermissions", +// "quicksight:UpdateDashboardPermissions", "quicksight:DeleteDashboardVersion", +// "quicksight:DeleteDashboard", "quicksight:UpdateDashboard", "quicksight:UpdateDashboardPublishedVersion", +// ] } ] } +// +// To obtain the principal name of a QuickSight user or group, you can use describe-group +// or describe-user. For example: +// +// aws quicksight describe-user --aws-account-id 111122223333 --namespace default +// --user-name user2 --region us-east-1 { "User": { "Arn": "arn:aws:quicksight:us-east-1:111122223333:user/default/user2", +// "Active": true, "Email": "user2@example.com", "Role": "ADMIN", "UserName": +// "user2", "PrincipalId": "federated/iam/abcd2abcdabcdeabc5ab5" }, "RequestId": +// "8f74bb31-6291-448a-a71c-a765a44bae31", "Status": 200 } +// +// 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 QuickSight's +// API operation UpdateDashboardPermissions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboardPermissions +func (c *QuickSight) UpdateDashboardPermissions(input *UpdateDashboardPermissionsInput) (*UpdateDashboardPermissionsOutput, error) { + req, out := c.UpdateDashboardPermissionsRequest(input) + return out, req.Send() +} + +// UpdateDashboardPermissionsWithContext is the same as UpdateDashboardPermissions with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDashboardPermissions 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 *QuickSight) UpdateDashboardPermissionsWithContext(ctx aws.Context, input *UpdateDashboardPermissionsInput, opts ...request.Option) (*UpdateDashboardPermissionsOutput, error) { + req, out := c.UpdateDashboardPermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDashboardPublishedVersion = "UpdateDashboardPublishedVersion" + +// UpdateDashboardPublishedVersionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDashboardPublishedVersion 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 UpdateDashboardPublishedVersion for more information on using the UpdateDashboardPublishedVersion +// 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 UpdateDashboardPublishedVersionRequest method. +// req, resp := client.UpdateDashboardPublishedVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboardPublishedVersion +func (c *QuickSight) UpdateDashboardPublishedVersionRequest(input *UpdateDashboardPublishedVersionInput) (req *request.Request, output *UpdateDashboardPublishedVersionOutput) { + op := &request.Operation{ + Name: opUpdateDashboardPublishedVersion, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions/{VersionNumber}", + } + + if input == nil { + input = &UpdateDashboardPublishedVersionInput{} + } + + output = &UpdateDashboardPublishedVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDashboardPublishedVersion API operation for Amazon QuickSight. +// +// Updates the published version of a dashboard. +// +// CLI syntax: +// +// aws quicksight update-dashboard-published-version --aws-account-id 111122223333 +// --dashboard-id dashboard-w1 ---version-number 2 +// +// 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 QuickSight's +// API operation UpdateDashboardPublishedVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboardPublishedVersion +func (c *QuickSight) UpdateDashboardPublishedVersion(input *UpdateDashboardPublishedVersionInput) (*UpdateDashboardPublishedVersionOutput, error) { + req, out := c.UpdateDashboardPublishedVersionRequest(input) + return out, req.Send() +} + +// UpdateDashboardPublishedVersionWithContext is the same as UpdateDashboardPublishedVersion with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDashboardPublishedVersion 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 *QuickSight) UpdateDashboardPublishedVersionWithContext(ctx aws.Context, input *UpdateDashboardPublishedVersionInput, opts ...request.Option) (*UpdateDashboardPublishedVersionOutput, error) { + req, out := c.UpdateDashboardPublishedVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDataSet = "UpdateDataSet" + +// UpdateDataSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDataSet 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 UpdateDataSet for more information on using the UpdateDataSet +// 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 UpdateDataSetRequest method. +// req, resp := client.UpdateDataSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSet +func (c *QuickSight) UpdateDataSetRequest(input *UpdateDataSetInput) (req *request.Request, output *UpdateDataSetOutput) { + op := &request.Operation{ + Name: opUpdateDataSet, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", + } + + if input == nil { + input = &UpdateDataSetInput{} + } + + output = &UpdateDataSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDataSet API operation for Amazon QuickSight. +// +// Updates a dataset. +// +// CLI syntax: +// +// aws quicksight update-data-set \ +// +// --aws-account-id=111122223333 \ +// +// --data-set-id=unique-data-set-id \ +// +// --name='My dataset' \ +// +// --import-mode=SPICE \ +// +// --physical-table-map='{ +// +// "physical-table-id": { +// +// "RelationalTable": { +// +// "DataSourceArn": "arn:aws:quicksight:us-west-2:111111111111:datasource/data-source-id", +// +// "Name": "table1", +// +// "InputColumns": [ +// +// { +// +// "Name": "column1", +// +// "Type": "STRING" +// +// } +// +// ] +// +// } +// +// }' +// +// 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 QuickSight's +// API operation UpdateDataSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit is exceeded. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSet +func (c *QuickSight) UpdateDataSet(input *UpdateDataSetInput) (*UpdateDataSetOutput, error) { + req, out := c.UpdateDataSetRequest(input) + return out, req.Send() +} + +// UpdateDataSetWithContext is the same as UpdateDataSet with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDataSet 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 *QuickSight) UpdateDataSetWithContext(ctx aws.Context, input *UpdateDataSetInput, opts ...request.Option) (*UpdateDataSetOutput, error) { + req, out := c.UpdateDataSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDataSetPermissions = "UpdateDataSetPermissions" + +// UpdateDataSetPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDataSetPermissions 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 UpdateDataSetPermissions for more information on using the UpdateDataSetPermissions +// 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 UpdateDataSetPermissionsRequest method. +// req, resp := client.UpdateDataSetPermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSetPermissions +func (c *QuickSight) UpdateDataSetPermissionsRequest(input *UpdateDataSetPermissionsInput) (req *request.Request, output *UpdateDataSetPermissionsOutput) { + op := &request.Operation{ + Name: opUpdateDataSetPermissions, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions", + } + + if input == nil { + input = &UpdateDataSetPermissionsInput{} + } + + output = &UpdateDataSetPermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDataSetPermissions API operation for Amazon QuickSight. +// +// Updates the permissions on a dataset. +// +// The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/data-set-id +// +// CLI syntax: +// +// aws quicksight update-data-set-permissions \ +// +// --aws-account-id=111122223333 \ +// +// --data-set-id=unique-data-set-id \ +// +// --grant-permissions='[{"Principal":"arn:aws:quicksight:us-east-1:111122223333:user/default/user1","Actions":["quicksight:DescribeDataSet","quicksight:DescribeDataSetPermissions","quicksight:PassDataSet","quicksight:ListIngestions","quicksight:DescribeIngestion"]}]' +// \ +// +// --revoke-permissions='[{"Principal":"arn:aws:quicksight:us-east-1:111122223333:user/default/user2","Actions":["quicksight:UpdateDataSet","quicksight:DeleteDataSet","quicksight:UpdateDataSetPermissions","quicksight:CreateIngestion","quicksight:CancelIngestion"]}]' +// +// 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 QuickSight's +// API operation UpdateDataSetPermissions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSetPermissions +func (c *QuickSight) UpdateDataSetPermissions(input *UpdateDataSetPermissionsInput) (*UpdateDataSetPermissionsOutput, error) { + req, out := c.UpdateDataSetPermissionsRequest(input) + return out, req.Send() +} + +// UpdateDataSetPermissionsWithContext is the same as UpdateDataSetPermissions with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDataSetPermissions 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 *QuickSight) UpdateDataSetPermissionsWithContext(ctx aws.Context, input *UpdateDataSetPermissionsInput, opts ...request.Option) (*UpdateDataSetPermissionsOutput, error) { + req, out := c.UpdateDataSetPermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDataSource = "UpdateDataSource" + +// UpdateDataSourceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDataSource 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 UpdateDataSource for more information on using the UpdateDataSource +// 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 UpdateDataSourceRequest method. +// req, resp := client.UpdateDataSourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSource +func (c *QuickSight) UpdateDataSourceRequest(input *UpdateDataSourceInput) (req *request.Request, output *UpdateDataSourceOutput) { + op := &request.Operation{ + Name: opUpdateDataSource, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", + } + + if input == nil { + input = &UpdateDataSourceInput{} + } + + output = &UpdateDataSourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDataSource API operation for Amazon QuickSight. +// +// Updates a data source. +// +// The permissions resource is arn:aws:quicksight:region:aws-account-id:datasource/data-source-id +// +// CLI syntax: +// +// aws quicksight update-data-source \ +// +// --aws-account-id=111122223333 \ +// +// --data-source-id=unique-data-source-id \ +// +// --name='My Data Source' \ +// +// --data-source-parameters='{"PostgreSqlParameters":{"Host":"my-db-host.example.com","Port":1234,"Database":"my-db"}}' +// \ +// +// --credentials='{"CredentialPair":{"Username":"username","Password":"password"}} +// +// 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 QuickSight's +// API operation UpdateDataSource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSource +func (c *QuickSight) UpdateDataSource(input *UpdateDataSourceInput) (*UpdateDataSourceOutput, error) { + req, out := c.UpdateDataSourceRequest(input) + return out, req.Send() +} + +// UpdateDataSourceWithContext is the same as UpdateDataSource with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDataSource 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 *QuickSight) UpdateDataSourceWithContext(ctx aws.Context, input *UpdateDataSourceInput, opts ...request.Option) (*UpdateDataSourceOutput, error) { + req, out := c.UpdateDataSourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDataSourcePermissions = "UpdateDataSourcePermissions" + +// UpdateDataSourcePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDataSourcePermissions 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 UpdateDataSourcePermissions for more information on using the UpdateDataSourcePermissions +// 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 UpdateDataSourcePermissionsRequest method. +// req, resp := client.UpdateDataSourcePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSourcePermissions +func (c *QuickSight) UpdateDataSourcePermissionsRequest(input *UpdateDataSourcePermissionsInput) (req *request.Request, output *UpdateDataSourcePermissionsOutput) { + op := &request.Operation{ + Name: opUpdateDataSourcePermissions, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions", + } + + if input == nil { + input = &UpdateDataSourcePermissionsInput{} + } + + output = &UpdateDataSourcePermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDataSourcePermissions API operation for Amazon QuickSight. +// +// Updates the permissions to a data source. +// +// The permissions resource is arn:aws:quicksight:region:aws-account-id:datasource/data-source-id +// +// CLI syntax: +// +// aws quicksight update-data-source-permissions \ +// +// --aws-account-id=111122223333 \ +// +// --data-source-id=unique-data-source-id \ +// +// --name='My Data Source' \ +// +// --grant-permissions='[{"Principal":"arn:aws:quicksight:us-east-1:111122223333:user/default/user1","Actions":["quicksight:DescribeDataSource","quicksight:DescribeDataSourcePermissions","quicksight:PassDataSource"]}]' +// \ +// +// --revoke-permissions='[{"Principal":"arn:aws:quicksight:us-east-1:111122223333:user/default/user2","Actions":["quicksight:UpdateDataSource","quicksight:DeleteDataSource","quicksight:UpdateDataSourcePermissions"]}]' +// +// 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 QuickSight's +// API operation UpdateDataSourcePermissions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSourcePermissions +func (c *QuickSight) UpdateDataSourcePermissions(input *UpdateDataSourcePermissionsInput) (*UpdateDataSourcePermissionsOutput, error) { + req, out := c.UpdateDataSourcePermissionsRequest(input) + return out, req.Send() +} + +// UpdateDataSourcePermissionsWithContext is the same as UpdateDataSourcePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDataSourcePermissions 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 *QuickSight) UpdateDataSourcePermissionsWithContext(ctx aws.Context, input *UpdateDataSourcePermissionsInput, opts ...request.Option) (*UpdateDataSourcePermissionsOutput, error) { + req, out := c.UpdateDataSourcePermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateGroup = "UpdateGroup" + +// UpdateGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGroup 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 UpdateGroup for more information on using the UpdateGroup +// 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 UpdateGroupRequest method. +// req, resp := client.UpdateGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateGroup +func (c *QuickSight) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) { + op := &request.Operation{ + Name: opUpdateGroup, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", + } + + if input == nil { + input = &UpdateGroupInput{} + } + + output = &UpdateGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateGroup API operation for Amazon QuickSight. +// +// Changes a group description. +// +// The permissions resource is arn:aws:quicksight:us-east-1::group/default/ . +// +// The response is a group object. +// +// CLI Sample: +// +// aws quicksight update-group --aws-account-id=111122223333 --namespace=default +// --group-name=Sales --description="Sales BI Dashboards" +// +// 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 QuickSight's +// API operation UpdateGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodePreconditionNotMetException "PreconditionNotMetException" +// One or more preconditions aren't met. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateGroup +func (c *QuickSight) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) { + req, out := c.UpdateGroupRequest(input) + return out, req.Send() +} + +// UpdateGroupWithContext is the same as UpdateGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGroup 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 *QuickSight) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) { + req, out := c.UpdateGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateIAMPolicyAssignment = "UpdateIAMPolicyAssignment" + +// UpdateIAMPolicyAssignmentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateIAMPolicyAssignment 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 UpdateIAMPolicyAssignment for more information on using the UpdateIAMPolicyAssignment +// 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 UpdateIAMPolicyAssignmentRequest method. +// req, resp := client.UpdateIAMPolicyAssignmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateIAMPolicyAssignment +func (c *QuickSight) UpdateIAMPolicyAssignmentRequest(input *UpdateIAMPolicyAssignmentInput) (req *request.Request, output *UpdateIAMPolicyAssignmentOutput) { + op := &request.Operation{ + Name: opUpdateIAMPolicyAssignment, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}", + } + + if input == nil { + input = &UpdateIAMPolicyAssignmentInput{} + } + + output = &UpdateIAMPolicyAssignmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateIAMPolicyAssignment API operation for Amazon QuickSight. +// +// Updates an existing assignment. This operation updates only the optional +// parameter or parameters that are specified in the request. +// +// CLI syntax: +// +// aws quicksight update-iam-policy-assignment --aws-account-id=111122223333 +// --assignment-name=FullAccessAssignment --assignment-status=DRAFT --policy-arns=arn:aws:iam::aws:policy/AdministratorAccess +// --identities="user=user-1,user-2,group=admin" --namespace=default --region=us-east-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 +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateIAMPolicyAssignment for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeConcurrentUpdatingException "ConcurrentUpdatingException" +// A resource is already in an "actionable" state that must complete before +// a new update can be applied. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateIAMPolicyAssignment +func (c *QuickSight) UpdateIAMPolicyAssignment(input *UpdateIAMPolicyAssignmentInput) (*UpdateIAMPolicyAssignmentOutput, error) { + req, out := c.UpdateIAMPolicyAssignmentRequest(input) + return out, req.Send() +} + +// UpdateIAMPolicyAssignmentWithContext is the same as UpdateIAMPolicyAssignment with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateIAMPolicyAssignment 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 *QuickSight) UpdateIAMPolicyAssignmentWithContext(ctx aws.Context, input *UpdateIAMPolicyAssignmentInput, opts ...request.Option) (*UpdateIAMPolicyAssignmentOutput, error) { + req, out := c.UpdateIAMPolicyAssignmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTemplate = "UpdateTemplate" + +// UpdateTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTemplate 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 UpdateTemplate for more information on using the UpdateTemplate +// 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 UpdateTemplateRequest method. +// req, resp := client.UpdateTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplate +func (c *QuickSight) UpdateTemplateRequest(input *UpdateTemplateInput) (req *request.Request, output *UpdateTemplateOutput) { + op := &request.Operation{ + Name: opUpdateTemplate, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", + } + + if input == nil { + input = &UpdateTemplateInput{} + } + + output = &UpdateTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTemplate API operation for Amazon QuickSight. +// +// Updates a template from an existing QuickSight analysis. +// +// CLI syntax: +// +// aws quicksight update-template --aws-account-id 111122223333 --template-id +// reports_test_template --data-set-references DataSetPlaceholder=reports,DataSetArn=arn:aws:quicksight:us-west-2:111122223333:dataset/c684a204-d134-4c53-a63c-451f72c60c28 +// DataSetPlaceholder=Elblogs,DataSetArn=arn:aws:quicksight:us-west-2:111122223333:dataset/15840b7d-b542-4491-937b-602416b367b3 +// —source-entity SourceAnalysis=’{Arn=arn:aws:quicksight:us-west-2:111122223333:analysis/c5731fe9-4708-4598-8f6d-cf2a70875b6d} +// +// You can also pass in a json file: aws quicksight update-template —cli-input-json +// file://create-template.json +// +// 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 QuickSight's +// API operation UpdateTemplate for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceExistsException "ResourceExistsException" +// The resource specified already exists. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// A limit is exceeded. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplate +func (c *QuickSight) UpdateTemplate(input *UpdateTemplateInput) (*UpdateTemplateOutput, error) { + req, out := c.UpdateTemplateRequest(input) + return out, req.Send() +} + +// UpdateTemplateWithContext is the same as UpdateTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTemplate 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 *QuickSight) UpdateTemplateWithContext(ctx aws.Context, input *UpdateTemplateInput, opts ...request.Option) (*UpdateTemplateOutput, error) { + req, out := c.UpdateTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTemplateAlias = "UpdateTemplateAlias" + +// UpdateTemplateAliasRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTemplateAlias 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 UpdateTemplateAlias for more information on using the UpdateTemplateAlias +// 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 UpdateTemplateAliasRequest method. +// req, resp := client.UpdateTemplateAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplateAlias +func (c *QuickSight) UpdateTemplateAliasRequest(input *UpdateTemplateAliasInput) (req *request.Request, output *UpdateTemplateAliasOutput) { + op := &request.Operation{ + Name: opUpdateTemplateAlias, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", + } + + if input == nil { + input = &UpdateTemplateAliasInput{} + } + + output = &UpdateTemplateAliasOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTemplateAlias API operation for Amazon QuickSight. +// +// Updates the template alias of a template. +// +// CLI syntax: +// +// aws quicksight update-template-alias --aws-account-id 111122223333 --template-id +// 'reports_test_template' --alias-name STAGING —template-version-number 2 +// +// 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 QuickSight's +// API operation UpdateTemplateAlias for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplateAlias +func (c *QuickSight) UpdateTemplateAlias(input *UpdateTemplateAliasInput) (*UpdateTemplateAliasOutput, error) { + req, out := c.UpdateTemplateAliasRequest(input) + return out, req.Send() +} + +// UpdateTemplateAliasWithContext is the same as UpdateTemplateAlias with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTemplateAlias 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 *QuickSight) UpdateTemplateAliasWithContext(ctx aws.Context, input *UpdateTemplateAliasInput, opts ...request.Option) (*UpdateTemplateAliasOutput, error) { + req, out := c.UpdateTemplateAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTemplatePermissions = "UpdateTemplatePermissions" + +// UpdateTemplatePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTemplatePermissions 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 UpdateTemplatePermissions for more information on using the UpdateTemplatePermissions +// 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 UpdateTemplatePermissionsRequest method. +// req, resp := client.UpdateTemplatePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplatePermissions +func (c *QuickSight) UpdateTemplatePermissionsRequest(input *UpdateTemplatePermissionsInput) (req *request.Request, output *UpdateTemplatePermissionsOutput) { + op := &request.Operation{ + Name: opUpdateTemplatePermissions, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/permissions", + } + + if input == nil { + input = &UpdateTemplatePermissionsInput{} + } + + output = &UpdateTemplatePermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTemplatePermissions API operation for Amazon QuickSight. +// +// Updates the permissions on a template. +// +// CLI syntax: +// +// * aws quicksight describe-template-permissions —aws-account-id 111122223333 +// —template-id reports_test_template +// +// * aws quicksight update-template-permissions —cli-input-json file://update-permission.json +// +// * The structure of update-permissions.json to add permissions: { "AwsAccountId": +// "111122223333", "DashboardId": "reports_test_template", "GrantPermissions": +// [ { "Principal": "arn:aws:quicksight:us-east-1:196359894473:user/default/user3", +// "Actions": [ "quicksight:DescribeTemplate", "quicksight:ListTemplateVersions" +// ] } ] } The structure of update-permissions.json to add permissions: { +// "AwsAccountId": "111122223333", "DashboardId": "reports_test_template", +// "RevokePermissions": [ { "Principal": "arn:aws:quicksight:us-east-1:196359894473:user/default/user3", +// "Actions": [ "quicksight:DescribeTemplate", "quicksight:ListTemplateVersions" +// ] } ] } To obtain the principal name of a QuickSight group or user, use +// user describe-group or describe-user. For example: aws quicksight describe-user +// --aws-account-id 111122223333 --namespace default --user-name user2 --region +// us-east-1 { "User": { "Arn": "arn:aws:quicksight:us-east-1:111122223333:user/default/user2", +// "Active": true, "Email": "user2@example.com", "Role": "ADMIN", "UserName": +// "user2", "PrincipalId": "federated/iam/abcd2abcdabcdeabc5ab5" }, "RequestId": +// "8f74bb31-6291-448a-a71c-a765a44bae31", "Status": 200 } +// +// 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 QuickSight's +// API operation UpdateTemplatePermissions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeConflictException "ConflictException" +// Updating or deleting a resource can cause an inconsistent state. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeUnsupportedUserEditionException "UnsupportedUserEditionException" +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplatePermissions +func (c *QuickSight) UpdateTemplatePermissions(input *UpdateTemplatePermissionsInput) (*UpdateTemplatePermissionsOutput, error) { + req, out := c.UpdateTemplatePermissionsRequest(input) + return out, req.Send() +} + +// UpdateTemplatePermissionsWithContext is the same as UpdateTemplatePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTemplatePermissions 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 *QuickSight) UpdateTemplatePermissionsWithContext(ctx aws.Context, input *UpdateTemplatePermissionsInput, opts ...request.Option) (*UpdateTemplatePermissionsOutput, error) { + req, out := c.UpdateTemplatePermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateUser = "UpdateUser" + +// UpdateUserRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUser 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 UpdateUser for more information on using the UpdateUser +// 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 UpdateUserRequest method. +// req, resp := client.UpdateUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateUser +func (c *QuickSight) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) { + op := &request.Operation{ + Name: opUpdateUser, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", + } + + if input == nil { + input = &UpdateUserInput{} + } + + output = &UpdateUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateUser API operation for Amazon QuickSight. +// +// Updates an Amazon QuickSight user. +// +// The response is a user object that contains the user's Amazon QuickSight +// user name, email address, active or inactive status in Amazon QuickSight, +// Amazon QuickSight role, and Amazon Resource Name (ARN). +// +// CLI Sample: +// +// aws quicksight update-user --user-name=Pat --role=ADMIN --email=new_address@example.com +// --aws-account-id=111122223333 --namespace=default --region=us-east-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 +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateUser for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You don't have access to this. The provided credentials couldn't be validated. +// You might not be authorized to carry out the request. Ensure that your account +// is authorized to use the Amazon QuickSight service, that your policies have +// the correct permissions, and that you are using the correct access keys. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// One or more parameters don't have a valid value. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// One or more resources can't be found. +// +// * ErrCodeThrottlingException "ThrottlingException" +// Access is throttled. +// +// * ErrCodeInternalFailureException "InternalFailureException" +// An internal failure occurred. +// +// * ErrCodeResourceUnavailableException "ResourceUnavailableException" +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateUser +func (c *QuickSight) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) { + req, out := c.UpdateUserRequest(input) + return out, req.Send() +} + +// UpdateUserWithContext is the same as UpdateUser with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateUser 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 *QuickSight) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) { + req, out := c.UpdateUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// The active IAM policy assignment. +type ActiveIAMPolicyAssignment struct { + _ struct{} `type:"structure"` + + // A name for the IAM policy assignment. + AssignmentName *string `min:"1" type:"string"` + + // The ARN of the resource. + PolicyArn *string `type:"string"` +} + +// String returns the string representation +func (s ActiveIAMPolicyAssignment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActiveIAMPolicyAssignment) GoString() string { + return s.String() +} + +// SetAssignmentName sets the AssignmentName field's value. +func (s *ActiveIAMPolicyAssignment) SetAssignmentName(v string) *ActiveIAMPolicyAssignment { + s.AssignmentName = &v + return s +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *ActiveIAMPolicyAssignment) SetPolicyArn(v string) *ActiveIAMPolicyAssignment { + s.PolicyArn = &v + return s +} + +// Ad hoc filtering option. +type AdHocFilteringOption struct { + _ struct{} `type:"structure"` + + // Availability status. + AvailabilityStatus *string `type:"string" enum:"DashboardBehavior"` +} + +// String returns the string representation +func (s AdHocFilteringOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdHocFilteringOption) GoString() string { + return s.String() +} + +// SetAvailabilityStatus sets the AvailabilityStatus field's value. +func (s *AdHocFilteringOption) SetAvailabilityStatus(v string) *AdHocFilteringOption { + s.AvailabilityStatus = &v + return s +} + +// Amazon Elasticsearch parameters. +type AmazonElasticsearchParameters struct { + _ struct{} `type:"structure"` + + // The Amazon Elasticsearch domain. + // + // Domain is a required field + Domain *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AmazonElasticsearchParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AmazonElasticsearchParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AmazonElasticsearchParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AmazonElasticsearchParameters"} + if s.Domain == nil { + invalidParams.Add(request.NewErrParamRequired("Domain")) + } + if s.Domain != nil && len(*s.Domain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Domain", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomain sets the Domain field's value. +func (s *AmazonElasticsearchParameters) SetDomain(v string) *AmazonElasticsearchParameters { + s.Domain = &v + return s +} + +// Athena parameters. +type AthenaParameters struct { + _ struct{} `type:"structure"` + + // The workgroup that Athena uses. + WorkGroup *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s AthenaParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AthenaParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AthenaParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AthenaParameters"} + if s.WorkGroup != nil && len(*s.WorkGroup) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkGroup", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *AthenaParameters) SetWorkGroup(v string) *AthenaParameters { + s.WorkGroup = &v + return s +} + +// Aurora parameters. +type AuroraParameters struct { + _ struct{} `type:"structure"` + + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` + + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` + + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s AuroraParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuroraParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AuroraParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AuroraParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabase sets the Database field's value. +func (s *AuroraParameters) SetDatabase(v string) *AuroraParameters { + s.Database = &v + return s +} + +// SetHost sets the Host field's value. +func (s *AuroraParameters) SetHost(v string) *AuroraParameters { + s.Host = &v + return s +} + +// SetPort sets the Port field's value. +func (s *AuroraParameters) SetPort(v int64) *AuroraParameters { + s.Port = &v + return s +} + +// Aurora PostgreSQL parameters. +type AuroraPostgreSqlParameters struct { + _ struct{} `type:"structure"` + + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` + + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` + + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s AuroraPostgreSqlParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuroraPostgreSqlParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AuroraPostgreSqlParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AuroraPostgreSqlParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabase sets the Database field's value. +func (s *AuroraPostgreSqlParameters) SetDatabase(v string) *AuroraPostgreSqlParameters { + s.Database = &v + return s +} + +// SetHost sets the Host field's value. +func (s *AuroraPostgreSqlParameters) SetHost(v string) *AuroraPostgreSqlParameters { + s.Host = &v + return s +} + +// SetPort sets the Port field's value. +func (s *AuroraPostgreSqlParameters) SetPort(v int64) *AuroraPostgreSqlParameters { + s.Port = &v + return s +} + +// AWS IoT Analytics parameters. +type AwsIotAnalyticsParameters struct { + _ struct{} `type:"structure"` + + // Dataset name. + // + // DataSetName is a required field + DataSetName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AwsIotAnalyticsParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsIotAnalyticsParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AwsIotAnalyticsParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AwsIotAnalyticsParameters"} + if s.DataSetName == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetName")) + } + if s.DataSetName != nil && len(*s.DataSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataSetName sets the DataSetName field's value. +func (s *AwsIotAnalyticsParameters) SetDataSetName(v string) *AwsIotAnalyticsParameters { + s.DataSetName = &v + return s +} + +// A calculated column for a dataset. +type CalculatedColumn struct { + _ struct{} `type:"structure"` + + // A unique ID to identify a calculated column. During dataset update, if the + // column ID of a calculated column matches that of an existing calculated column, + // QuickSight preserves the existing calculated column. + // + // ColumnId is a required field + ColumnId *string `min:"1" type:"string" required:"true"` + + // Column name. + // + // ColumnName is a required field + ColumnName *string `min:"1" type:"string" required:"true"` + + // An expression that defines the calculated column. + // + // Expression is a required field + Expression *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CalculatedColumn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CalculatedColumn) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CalculatedColumn) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CalculatedColumn"} + if s.ColumnId == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnId")) + } + if s.ColumnId != nil && len(*s.ColumnId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnId", 1)) + } + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) + } + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + } + if s.Expression == nil { + invalidParams.Add(request.NewErrParamRequired("Expression")) + } + if s.Expression != nil && len(*s.Expression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumnId sets the ColumnId field's value. +func (s *CalculatedColumn) SetColumnId(v string) *CalculatedColumn { + s.ColumnId = &v + return s +} + +// SetColumnName sets the ColumnName field's value. +func (s *CalculatedColumn) SetColumnName(v string) *CalculatedColumn { + s.ColumnName = &v + return s +} + +// SetExpression sets the Expression field's value. +func (s *CalculatedColumn) SetExpression(v string) *CalculatedColumn { + s.Expression = &v + return s +} + +type CancelIngestionInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID of the dataset used in the ingestion. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + + // An ID for the ingestion. + // + // IngestionId is a required field + IngestionId *string `location:"uri" locationName:"IngestionId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CancelIngestionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelIngestionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelIngestionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelIngestionInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } + if s.IngestionId == nil { + invalidParams.Add(request.NewErrParamRequired("IngestionId")) + } + if s.IngestionId != nil && len(*s.IngestionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IngestionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CancelIngestionInput) SetAwsAccountId(v string) *CancelIngestionInput { + s.AwsAccountId = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *CancelIngestionInput) SetDataSetId(v string) *CancelIngestionInput { + s.DataSetId = &v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *CancelIngestionInput) SetIngestionId(v string) *CancelIngestionInput { + s.IngestionId = &v + return s +} + +type CancelIngestionOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the data ingestion. + Arn *string `type:"string"` + + // An ID for the ingestion. + IngestionId *string `min:"1" type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CancelIngestionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelIngestionOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CancelIngestionOutput) SetArn(v string) *CancelIngestionOutput { + s.Arn = &v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *CancelIngestionOutput) SetIngestionId(v string) *CancelIngestionOutput { + s.IngestionId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CancelIngestionOutput) SetRequestId(v string) *CancelIngestionOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CancelIngestionOutput) SetStatus(v int64) *CancelIngestionOutput { + s.Status = &v + return s +} + +// A transform operation that casts a column to a different type. +type CastColumnTypeOperation struct { + _ struct{} `type:"structure"` + + // Column name. + // + // ColumnName is a required field + ColumnName *string `min:"1" type:"string" required:"true"` + + // When casting a column from string to datetime type, you can supply a QuickSight + // supported format string to denote the source data format. + Format *string `type:"string"` + + // New column data type. + // + // NewColumnType is a required field + NewColumnType *string `type:"string" required:"true" enum:"ColumnDataType"` +} + +// String returns the string representation +func (s CastColumnTypeOperation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CastColumnTypeOperation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CastColumnTypeOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CastColumnTypeOperation"} + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) + } + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + } + if s.NewColumnType == nil { + invalidParams.Add(request.NewErrParamRequired("NewColumnType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumnName sets the ColumnName field's value. +func (s *CastColumnTypeOperation) SetColumnName(v string) *CastColumnTypeOperation { + s.ColumnName = &v + return s +} + +// SetFormat sets the Format field's value. +func (s *CastColumnTypeOperation) SetFormat(v string) *CastColumnTypeOperation { + s.Format = &v + return s +} + +// SetNewColumnType sets the NewColumnType field's value. +func (s *CastColumnTypeOperation) SetNewColumnType(v string) *CastColumnTypeOperation { + s.NewColumnType = &v + return s +} + +// Groupings of columns that work together in certain QuickSight features. This +// is a variant type structure. No more than one of the attributes should be +// non-null for this structure to be valid. +type ColumnGroup struct { + _ struct{} `type:"structure"` + + // Geospatial column group that denotes a hierarchy. + GeoSpatialColumnGroup *GeoSpatialColumnGroup `type:"structure"` +} + +// String returns the string representation +func (s ColumnGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnGroup) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ColumnGroup) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ColumnGroup"} + if s.GeoSpatialColumnGroup != nil { + if err := s.GeoSpatialColumnGroup.Validate(); err != nil { + invalidParams.AddNested("GeoSpatialColumnGroup", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGeoSpatialColumnGroup sets the GeoSpatialColumnGroup field's value. +func (s *ColumnGroup) SetGeoSpatialColumnGroup(v *GeoSpatialColumnGroup) *ColumnGroup { + s.GeoSpatialColumnGroup = v + return s +} + +// A structure describing the name, datatype, and geographic role of the columns. +type ColumnGroupColumnSchema struct { + _ struct{} `type:"structure"` + + // The name of the column group's column schema. + Name *string `type:"string"` +} + +// String returns the string representation +func (s ColumnGroupColumnSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnGroupColumnSchema) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *ColumnGroupColumnSchema) SetName(v string) *ColumnGroupColumnSchema { + s.Name = &v + return s +} + +// The column group schema. +type ColumnGroupSchema struct { + _ struct{} `type:"structure"` + + // A structure containing the list of column group column schemas. + ColumnGroupColumnSchemaList []*ColumnGroupColumnSchema `type:"list"` + + // The name of the column group schema. + Name *string `type:"string"` +} + +// String returns the string representation +func (s ColumnGroupSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnGroupSchema) GoString() string { + return s.String() +} + +// SetColumnGroupColumnSchemaList sets the ColumnGroupColumnSchemaList field's value. +func (s *ColumnGroupSchema) SetColumnGroupColumnSchemaList(v []*ColumnGroupColumnSchema) *ColumnGroupSchema { + s.ColumnGroupColumnSchemaList = v + return s +} + +// SetName sets the Name field's value. +func (s *ColumnGroupSchema) SetName(v string) *ColumnGroupSchema { + s.Name = &v + return s +} + +// The column schema. +type ColumnSchema struct { + _ struct{} `type:"structure"` + + // The data type of the column schema. + DataType *string `type:"string"` + + // The geographic role of the column schema. + GeographicRole *string `type:"string"` + + // The name of the column schema. + Name *string `type:"string"` +} + +// String returns the string representation +func (s ColumnSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnSchema) GoString() string { + return s.String() +} + +// SetDataType sets the DataType field's value. +func (s *ColumnSchema) SetDataType(v string) *ColumnSchema { + s.DataType = &v + return s +} + +// SetGeographicRole sets the GeographicRole field's value. +func (s *ColumnSchema) SetGeographicRole(v string) *ColumnSchema { + s.GeographicRole = &v + return s +} + +// SetName sets the Name field's value. +func (s *ColumnSchema) SetName(v string) *ColumnSchema { + s.Name = &v + return s +} + +// A tag for a column in a TagColumnOperation. This is a variant type structure. +// No more than one of the attributes should be non-null for this structure +// to be valid. +type ColumnTag struct { + _ struct{} `type:"structure"` + + // A geospatial role for a column. + ColumnGeographicRole *string `type:"string" enum:"GeoSpatialDataRole"` +} + +// String returns the string representation +func (s ColumnTag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnTag) GoString() string { + return s.String() +} + +// SetColumnGeographicRole sets the ColumnGeographicRole field's value. +func (s *ColumnTag) SetColumnGeographicRole(v string) *ColumnTag { + s.ColumnGeographicRole = &v + return s +} + +// A transform operation that creates calculated columns. Columns created in +// one such operation form a lexical closure. +type CreateColumnsOperation struct { + _ struct{} `type:"structure"` + + // Calculated columns to create. + // + // Columns is a required field + Columns []*CalculatedColumn `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s CreateColumnsOperation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateColumnsOperation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateColumnsOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateColumnsOperation"} + if s.Columns == nil { + invalidParams.Add(request.NewErrParamRequired("Columns")) + } + if s.Columns != nil && len(s.Columns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Columns", 1)) + } + if s.Columns != nil { + for i, v := range s.Columns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Columns", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumns sets the Columns field's value. +func (s *CreateColumnsOperation) SetColumns(v []*CalculatedColumn) *CreateColumnsOperation { + s.Columns = v + return s +} + +type CreateDashboardInput struct { + _ struct{} `type:"structure"` + + // AWS account ID where you want to create the dashboard. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID for the dashboard, also added to IAM policy. + // + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + + // Publishing options when creating dashboard. + // + // * AvailabilityStatus for AdHocFilteringOption - This can be either ENABLED + // or DISABLED. When This is set to set to DISABLED, QuickSight disables + // the left filter pane on the published dashboard, which can be used for + // AdHoc filtering. Enabled by default. + // + // * AvailabilityStatus for ExportToCSVOption - This can be either ENABLED + // or DISABLED. The visual option to export data to CSV is disabled when + // this is set to DISABLED. Enabled by default. + // + // * VisibilityState for SheetControlsOption - This can be either COLLAPSED + // or EXPANDED. The sheet controls pane is collapsed by default when set + // to true. Collapsed by default. + // + // Shorthand Syntax: + // + // AdHocFilteringDisabled=boolean,ExportToCSVDisabled=boolean,SheetControlsCollapsed=boolean + DashboardPublishOptions *DashboardPublishOptions `type:"structure"` + + // The display name of the dashboard. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A structure that contains the parameters of the dashboard. These are parameter + // overrides for a dashboard. A dashboard can have any type of parameters and + // some parameters might accept multiple values. You could use the following + // structure to override two string parameters that accept multiple values: + Parameters *Parameters `type:"structure"` + + // A structure that contains the permissions of the dashboard. You can use this + // for granting permissions with principal and action information. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // Source entity from which the dashboard is created. The souce entity accepts + // the ARN of the source template or analysis and also references the replacement + // datasets for the placeholders set when creating the template. The replacement + // datasets need to follow the same schema as the datasets for which placeholders + // were created when creating the template. + // + // If you are creating a dashboard from a source entity in a different AWS account, + // use the ARN of the source template. + // + // SourceEntity is a required field + SourceEntity *DashboardSourceEntity `type:"structure" required:"true"` + + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the dashboard. + Tags []*Tag `min:"1" type:"list"` + + // A description for the first version of the dashboard being created. + VersionDescription *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateDashboardInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDashboardInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDashboardInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDashboardInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) + } + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 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.Permissions != nil && len(s.Permissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) + } + if s.SourceEntity == nil { + invalidParams.Add(request.NewErrParamRequired("SourceEntity")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) + } + if s.Parameters != nil { + if err := s.Parameters.Validate(); err != nil { + invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) + } + } + if s.Permissions != nil { + for i, v := range s.Permissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SourceEntity != nil { + if err := s.SourceEntity.Validate(); err != nil { + invalidParams.AddNested("SourceEntity", 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 + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateDashboardInput) SetAwsAccountId(v string) *CreateDashboardInput { + s.AwsAccountId = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *CreateDashboardInput) SetDashboardId(v string) *CreateDashboardInput { + s.DashboardId = &v + return s +} + +// SetDashboardPublishOptions sets the DashboardPublishOptions field's value. +func (s *CreateDashboardInput) SetDashboardPublishOptions(v *DashboardPublishOptions) *CreateDashboardInput { + s.DashboardPublishOptions = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDashboardInput) SetName(v string) *CreateDashboardInput { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *CreateDashboardInput) SetParameters(v *Parameters) *CreateDashboardInput { + s.Parameters = v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *CreateDashboardInput) SetPermissions(v []*ResourcePermission) *CreateDashboardInput { + s.Permissions = v + return s +} + +// SetSourceEntity sets the SourceEntity field's value. +func (s *CreateDashboardInput) SetSourceEntity(v *DashboardSourceEntity) *CreateDashboardInput { + s.SourceEntity = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDashboardInput) SetTags(v []*Tag) *CreateDashboardInput { + s.Tags = v + return s +} + +// SetVersionDescription sets the VersionDescription field's value. +func (s *CreateDashboardInput) SetVersionDescription(v string) *CreateDashboardInput { + s.VersionDescription = &v + return s +} + +type CreateDashboardOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the dashboard. + Arn *string `type:"string"` + + // The creation status of the dashboard create request. + CreationStatus *string `type:"string" enum:"ResourceStatus"` + + // The ID for the dashboard. + DashboardId *string `min:"1" type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // The ARN of the dashboard, including the version number of the first version + // that is created. + VersionArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateDashboardOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDashboardOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateDashboardOutput) SetArn(v string) *CreateDashboardOutput { + s.Arn = &v + return s +} + +// SetCreationStatus sets the CreationStatus field's value. +func (s *CreateDashboardOutput) SetCreationStatus(v string) *CreateDashboardOutput { + s.CreationStatus = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *CreateDashboardOutput) SetDashboardId(v string) *CreateDashboardOutput { + s.DashboardId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateDashboardOutput) SetRequestId(v string) *CreateDashboardOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateDashboardOutput) SetStatus(v int64) *CreateDashboardOutput { + s.Status = &v + return s +} + +// SetVersionArn sets the VersionArn field's value. +func (s *CreateDashboardOutput) SetVersionArn(v string) *CreateDashboardOutput { + s.VersionArn = &v + return s +} + +type CreateDataSetInput struct { + _ struct{} `type:"structure"` + + // The AWS Account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // Groupings of columns that work together in certain QuickSight features. Currently + // only geospatial hierarchy is supported. + ColumnGroups []*ColumnGroup `min:"1" type:"list"` + + // An ID for the dataset you want to create. This is unique per region per AWS + // account. + // + // DataSetId is a required field + DataSetId *string `type:"string" required:"true"` + + // Indicates whether or not you want to import the data into SPICE. + // + // ImportMode is a required field + ImportMode *string `type:"string" required:"true" enum:"DataSetImportMode"` + + // Configures the combination and transformation of the data from the physical + // tables. + LogicalTableMap map[string]*LogicalTable `min:"1" type:"map"` + + // The display name for the dataset. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A list of resource permissions on the dataset. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // Declares the physical tables that are available in the underlying data sources. + // + // PhysicalTableMap is a required field + PhysicalTableMap map[string]*PhysicalTable `min:"1" type:"map" required:"true"` + + // Row-level security configuration on the data you want to create. + RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` + + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the dataset. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation +func (s CreateDataSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDataSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDataSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDataSetInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.ColumnGroups != nil && len(s.ColumnGroups) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnGroups", 1)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.ImportMode == nil { + invalidParams.Add(request.NewErrParamRequired("ImportMode")) + } + if s.LogicalTableMap != nil && len(s.LogicalTableMap) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogicalTableMap", 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.Permissions != nil && len(s.Permissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) + } + if s.PhysicalTableMap == nil { + invalidParams.Add(request.NewErrParamRequired("PhysicalTableMap")) + } + if s.PhysicalTableMap != nil && len(s.PhysicalTableMap) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PhysicalTableMap", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.ColumnGroups != nil { + for i, v := range s.ColumnGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ColumnGroups", i), err.(request.ErrInvalidParams)) + } + } + } + if s.LogicalTableMap != nil { + for i, v := range s.LogicalTableMap { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LogicalTableMap", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Permissions != nil { + for i, v := range s.Permissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PhysicalTableMap != nil { + for i, v := range s.PhysicalTableMap { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PhysicalTableMap", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RowLevelPermissionDataSet != nil { + if err := s.RowLevelPermissionDataSet.Validate(); err != nil { + invalidParams.AddNested("RowLevelPermissionDataSet", 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 + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateDataSetInput) SetAwsAccountId(v string) *CreateDataSetInput { + s.AwsAccountId = &v + return s +} + +// SetColumnGroups sets the ColumnGroups field's value. +func (s *CreateDataSetInput) SetColumnGroups(v []*ColumnGroup) *CreateDataSetInput { + s.ColumnGroups = v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *CreateDataSetInput) SetDataSetId(v string) *CreateDataSetInput { + s.DataSetId = &v + return s +} + +// SetImportMode sets the ImportMode field's value. +func (s *CreateDataSetInput) SetImportMode(v string) *CreateDataSetInput { + s.ImportMode = &v + return s +} + +// SetLogicalTableMap sets the LogicalTableMap field's value. +func (s *CreateDataSetInput) SetLogicalTableMap(v map[string]*LogicalTable) *CreateDataSetInput { + s.LogicalTableMap = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDataSetInput) SetName(v string) *CreateDataSetInput { + s.Name = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *CreateDataSetInput) SetPermissions(v []*ResourcePermission) *CreateDataSetInput { + s.Permissions = v + return s +} + +// SetPhysicalTableMap sets the PhysicalTableMap field's value. +func (s *CreateDataSetInput) SetPhysicalTableMap(v map[string]*PhysicalTable) *CreateDataSetInput { + s.PhysicalTableMap = v + return s +} + +// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. +func (s *CreateDataSetInput) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *CreateDataSetInput { + s.RowLevelPermissionDataSet = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDataSetInput) SetTags(v []*Tag) *CreateDataSetInput { + s.Tags = v + return s +} + +type CreateDataSetOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the dataset. + Arn *string `type:"string"` + + // The ID for the dataset you want to create. This is unique per region per + // AWS account. + DataSetId *string `type:"string"` + + // The Amazon Resource Name (ARN) for the ingestion, which is triggered as a + // result of dataset creation if the import mode is SPICE + IngestionArn *string `type:"string"` + + // The ID of the ingestion, which is triggered as a result of dataset creation + // if the import mode is SPICE + IngestionId *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateDataSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDataSetOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateDataSetOutput) SetArn(v string) *CreateDataSetOutput { + s.Arn = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *CreateDataSetOutput) SetDataSetId(v string) *CreateDataSetOutput { + s.DataSetId = &v + return s +} + +// SetIngestionArn sets the IngestionArn field's value. +func (s *CreateDataSetOutput) SetIngestionArn(v string) *CreateDataSetOutput { + s.IngestionArn = &v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *CreateDataSetOutput) SetIngestionId(v string) *CreateDataSetOutput { + s.IngestionId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateDataSetOutput) SetRequestId(v string) *CreateDataSetOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateDataSetOutput) SetStatus(v int64) *CreateDataSetOutput { + s.Status = &v + return s +} + +type CreateDataSourceInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The credentials QuickSight uses to connect to your underlying source. Currently + // only username/password based credentials are supported. + Credentials *DataSourceCredentials `type:"structure" sensitive:"true"` + + // An ID for the data source. This is unique per AWS Region per AWS account. + // + // DataSourceId is a required field + DataSourceId *string `type:"string" required:"true"` + + // The parameters QuickSight uses to connect to your underlying source. + DataSourceParameters *DataSourceParameters `type:"structure"` + + // A display name for the data source. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A list of resource permissions on the data source. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // SSL properties that apply when QuickSight connects to your underlying source. + SslProperties *SslProperties `type:"structure"` + + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the data source. + Tags []*Tag `min:"1" type:"list"` + + // The type of the data source. Currently the supported types for this operation + // are: ATHENA, AURORA, AURORA_POSTGRESQL, MARIADB, MYSQL, POSTGRESQL, PRESTO, + // REDSHIFT, S3, SNOWFLAKE, SPARK, SQLSERVER, TERADATA. Use ListDataSources + // to return a list of all data sources. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"DataSourceType"` + + // You need to use this parameter only when you want QuickSight to use a VPC + // connection when connecting to your underlying source. + VpcConnectionProperties *VpcConnectionProperties `type:"structure"` +} + +// String returns the string representation +func (s CreateDataSourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDataSourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDataSourceInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) + } + 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.Permissions != nil && len(s.Permissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Credentials != nil { + if err := s.Credentials.Validate(); err != nil { + invalidParams.AddNested("Credentials", err.(request.ErrInvalidParams)) + } + } + if s.DataSourceParameters != nil { + if err := s.DataSourceParameters.Validate(); err != nil { + invalidParams.AddNested("DataSourceParameters", err.(request.ErrInvalidParams)) + } + } + if s.Permissions != nil { + for i, v := range s.Permissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), 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 s.VpcConnectionProperties != nil { + if err := s.VpcConnectionProperties.Validate(); err != nil { + invalidParams.AddNested("VpcConnectionProperties", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateDataSourceInput) SetAwsAccountId(v string) *CreateDataSourceInput { + s.AwsAccountId = &v + return s +} + +// SetCredentials sets the Credentials field's value. +func (s *CreateDataSourceInput) SetCredentials(v *DataSourceCredentials) *CreateDataSourceInput { + s.Credentials = v + return s +} + +// SetDataSourceId sets the DataSourceId field's value. +func (s *CreateDataSourceInput) SetDataSourceId(v string) *CreateDataSourceInput { + s.DataSourceId = &v + return s +} + +// SetDataSourceParameters sets the DataSourceParameters field's value. +func (s *CreateDataSourceInput) SetDataSourceParameters(v *DataSourceParameters) *CreateDataSourceInput { + s.DataSourceParameters = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDataSourceInput) SetName(v string) *CreateDataSourceInput { + s.Name = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *CreateDataSourceInput) SetPermissions(v []*ResourcePermission) *CreateDataSourceInput { + s.Permissions = v + return s +} + +// SetSslProperties sets the SslProperties field's value. +func (s *CreateDataSourceInput) SetSslProperties(v *SslProperties) *CreateDataSourceInput { + s.SslProperties = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDataSourceInput) SetTags(v []*Tag) *CreateDataSourceInput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateDataSourceInput) SetType(v string) *CreateDataSourceInput { + s.Type = &v + return s +} + +// SetVpcConnectionProperties sets the VpcConnectionProperties field's value. +func (s *CreateDataSourceInput) SetVpcConnectionProperties(v *VpcConnectionProperties) *CreateDataSourceInput { + s.VpcConnectionProperties = v + return s +} + +type CreateDataSourceOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the data source. + Arn *string `type:"string"` + + // The status of creating the data source. + CreationStatus *string `type:"string" enum:"ResourceStatus"` + + // The ID of the data source. This is unique per AWS Region per AWS account. + DataSourceId *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateDataSourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDataSourceOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateDataSourceOutput) SetArn(v string) *CreateDataSourceOutput { + s.Arn = &v + return s +} + +// SetCreationStatus sets the CreationStatus field's value. +func (s *CreateDataSourceOutput) SetCreationStatus(v string) *CreateDataSourceOutput { + s.CreationStatus = &v + return s +} + +// SetDataSourceId sets the DataSourceId field's value. +func (s *CreateDataSourceOutput) SetDataSourceId(v string) *CreateDataSourceOutput { + s.DataSourceId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateDataSourceOutput) SetRequestId(v string) *CreateDataSourceOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateDataSourceOutput) SetStatus(v int64) *CreateDataSourceOutput { + s.Status = &v + return s +} + +// The request object for this operation. +type CreateGroupInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // A description for the group that you want to create. + Description *string `min:"1" type:"string"` + + // A name for the group that you want to create. + // + // GroupName is a required field + GroupName *string `min:"1" type:"string" required:"true"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateGroupInput) SetAwsAccountId(v string) *CreateGroupInput { + s.AwsAccountId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateGroupInput) SetDescription(v string) *CreateGroupInput { + s.Description = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *CreateGroupInput) SetGroupName(v string) *CreateGroupInput { + s.GroupName = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *CreateGroupInput) SetNamespace(v string) *CreateGroupInput { + s.Namespace = &v + return s +} + +type CreateGroupMembershipInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The name of the group that you want to add the user to. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + + // The name of the user that you want to add to the group membership. + // + // MemberName is a required field + MemberName *string `location:"uri" locationName:"MemberName" min:"1" type:"string" required:"true"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateGroupMembershipInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGroupMembershipInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGroupMembershipInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGroupMembershipInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + if s.MemberName == nil { + invalidParams.Add(request.NewErrParamRequired("MemberName")) + } + if s.MemberName != nil && len(*s.MemberName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MemberName", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateGroupMembershipInput) SetAwsAccountId(v string) *CreateGroupMembershipInput { + s.AwsAccountId = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *CreateGroupMembershipInput) SetGroupName(v string) *CreateGroupMembershipInput { + s.GroupName = &v + return s +} + +// SetMemberName sets the MemberName field's value. +func (s *CreateGroupMembershipInput) SetMemberName(v string) *CreateGroupMembershipInput { + s.MemberName = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *CreateGroupMembershipInput) SetNamespace(v string) *CreateGroupMembershipInput { + s.Namespace = &v + return s +} + +type CreateGroupMembershipOutput struct { + _ struct{} `type:"structure"` + + // The group member. + GroupMember *GroupMember `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateGroupMembershipOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGroupMembershipOutput) GoString() string { + return s.String() +} + +// SetGroupMember sets the GroupMember field's value. +func (s *CreateGroupMembershipOutput) SetGroupMember(v *GroupMember) *CreateGroupMembershipOutput { + s.GroupMember = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateGroupMembershipOutput) SetRequestId(v string) *CreateGroupMembershipOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateGroupMembershipOutput) SetStatus(v int64) *CreateGroupMembershipOutput { + s.Status = &v + return s +} + +// The response object for this operation. +type CreateGroupOutput struct { + _ struct{} `type:"structure"` + + // The name of the group. + Group *Group `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGroupOutput) GoString() string { + return s.String() +} + +// SetGroup sets the Group field's value. +func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput { + s.Group = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateGroupOutput) SetRequestId(v string) *CreateGroupOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateGroupOutput) SetStatus(v int64) *CreateGroupOutput { + s.Status = &v + return s +} + +type CreateIAMPolicyAssignmentInput struct { + _ struct{} `type:"structure"` + + // The name of the assignment. It must be unique within an AWS account. + // + // AssignmentName is a required field + AssignmentName *string `min:"1" type:"string" required:"true"` + + // The status of an assignment: + // + // * ENABLED - Anything specified in this assignment is used while creating + // the data source. + // + // * DISABLED - This assignment isn't used while creating the data source. + // + // * DRAFT - Assignment is an unfinished draft and isn't used while creating + // the data source. + // + // AssignmentStatus is a required field + AssignmentStatus *string `type:"string" required:"true" enum:"AssignmentStatus"` + + // The AWS Account ID where you want to assign QuickSight users or groups to + // an IAM policy. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // QuickSight users and/or groups that you want to assign the policy to. + Identities map[string][]*string `type:"map"` + + // The namespace that contains the assignment. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // An IAM policy ARN that you want to apply to the QuickSight users and groups + // specified in this assignment. + PolicyArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateIAMPolicyAssignmentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIAMPolicyAssignmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateIAMPolicyAssignmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateIAMPolicyAssignmentInput"} + if s.AssignmentName == nil { + invalidParams.Add(request.NewErrParamRequired("AssignmentName")) + } + if s.AssignmentName != nil && len(*s.AssignmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssignmentName", 1)) + } + if s.AssignmentStatus == nil { + invalidParams.Add(request.NewErrParamRequired("AssignmentStatus")) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssignmentName sets the AssignmentName field's value. +func (s *CreateIAMPolicyAssignmentInput) SetAssignmentName(v string) *CreateIAMPolicyAssignmentInput { + s.AssignmentName = &v + return s +} + +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *CreateIAMPolicyAssignmentInput) SetAssignmentStatus(v string) *CreateIAMPolicyAssignmentInput { + s.AssignmentStatus = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateIAMPolicyAssignmentInput) SetAwsAccountId(v string) *CreateIAMPolicyAssignmentInput { + s.AwsAccountId = &v + return s +} + +// SetIdentities sets the Identities field's value. +func (s *CreateIAMPolicyAssignmentInput) SetIdentities(v map[string][]*string) *CreateIAMPolicyAssignmentInput { + s.Identities = v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *CreateIAMPolicyAssignmentInput) SetNamespace(v string) *CreateIAMPolicyAssignmentInput { + s.Namespace = &v + return s +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *CreateIAMPolicyAssignmentInput) SetPolicyArn(v string) *CreateIAMPolicyAssignmentInput { + s.PolicyArn = &v + return s +} + +type CreateIAMPolicyAssignmentOutput struct { + _ struct{} `type:"structure"` + + // An ID for the assignment. + AssignmentId *string `type:"string"` + + // The name of the assignment. Must be unique within an AWS account. + AssignmentName *string `min:"1" type:"string"` + + // The status of an assignment: + // + // * ENABLED - Anything specified in this assignment is used while creating + // the data source. + // + // * DISABLED - This assignment isn't used while creating the data source. + // + // * DRAFT - Assignment is an unfinished draft and isn't used while creating + // the data source. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` + + // QuickSight users and/or groups that are assigned to the IAM policy. + Identities map[string][]*string `type:"map"` + + // An IAM policy ARN that is applied to the QuickSight users and groups specified + // in this assignment. + PolicyArn *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateIAMPolicyAssignmentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIAMPolicyAssignmentOutput) GoString() string { + return s.String() +} + +// SetAssignmentId sets the AssignmentId field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetAssignmentId(v string) *CreateIAMPolicyAssignmentOutput { + s.AssignmentId = &v + return s +} + +// SetAssignmentName sets the AssignmentName field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetAssignmentName(v string) *CreateIAMPolicyAssignmentOutput { + s.AssignmentName = &v + return s +} + +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetAssignmentStatus(v string) *CreateIAMPolicyAssignmentOutput { + s.AssignmentStatus = &v + return s +} + +// SetIdentities sets the Identities field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetIdentities(v map[string][]*string) *CreateIAMPolicyAssignmentOutput { + s.Identities = v + return s +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetPolicyArn(v string) *CreateIAMPolicyAssignmentOutput { + s.PolicyArn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetRequestId(v string) *CreateIAMPolicyAssignmentOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetStatus(v int64) *CreateIAMPolicyAssignmentOutput { + s.Status = &v + return s +} + +type CreateIngestionInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID of the dataset used in the ingestion. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + + // An ID for the ingestion. + // + // IngestionId is a required field + IngestionId *string `location:"uri" locationName:"IngestionId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateIngestionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIngestionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateIngestionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateIngestionInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } + if s.IngestionId == nil { + invalidParams.Add(request.NewErrParamRequired("IngestionId")) + } + if s.IngestionId != nil && len(*s.IngestionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IngestionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateIngestionInput) SetAwsAccountId(v string) *CreateIngestionInput { + s.AwsAccountId = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *CreateIngestionInput) SetDataSetId(v string) *CreateIngestionInput { + s.DataSetId = &v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *CreateIngestionInput) SetIngestionId(v string) *CreateIngestionInput { + s.IngestionId = &v + return s +} + +type CreateIngestionOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the data ingestion. + Arn *string `type:"string"` + + // An ID for the ingestion. + IngestionId *string `min:"1" type:"string"` + + // The ingestion status. + IngestionStatus *string `type:"string" enum:"IngestionStatus"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateIngestionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIngestionOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateIngestionOutput) SetArn(v string) *CreateIngestionOutput { + s.Arn = &v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *CreateIngestionOutput) SetIngestionId(v string) *CreateIngestionOutput { + s.IngestionId = &v + return s +} + +// SetIngestionStatus sets the IngestionStatus field's value. +func (s *CreateIngestionOutput) SetIngestionStatus(v string) *CreateIngestionOutput { + s.IngestionStatus = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateIngestionOutput) SetRequestId(v string) *CreateIngestionOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateIngestionOutput) SetStatus(v int64) *CreateIngestionOutput { + s.Status = &v + return s +} + +type CreateTemplateAliasInput struct { + _ struct{} `type:"structure"` + + // The name you want to give the template's alias. Alias names can't begin with + // a $, which is reserved by QuickSight. Alias names that start with ‘$’ + // sign are QuickSight reserved naming and can't be deleted. + // + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` + + // AWS account ID that contains the template you are aliasing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // An ID for the template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + + // The version number of the template. + // + // TemplateVersionNumber is a required field + TemplateVersionNumber *int64 `min:"1" type:"long" required:"true"` +} + +// String returns the string representation +func (s CreateTemplateAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTemplateAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTemplateAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTemplateAliasInput"} + if s.AliasName == nil { + invalidParams.Add(request.NewErrParamRequired("AliasName")) + } + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + if s.TemplateVersionNumber == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateVersionNumber")) + } + if s.TemplateVersionNumber != nil && *s.TemplateVersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("TemplateVersionNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasName sets the AliasName field's value. +func (s *CreateTemplateAliasInput) SetAliasName(v string) *CreateTemplateAliasInput { + s.AliasName = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateTemplateAliasInput) SetAwsAccountId(v string) *CreateTemplateAliasInput { + s.AwsAccountId = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *CreateTemplateAliasInput) SetTemplateId(v string) *CreateTemplateAliasInput { + s.TemplateId = &v + return s +} + +// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. +func (s *CreateTemplateAliasInput) SetTemplateVersionNumber(v int64) *CreateTemplateAliasInput { + s.TemplateVersionNumber = &v + return s +} + +type CreateTemplateAliasOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // Information on the template alias. + TemplateAlias *TemplateAlias `type:"structure"` +} + +// String returns the string representation +func (s CreateTemplateAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTemplateAliasOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateTemplateAliasOutput) SetRequestId(v string) *CreateTemplateAliasOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateTemplateAliasOutput) SetStatus(v int64) *CreateTemplateAliasOutput { + s.Status = &v + return s +} + +// SetTemplateAlias sets the TemplateAlias field's value. +func (s *CreateTemplateAliasOutput) SetTemplateAlias(v *TemplateAlias) *CreateTemplateAliasOutput { + s.TemplateAlias = v + return s +} + +type CreateTemplateInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // A display name for the template. + Name *string `min:"1" type:"string"` + + // A list of resource permissions to be set on the template. The shorthand syntax + // should look similar to this: Shorthand Syntax: Principal=string,Actions=string,string + // ... + Permissions []*ResourcePermission `min:"1" type:"list"` + + // The ARN of the source entity from which this template is being created. Templates + // can be currently created from an analysis or another template. If the ARN + // is for an analysis, you must include its dataset references. + // + // SourceEntity is a required field + SourceEntity *TemplateSourceEntity `type:"structure" required:"true"` + + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the resource. + Tags []*Tag `min:"1" type:"list"` + + // An ID for the template you want to create. This is unique per AWS region + // per AWS account. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + + // A description of the current template version being created. This API created + // the first version of the template. Every time UpdateTemplate is called a + // new version is created. Each version of the template maintains a description + // of the version in the VersionDescription field. + VersionDescription *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTemplateInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Permissions != nil && len(s.Permissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) + } + if s.SourceEntity == nil { + invalidParams.Add(request.NewErrParamRequired("SourceEntity")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) + } + if s.Permissions != nil { + for i, v := range s.Permissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SourceEntity != nil { + if err := s.SourceEntity.Validate(); err != nil { + invalidParams.AddNested("SourceEntity", 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 + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateTemplateInput) SetAwsAccountId(v string) *CreateTemplateInput { + s.AwsAccountId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateTemplateInput) SetName(v string) *CreateTemplateInput { + s.Name = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *CreateTemplateInput) SetPermissions(v []*ResourcePermission) *CreateTemplateInput { + s.Permissions = v + return s +} + +// SetSourceEntity sets the SourceEntity field's value. +func (s *CreateTemplateInput) SetSourceEntity(v *TemplateSourceEntity) *CreateTemplateInput { + s.SourceEntity = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTemplateInput) SetTags(v []*Tag) *CreateTemplateInput { + s.Tags = v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *CreateTemplateInput) SetTemplateId(v string) *CreateTemplateInput { + s.TemplateId = &v + return s +} + +// SetVersionDescription sets the VersionDescription field's value. +func (s *CreateTemplateInput) SetVersionDescription(v string) *CreateTemplateInput { + s.VersionDescription = &v + return s +} + +type CreateTemplateOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the template. + Arn *string `type:"string"` + + // The template creation status. + CreationStatus *string `type:"string" enum:"ResourceStatus"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // The ID of the template. + TemplateId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) for the template, including the version information + // of the first version. + VersionArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTemplateOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateTemplateOutput) SetArn(v string) *CreateTemplateOutput { + s.Arn = &v + return s +} + +// SetCreationStatus sets the CreationStatus field's value. +func (s *CreateTemplateOutput) SetCreationStatus(v string) *CreateTemplateOutput { + s.CreationStatus = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateTemplateOutput) SetRequestId(v string) *CreateTemplateOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateTemplateOutput) SetStatus(v int64) *CreateTemplateOutput { + s.Status = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *CreateTemplateOutput) SetTemplateId(v string) *CreateTemplateOutput { + s.TemplateId = &v + return s +} + +// SetVersionArn sets the VersionArn field's value. +func (s *CreateTemplateOutput) SetVersionArn(v string) *CreateTemplateOutput { + s.VersionArn = &v + return s +} + +// The combination of username and password that are used as credentials. +type CredentialPair struct { + _ struct{} `type:"structure"` + + // Password. + // + // Password is a required field + Password *string `min:"1" type:"string" required:"true"` + + // Username. + // + // Username is a required field + Username *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CredentialPair) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CredentialPair) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CredentialPair) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CredentialPair"} + if s.Password == nil { + invalidParams.Add(request.NewErrParamRequired("Password")) + } + if s.Password != nil && len(*s.Password) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Password", 1)) + } + if s.Username == nil { + invalidParams.Add(request.NewErrParamRequired("Username")) + } + if s.Username != nil && len(*s.Username) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Username", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPassword sets the Password field's value. +func (s *CredentialPair) SetPassword(v string) *CredentialPair { + s.Password = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *CredentialPair) SetUsername(v string) *CredentialPair { + s.Username = &v + return s +} + +// A physical table type built from the results of the custom SQL query. +type CustomSql struct { + _ struct{} `type:"structure"` + + // The column schema from the SQL query result set. + Columns []*InputColumn `min:"1" type:"list"` + + // The ARN of the data source. + // + // DataSourceArn is a required field + DataSourceArn *string `type:"string" required:"true"` + + // A display name for the SQL query result. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The SQL query. + // + // SqlQuery is a required field + SqlQuery *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CustomSql) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomSql) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CustomSql) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomSql"} + if s.Columns != nil && len(s.Columns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Columns", 1)) + } + if s.DataSourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceArn")) + } + 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.SqlQuery == nil { + invalidParams.Add(request.NewErrParamRequired("SqlQuery")) + } + if s.SqlQuery != nil && len(*s.SqlQuery) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SqlQuery", 1)) + } + if s.Columns != nil { + for i, v := range s.Columns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Columns", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumns sets the Columns field's value. +func (s *CustomSql) SetColumns(v []*InputColumn) *CustomSql { + s.Columns = v + return s +} + +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *CustomSql) SetDataSourceArn(v string) *CustomSql { + s.DataSourceArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *CustomSql) SetName(v string) *CustomSql { + s.Name = &v + return s +} + +// SetSqlQuery sets the SqlQuery field's value. +func (s *CustomSql) SetSqlQuery(v string) *CustomSql { + s.SqlQuery = &v + return s +} + +// Dashboard. +type Dashboard struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) of the resource. + Arn *string `type:"string"` + + // The time this was created. + CreatedTime *time.Time `type:"timestamp"` + + // Dashboard ID. + DashboardId *string `min:"1" type:"string"` + + // The last time this was published. + LastPublishedTime *time.Time `type:"timestamp"` + + // The last time this was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A display name for the dataset. + Name *string `min:"1" type:"string"` + + // Version. + Version *DashboardVersion `type:"structure"` +} + +// String returns the string representation +func (s Dashboard) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Dashboard) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Dashboard) SetArn(v string) *Dashboard { + s.Arn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *Dashboard) SetCreatedTime(v time.Time) *Dashboard { + s.CreatedTime = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *Dashboard) SetDashboardId(v string) *Dashboard { + s.DashboardId = &v + return s +} + +// SetLastPublishedTime sets the LastPublishedTime field's value. +func (s *Dashboard) SetLastPublishedTime(v time.Time) *Dashboard { + s.LastPublishedTime = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Dashboard) SetLastUpdatedTime(v time.Time) *Dashboard { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Dashboard) SetName(v string) *Dashboard { + s.Name = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *Dashboard) SetVersion(v *DashboardVersion) *Dashboard { + s.Version = v + return s +} + +// Dashboard error. +type DashboardError struct { + _ struct{} `type:"structure"` + + // Message. + Message *string `type:"string"` + + // Type. + Type *string `type:"string" enum:"DashboardErrorType"` +} + +// String returns the string representation +func (s DashboardError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardError) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *DashboardError) SetMessage(v string) *DashboardError { + s.Message = &v + return s +} + +// SetType sets the Type field's value. +func (s *DashboardError) SetType(v string) *DashboardError { + s.Type = &v + return s +} + +// Dashboard publish options. +type DashboardPublishOptions struct { + _ struct{} `type:"structure"` + + // Ad hoc filtering option. + AdHocFilteringOption *AdHocFilteringOption `type:"structure"` + + // Export to CSV option. + ExportToCSVOption *ExportToCSVOption `type:"structure"` + + // Sheet controls option. + SheetControlsOption *SheetControlsOption `type:"structure"` +} + +// String returns the string representation +func (s DashboardPublishOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardPublishOptions) GoString() string { + return s.String() +} + +// SetAdHocFilteringOption sets the AdHocFilteringOption field's value. +func (s *DashboardPublishOptions) SetAdHocFilteringOption(v *AdHocFilteringOption) *DashboardPublishOptions { + s.AdHocFilteringOption = v + return s +} + +// SetExportToCSVOption sets the ExportToCSVOption field's value. +func (s *DashboardPublishOptions) SetExportToCSVOption(v *ExportToCSVOption) *DashboardPublishOptions { + s.ExportToCSVOption = v + return s +} + +// SetSheetControlsOption sets the SheetControlsOption field's value. +func (s *DashboardPublishOptions) SetSheetControlsOption(v *SheetControlsOption) *DashboardPublishOptions { + s.SheetControlsOption = v + return s +} + +// Dashboard source entity. +type DashboardSourceEntity struct { + _ struct{} `type:"structure"` + + // Source template. + SourceTemplate *DashboardSourceTemplate `type:"structure"` +} + +// String returns the string representation +func (s DashboardSourceEntity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardSourceEntity) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DashboardSourceEntity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DashboardSourceEntity"} + if s.SourceTemplate != nil { + if err := s.SourceTemplate.Validate(); err != nil { + invalidParams.AddNested("SourceTemplate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceTemplate sets the SourceTemplate field's value. +func (s *DashboardSourceEntity) SetSourceTemplate(v *DashboardSourceTemplate) *DashboardSourceEntity { + s.SourceTemplate = v + return s +} + +// Dashboard source template. +type DashboardSourceTemplate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) of the resource. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // Dataset references. + // + // DataSetReferences is a required field + DataSetReferences []*DataSetReference `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s DashboardSourceTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardSourceTemplate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DashboardSourceTemplate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DashboardSourceTemplate"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.DataSetReferences == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetReferences")) + } + if s.DataSetReferences != nil && len(s.DataSetReferences) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetReferences", 1)) + } + if s.DataSetReferences != nil { + for i, v := range s.DataSetReferences { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSetReferences", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DashboardSourceTemplate) SetArn(v string) *DashboardSourceTemplate { + s.Arn = &v + return s +} + +// SetDataSetReferences sets the DataSetReferences field's value. +func (s *DashboardSourceTemplate) SetDataSetReferences(v []*DataSetReference) *DashboardSourceTemplate { + s.DataSetReferences = v + return s +} + +// Dashboard summary. +type DashboardSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) of the resource. + Arn *string `type:"string"` + + // The time this was created. + CreatedTime *time.Time `type:"timestamp"` + + // Dashboard ID. + DashboardId *string `min:"1" type:"string"` + + // The last time this was published. + LastPublishedTime *time.Time `type:"timestamp"` + + // The last time this was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A display name for the dataset. + Name *string `min:"1" type:"string"` + + // Published version number. + PublishedVersionNumber *int64 `min:"1" type:"long"` +} + +// String returns the string representation +func (s DashboardSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DashboardSummary) SetArn(v string) *DashboardSummary { + s.Arn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *DashboardSummary) SetCreatedTime(v time.Time) *DashboardSummary { + s.CreatedTime = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *DashboardSummary) SetDashboardId(v string) *DashboardSummary { + s.DashboardId = &v + return s +} + +// SetLastPublishedTime sets the LastPublishedTime field's value. +func (s *DashboardSummary) SetLastPublishedTime(v time.Time) *DashboardSummary { + s.LastPublishedTime = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DashboardSummary) SetLastUpdatedTime(v time.Time) *DashboardSummary { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *DashboardSummary) SetName(v string) *DashboardSummary { + s.Name = &v + return s +} + +// SetPublishedVersionNumber sets the PublishedVersionNumber field's value. +func (s *DashboardSummary) SetPublishedVersionNumber(v int64) *DashboardSummary { + s.PublishedVersionNumber = &v + return s +} + +// Dashboard version. +type DashboardVersion struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) of the resource. + Arn *string `type:"string"` + + // The time this was created. + CreatedTime *time.Time `type:"timestamp"` + + // Description. + Description *string `min:"1" type:"string"` + + // Errors. + Errors []*DashboardError `min:"1" type:"list"` + + // Source entity ARN. + SourceEntityArn *string `type:"string"` + + // The http status of the request. + Status *string `type:"string" enum:"ResourceStatus"` + + // Version number. + VersionNumber *int64 `min:"1" type:"long"` +} + +// String returns the string representation +func (s DashboardVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardVersion) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DashboardVersion) SetArn(v string) *DashboardVersion { + s.Arn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *DashboardVersion) SetCreatedTime(v time.Time) *DashboardVersion { + s.CreatedTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DashboardVersion) SetDescription(v string) *DashboardVersion { + s.Description = &v + return s +} + +// SetErrors sets the Errors field's value. +func (s *DashboardVersion) SetErrors(v []*DashboardError) *DashboardVersion { + s.Errors = v + return s +} + +// SetSourceEntityArn sets the SourceEntityArn field's value. +func (s *DashboardVersion) SetSourceEntityArn(v string) *DashboardVersion { + s.SourceEntityArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DashboardVersion) SetStatus(v string) *DashboardVersion { + s.Status = &v + return s +} + +// SetVersionNumber sets the VersionNumber field's value. +func (s *DashboardVersion) SetVersionNumber(v int64) *DashboardVersion { + s.VersionNumber = &v + return s +} + +// Dashboard version summary. +type DashboardVersionSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) of the resource. + Arn *string `type:"string"` + + // The time this was created. + CreatedTime *time.Time `type:"timestamp"` + + // Description. + Description *string `min:"1" type:"string"` + + // Source entity ARN. + SourceEntityArn *string `type:"string"` + + // The http status of the request. + Status *string `type:"string" enum:"ResourceStatus"` + + // Version number. + VersionNumber *int64 `min:"1" type:"long"` +} + +// String returns the string representation +func (s DashboardVersionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardVersionSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DashboardVersionSummary) SetArn(v string) *DashboardVersionSummary { + s.Arn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *DashboardVersionSummary) SetCreatedTime(v time.Time) *DashboardVersionSummary { + s.CreatedTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DashboardVersionSummary) SetDescription(v string) *DashboardVersionSummary { + s.Description = &v + return s +} + +// SetSourceEntityArn sets the SourceEntityArn field's value. +func (s *DashboardVersionSummary) SetSourceEntityArn(v string) *DashboardVersionSummary { + s.SourceEntityArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DashboardVersionSummary) SetStatus(v string) *DashboardVersionSummary { + s.Status = &v + return s +} + +// SetVersionNumber sets the VersionNumber field's value. +func (s *DashboardVersionSummary) SetVersionNumber(v int64) *DashboardVersionSummary { + s.VersionNumber = &v + return s +} + +// Dataset. +type DataSet struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) of the resource. + Arn *string `type:"string"` + + // Groupings of columns that work together in certain QuickSight features. Currently + // only geospatial hierarchy is supported. + ColumnGroups []*ColumnGroup `min:"1" type:"list"` + + // The amount of SPICE capacity used by this dataset. This is 0 if the dataset + // isn't imported into SPICE. + ConsumedSpiceCapacityInBytes *int64 `type:"long"` + + // The time this was created. + CreatedTime *time.Time `type:"timestamp"` + + // The ID of the dataset. + DataSetId *string `type:"string"` + + // Indicates whether or not you want to import the data into SPICE. + ImportMode *string `type:"string" enum:"DataSetImportMode"` + + // The last time this was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // Configures the combination and transformation of the data from the physical + // tables. + LogicalTableMap map[string]*LogicalTable `min:"1" type:"map"` + + // A display name for the dataset. + Name *string `min:"1" type:"string"` + + // The list of columns after all transforms. These columns are available in + // templates, analyses, and dashboards. + OutputColumns []*OutputColumn `type:"list"` + + // Declares the physical tables that are available in the underlying data sources. + PhysicalTableMap map[string]*PhysicalTable `min:"1" type:"map"` + + // Row-level security configuration on the dataset. + RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` +} + +// String returns the string representation +func (s DataSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSet) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DataSet) SetArn(v string) *DataSet { + s.Arn = &v + return s +} + +// SetColumnGroups sets the ColumnGroups field's value. +func (s *DataSet) SetColumnGroups(v []*ColumnGroup) *DataSet { + s.ColumnGroups = v + return s +} + +// SetConsumedSpiceCapacityInBytes sets the ConsumedSpiceCapacityInBytes field's value. +func (s *DataSet) SetConsumedSpiceCapacityInBytes(v int64) *DataSet { + s.ConsumedSpiceCapacityInBytes = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *DataSet) SetCreatedTime(v time.Time) *DataSet { + s.CreatedTime = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *DataSet) SetDataSetId(v string) *DataSet { + s.DataSetId = &v + return s +} + +// SetImportMode sets the ImportMode field's value. +func (s *DataSet) SetImportMode(v string) *DataSet { + s.ImportMode = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DataSet) SetLastUpdatedTime(v time.Time) *DataSet { + s.LastUpdatedTime = &v + return s +} + +// SetLogicalTableMap sets the LogicalTableMap field's value. +func (s *DataSet) SetLogicalTableMap(v map[string]*LogicalTable) *DataSet { + s.LogicalTableMap = v + return s +} + +// SetName sets the Name field's value. +func (s *DataSet) SetName(v string) *DataSet { + s.Name = &v + return s +} + +// SetOutputColumns sets the OutputColumns field's value. +func (s *DataSet) SetOutputColumns(v []*OutputColumn) *DataSet { + s.OutputColumns = v + return s +} + +// SetPhysicalTableMap sets the PhysicalTableMap field's value. +func (s *DataSet) SetPhysicalTableMap(v map[string]*PhysicalTable) *DataSet { + s.PhysicalTableMap = v + return s +} + +// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. +func (s *DataSet) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *DataSet { + s.RowLevelPermissionDataSet = v + return s +} + +// Dataset configuration. +type DataSetConfiguration struct { + _ struct{} `type:"structure"` + + // A structure containing the list of column group schemas. + ColumnGroupSchemaList []*ColumnGroupSchema `type:"list"` + + // Dataset schema. + DataSetSchema *DataSetSchema `type:"structure"` + + // Placeholder. + Placeholder *string `type:"string"` +} + +// String returns the string representation +func (s DataSetConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSetConfiguration) GoString() string { + return s.String() +} + +// SetColumnGroupSchemaList sets the ColumnGroupSchemaList field's value. +func (s *DataSetConfiguration) SetColumnGroupSchemaList(v []*ColumnGroupSchema) *DataSetConfiguration { + s.ColumnGroupSchemaList = v + return s +} + +// SetDataSetSchema sets the DataSetSchema field's value. +func (s *DataSetConfiguration) SetDataSetSchema(v *DataSetSchema) *DataSetConfiguration { + s.DataSetSchema = v + return s +} + +// SetPlaceholder sets the Placeholder field's value. +func (s *DataSetConfiguration) SetPlaceholder(v string) *DataSetConfiguration { + s.Placeholder = &v + return s +} + +// Dataset reference. +type DataSetReference struct { + _ struct{} `type:"structure"` + + // Dataset ARN. + // + // DataSetArn is a required field + DataSetArn *string `type:"string" required:"true"` + + // Dataset placeholder. + // + // DataSetPlaceholder is a required field + DataSetPlaceholder *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DataSetReference) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSetReference) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataSetReference) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSetReference"} + if s.DataSetArn == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetArn")) + } + if s.DataSetPlaceholder == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetPlaceholder")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataSetArn sets the DataSetArn field's value. +func (s *DataSetReference) SetDataSetArn(v string) *DataSetReference { + s.DataSetArn = &v + return s +} + +// SetDataSetPlaceholder sets the DataSetPlaceholder field's value. +func (s *DataSetReference) SetDataSetPlaceholder(v string) *DataSetReference { + s.DataSetPlaceholder = &v + return s +} + +// Dataset schema. +type DataSetSchema struct { + _ struct{} `type:"structure"` + + // A structure containing the list of column schemas. + ColumnSchemaList []*ColumnSchema `type:"list"` +} + +// String returns the string representation +func (s DataSetSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSetSchema) GoString() string { + return s.String() +} + +// SetColumnSchemaList sets the ColumnSchemaList field's value. +func (s *DataSetSchema) SetColumnSchemaList(v []*ColumnSchema) *DataSetSchema { + s.ColumnSchemaList = v + return s +} + +// Dataset summary. +type DataSetSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) of the dataset. + Arn *string `type:"string"` + + // The time this was created. + CreatedTime *time.Time `type:"timestamp"` + + // The ID of the dataset. + DataSetId *string `type:"string"` + + // Indicates whether or not you want to import the data into SPICE. + ImportMode *string `type:"string" enum:"DataSetImportMode"` + + // The last time this was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A display name for the dataset. + Name *string `min:"1" type:"string"` + + // Row-level security configuration on the dataset. + RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` +} + +// String returns the string representation +func (s DataSetSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSetSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DataSetSummary) SetArn(v string) *DataSetSummary { + s.Arn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *DataSetSummary) SetCreatedTime(v time.Time) *DataSetSummary { + s.CreatedTime = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *DataSetSummary) SetDataSetId(v string) *DataSetSummary { + s.DataSetId = &v + return s +} + +// SetImportMode sets the ImportMode field's value. +func (s *DataSetSummary) SetImportMode(v string) *DataSetSummary { + s.ImportMode = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DataSetSummary) SetLastUpdatedTime(v time.Time) *DataSetSummary { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *DataSetSummary) SetName(v string) *DataSetSummary { + s.Name = &v + return s +} + +// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. +func (s *DataSetSummary) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *DataSetSummary { + s.RowLevelPermissionDataSet = v + return s +} + +// The structure of a data source. +type DataSource struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) of the data source. + Arn *string `type:"string"` + + // The time this was created. + CreatedTime *time.Time `type:"timestamp"` + + // The ID of the data source. This is unique per AWS Region per AWS account. + DataSourceId *string `type:"string"` + + // The parameters QuickSight uses to connect to your underlying source. This + // is a variant type structure. At most one of the attributes should be non-null + // for this structure to be valid. + DataSourceParameters *DataSourceParameters `type:"structure"` + + // Error information from the last update or the creation of the data source. + ErrorInfo *DataSourceErrorInfo `type:"structure"` + + // The last time this was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A display name for the data source. + Name *string `min:"1" type:"string"` + + // SSL properties that apply when QuickSight connects to your underlying source. + SslProperties *SslProperties `type:"structure"` + + // The http status of the request. + Status *string `type:"string" enum:"ResourceStatus"` + + // The type of the data source. This indicates which database engine the data + // source connects to. + Type *string `type:"string" enum:"DataSourceType"` + + // The VPC connection information. You need to use this parameter only when + // you want QuickSight to use a VPC connection when connecting to your underlying + // source. + VpcConnectionProperties *VpcConnectionProperties `type:"structure"` +} + +// String returns the string representation +func (s DataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSource) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DataSource) SetArn(v string) *DataSource { + s.Arn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *DataSource) SetCreatedTime(v time.Time) *DataSource { + s.CreatedTime = &v + return s +} + +// SetDataSourceId sets the DataSourceId field's value. +func (s *DataSource) SetDataSourceId(v string) *DataSource { + s.DataSourceId = &v + return s +} + +// SetDataSourceParameters sets the DataSourceParameters field's value. +func (s *DataSource) SetDataSourceParameters(v *DataSourceParameters) *DataSource { + s.DataSourceParameters = v + return s +} + +// SetErrorInfo sets the ErrorInfo field's value. +func (s *DataSource) SetErrorInfo(v *DataSourceErrorInfo) *DataSource { + s.ErrorInfo = v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DataSource) SetLastUpdatedTime(v time.Time) *DataSource { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *DataSource) SetName(v string) *DataSource { + s.Name = &v + return s +} + +// SetSslProperties sets the SslProperties field's value. +func (s *DataSource) SetSslProperties(v *SslProperties) *DataSource { + s.SslProperties = v + return s +} + +// SetStatus sets the Status field's value. +func (s *DataSource) SetStatus(v string) *DataSource { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *DataSource) SetType(v string) *DataSource { + s.Type = &v + return s +} + +// SetVpcConnectionProperties sets the VpcConnectionProperties field's value. +func (s *DataSource) SetVpcConnectionProperties(v *VpcConnectionProperties) *DataSource { + s.VpcConnectionProperties = v + return s +} + +// Data source credentials. +type DataSourceCredentials struct { + _ struct{} `type:"structure" sensitive:"true"` + + // Credential pair. + CredentialPair *CredentialPair `type:"structure"` +} + +// String returns the string representation +func (s DataSourceCredentials) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSourceCredentials) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataSourceCredentials) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSourceCredentials"} + if s.CredentialPair != nil { + if err := s.CredentialPair.Validate(); err != nil { + invalidParams.AddNested("CredentialPair", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCredentialPair sets the CredentialPair field's value. +func (s *DataSourceCredentials) SetCredentialPair(v *CredentialPair) *DataSourceCredentials { + s.CredentialPair = v + return s +} + +// Error information on data source creation or update. +type DataSourceErrorInfo struct { + _ struct{} `type:"structure"` + + // Error message. + Message *string `type:"string"` + + // Error type. + Type *string `type:"string" enum:"DataSourceErrorInfoType"` +} + +// String returns the string representation +func (s DataSourceErrorInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSourceErrorInfo) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *DataSourceErrorInfo) SetMessage(v string) *DataSourceErrorInfo { + s.Message = &v + return s +} + +// SetType sets the Type field's value. +func (s *DataSourceErrorInfo) SetType(v string) *DataSourceErrorInfo { + s.Type = &v + return s +} + +// The parameters QuickSight uses to connect to your underlying source. This +// is a variant type structure. At most one of the attributes should be non-null +// for this structure to be valid. +type DataSourceParameters struct { + _ struct{} `type:"structure"` + + // Amazon Elasticsearch parameters. + AmazonElasticsearchParameters *AmazonElasticsearchParameters `type:"structure"` + + // Athena parameters. + AthenaParameters *AthenaParameters `type:"structure"` + + // Aurora MySQL parameters. + AuroraParameters *AuroraParameters `type:"structure"` + + // Aurora PostgreSQL parameters. + AuroraPostgreSqlParameters *AuroraPostgreSqlParameters `type:"structure"` + + // AWS IoT Analytics parameters. + AwsIotAnalyticsParameters *AwsIotAnalyticsParameters `type:"structure"` + + // Jira parameters. + JiraParameters *JiraParameters `type:"structure"` + + // MariaDB parameters. + MariaDbParameters *MariaDbParameters `type:"structure"` + + // MySQL parameters. + MySqlParameters *MySqlParameters `type:"structure"` + + // PostgreSQL parameters. + PostgreSqlParameters *PostgreSqlParameters `type:"structure"` + + // Presto parameters. + PrestoParameters *PrestoParameters `type:"structure"` + + // RDS parameters. + RdsParameters *RdsParameters `type:"structure"` + + // Redshift parameters. + RedshiftParameters *RedshiftParameters `type:"structure"` + + // S3 parameters. + S3Parameters *S3Parameters `type:"structure"` + + // ServiceNow parameters. + ServiceNowParameters *ServiceNowParameters `type:"structure"` + + // Snowflake parameters. + SnowflakeParameters *SnowflakeParameters `type:"structure"` + + // Spark parameters. + SparkParameters *SparkParameters `type:"structure"` + + // SQL Server parameters. + SqlServerParameters *SqlServerParameters `type:"structure"` + + // Teradata parameters. + TeradataParameters *TeradataParameters `type:"structure"` + + // Twitter parameters. + TwitterParameters *TwitterParameters `type:"structure"` +} + +// String returns the string representation +func (s DataSourceParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSourceParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataSourceParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSourceParameters"} + if s.AmazonElasticsearchParameters != nil { + if err := s.AmazonElasticsearchParameters.Validate(); err != nil { + invalidParams.AddNested("AmazonElasticsearchParameters", err.(request.ErrInvalidParams)) + } + } + if s.AthenaParameters != nil { + if err := s.AthenaParameters.Validate(); err != nil { + invalidParams.AddNested("AthenaParameters", err.(request.ErrInvalidParams)) + } + } + if s.AuroraParameters != nil { + if err := s.AuroraParameters.Validate(); err != nil { + invalidParams.AddNested("AuroraParameters", err.(request.ErrInvalidParams)) + } + } + if s.AuroraPostgreSqlParameters != nil { + if err := s.AuroraPostgreSqlParameters.Validate(); err != nil { + invalidParams.AddNested("AuroraPostgreSqlParameters", err.(request.ErrInvalidParams)) + } + } + if s.AwsIotAnalyticsParameters != nil { + if err := s.AwsIotAnalyticsParameters.Validate(); err != nil { + invalidParams.AddNested("AwsIotAnalyticsParameters", err.(request.ErrInvalidParams)) + } + } + if s.JiraParameters != nil { + if err := s.JiraParameters.Validate(); err != nil { + invalidParams.AddNested("JiraParameters", err.(request.ErrInvalidParams)) + } + } + if s.MariaDbParameters != nil { + if err := s.MariaDbParameters.Validate(); err != nil { + invalidParams.AddNested("MariaDbParameters", err.(request.ErrInvalidParams)) + } + } + if s.MySqlParameters != nil { + if err := s.MySqlParameters.Validate(); err != nil { + invalidParams.AddNested("MySqlParameters", err.(request.ErrInvalidParams)) + } + } + if s.PostgreSqlParameters != nil { + if err := s.PostgreSqlParameters.Validate(); err != nil { + invalidParams.AddNested("PostgreSqlParameters", err.(request.ErrInvalidParams)) + } + } + if s.PrestoParameters != nil { + if err := s.PrestoParameters.Validate(); err != nil { + invalidParams.AddNested("PrestoParameters", err.(request.ErrInvalidParams)) + } + } + if s.RdsParameters != nil { + if err := s.RdsParameters.Validate(); err != nil { + invalidParams.AddNested("RdsParameters", err.(request.ErrInvalidParams)) + } + } + if s.RedshiftParameters != nil { + if err := s.RedshiftParameters.Validate(); err != nil { + invalidParams.AddNested("RedshiftParameters", err.(request.ErrInvalidParams)) + } + } + if s.S3Parameters != nil { + if err := s.S3Parameters.Validate(); err != nil { + invalidParams.AddNested("S3Parameters", err.(request.ErrInvalidParams)) + } + } + if s.ServiceNowParameters != nil { + if err := s.ServiceNowParameters.Validate(); err != nil { + invalidParams.AddNested("ServiceNowParameters", err.(request.ErrInvalidParams)) + } + } + if s.SnowflakeParameters != nil { + if err := s.SnowflakeParameters.Validate(); err != nil { + invalidParams.AddNested("SnowflakeParameters", err.(request.ErrInvalidParams)) + } + } + if s.SparkParameters != nil { + if err := s.SparkParameters.Validate(); err != nil { + invalidParams.AddNested("SparkParameters", err.(request.ErrInvalidParams)) + } + } + if s.SqlServerParameters != nil { + if err := s.SqlServerParameters.Validate(); err != nil { + invalidParams.AddNested("SqlServerParameters", err.(request.ErrInvalidParams)) + } + } + if s.TeradataParameters != nil { + if err := s.TeradataParameters.Validate(); err != nil { + invalidParams.AddNested("TeradataParameters", err.(request.ErrInvalidParams)) + } + } + if s.TwitterParameters != nil { + if err := s.TwitterParameters.Validate(); err != nil { + invalidParams.AddNested("TwitterParameters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAmazonElasticsearchParameters sets the AmazonElasticsearchParameters field's value. +func (s *DataSourceParameters) SetAmazonElasticsearchParameters(v *AmazonElasticsearchParameters) *DataSourceParameters { + s.AmazonElasticsearchParameters = v + return s +} + +// SetAthenaParameters sets the AthenaParameters field's value. +func (s *DataSourceParameters) SetAthenaParameters(v *AthenaParameters) *DataSourceParameters { + s.AthenaParameters = v + return s +} + +// SetAuroraParameters sets the AuroraParameters field's value. +func (s *DataSourceParameters) SetAuroraParameters(v *AuroraParameters) *DataSourceParameters { + s.AuroraParameters = v + return s +} + +// SetAuroraPostgreSqlParameters sets the AuroraPostgreSqlParameters field's value. +func (s *DataSourceParameters) SetAuroraPostgreSqlParameters(v *AuroraPostgreSqlParameters) *DataSourceParameters { + s.AuroraPostgreSqlParameters = v + return s +} + +// SetAwsIotAnalyticsParameters sets the AwsIotAnalyticsParameters field's value. +func (s *DataSourceParameters) SetAwsIotAnalyticsParameters(v *AwsIotAnalyticsParameters) *DataSourceParameters { + s.AwsIotAnalyticsParameters = v + return s +} + +// SetJiraParameters sets the JiraParameters field's value. +func (s *DataSourceParameters) SetJiraParameters(v *JiraParameters) *DataSourceParameters { + s.JiraParameters = v + return s +} + +// SetMariaDbParameters sets the MariaDbParameters field's value. +func (s *DataSourceParameters) SetMariaDbParameters(v *MariaDbParameters) *DataSourceParameters { + s.MariaDbParameters = v + return s +} + +// SetMySqlParameters sets the MySqlParameters field's value. +func (s *DataSourceParameters) SetMySqlParameters(v *MySqlParameters) *DataSourceParameters { + s.MySqlParameters = v + return s +} + +// SetPostgreSqlParameters sets the PostgreSqlParameters field's value. +func (s *DataSourceParameters) SetPostgreSqlParameters(v *PostgreSqlParameters) *DataSourceParameters { + s.PostgreSqlParameters = v + return s +} + +// SetPrestoParameters sets the PrestoParameters field's value. +func (s *DataSourceParameters) SetPrestoParameters(v *PrestoParameters) *DataSourceParameters { + s.PrestoParameters = v + return s +} + +// SetRdsParameters sets the RdsParameters field's value. +func (s *DataSourceParameters) SetRdsParameters(v *RdsParameters) *DataSourceParameters { + s.RdsParameters = v + return s +} + +// SetRedshiftParameters sets the RedshiftParameters field's value. +func (s *DataSourceParameters) SetRedshiftParameters(v *RedshiftParameters) *DataSourceParameters { + s.RedshiftParameters = v + return s +} + +// SetS3Parameters sets the S3Parameters field's value. +func (s *DataSourceParameters) SetS3Parameters(v *S3Parameters) *DataSourceParameters { + s.S3Parameters = v + return s +} + +// SetServiceNowParameters sets the ServiceNowParameters field's value. +func (s *DataSourceParameters) SetServiceNowParameters(v *ServiceNowParameters) *DataSourceParameters { + s.ServiceNowParameters = v + return s +} + +// SetSnowflakeParameters sets the SnowflakeParameters field's value. +func (s *DataSourceParameters) SetSnowflakeParameters(v *SnowflakeParameters) *DataSourceParameters { + s.SnowflakeParameters = v + return s +} + +// SetSparkParameters sets the SparkParameters field's value. +func (s *DataSourceParameters) SetSparkParameters(v *SparkParameters) *DataSourceParameters { + s.SparkParameters = v + return s +} + +// SetSqlServerParameters sets the SqlServerParameters field's value. +func (s *DataSourceParameters) SetSqlServerParameters(v *SqlServerParameters) *DataSourceParameters { + s.SqlServerParameters = v + return s +} + +// SetTeradataParameters sets the TeradataParameters field's value. +func (s *DataSourceParameters) SetTeradataParameters(v *TeradataParameters) *DataSourceParameters { + s.TeradataParameters = v + return s +} + +// SetTwitterParameters sets the TwitterParameters field's value. +func (s *DataSourceParameters) SetTwitterParameters(v *TwitterParameters) *DataSourceParameters { + s.TwitterParameters = v + return s +} + +// Date time parameter. +type DateTimeParameter struct { + _ struct{} `type:"structure"` + + // A display name for the dataset. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // Values. + // + // Values is a required field + Values []*time.Time `type:"list" required:"true"` +} + +// String returns the string representation +func (s DateTimeParameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DateTimeParameter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DateTimeParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DateTimeParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DateTimeParameter) SetName(v string) *DateTimeParameter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *DateTimeParameter) SetValues(v []*time.Time) *DateTimeParameter { + s.Values = v + return s +} + +// Decimal parameter. +type DecimalParameter struct { + _ struct{} `type:"structure"` + + // A display name for the dataset. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // Values. + // + // Values is a required field + Values []*float64 `type:"list" required:"true"` +} + +// String returns the string representation +func (s DecimalParameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DecimalParameter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DecimalParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DecimalParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DecimalParameter) SetName(v string) *DecimalParameter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *DecimalParameter) SetValues(v []*float64) *DecimalParameter { + s.Values = v + return s +} + +type DeleteDashboardInput struct { + _ struct{} `type:"structure"` + + // AWS account ID that contains the dashboard you are deleting. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID for the dashboard. + // + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + + // The version number of the dashboard. If version number property is provided, + // only the specified version of the dashboard is deleted. + VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` +} + +// String returns the string representation +func (s DeleteDashboardInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDashboardInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDashboardInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDashboardInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) + } + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + } + if s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteDashboardInput) SetAwsAccountId(v string) *DeleteDashboardInput { + s.AwsAccountId = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *DeleteDashboardInput) SetDashboardId(v string) *DeleteDashboardInput { + s.DashboardId = &v + return s +} + +// SetVersionNumber sets the VersionNumber field's value. +func (s *DeleteDashboardInput) SetVersionNumber(v int64) *DeleteDashboardInput { + s.VersionNumber = &v + return s +} + +type DeleteDashboardOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource. + Arn *string `type:"string"` + + // The ID of the dashboard. + DashboardId *string `min:"1" type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DeleteDashboardOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDashboardOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DeleteDashboardOutput) SetArn(v string) *DeleteDashboardOutput { + s.Arn = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *DeleteDashboardOutput) SetDashboardId(v string) *DeleteDashboardOutput { + s.DashboardId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteDashboardOutput) SetRequestId(v string) *DeleteDashboardOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteDashboardOutput) SetStatus(v int64) *DeleteDashboardOutput { + s.Status = &v + return s +} + +type DeleteDataSetInput struct { + _ struct{} `type:"structure"` + + // The AWS Account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID for the dataset you want to create. This is unique per region per + // AWS account. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDataSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDataSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDataSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDataSetInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteDataSetInput) SetAwsAccountId(v string) *DeleteDataSetInput { + s.AwsAccountId = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *DeleteDataSetInput) SetDataSetId(v string) *DeleteDataSetInput { + s.DataSetId = &v + return s +} + +type DeleteDataSetOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the dataset. + Arn *string `type:"string"` + + // The ID for the dataset you want to create. This is unique per region per + // AWS account. + DataSetId *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DeleteDataSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDataSetOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DeleteDataSetOutput) SetArn(v string) *DeleteDataSetOutput { + s.Arn = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *DeleteDataSetOutput) SetDataSetId(v string) *DeleteDataSetOutput { + s.DataSetId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteDataSetOutput) SetRequestId(v string) *DeleteDataSetOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteDataSetOutput) SetStatus(v int64) *DeleteDataSetOutput { + s.Status = &v + return s +} + +type DeleteDataSourceInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID of the data source. This is unique per AWS Region per AWS account. + // + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDataSourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDataSourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDataSourceInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) + } + if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteDataSourceInput) SetAwsAccountId(v string) *DeleteDataSourceInput { + s.AwsAccountId = &v + return s +} + +// SetDataSourceId sets the DataSourceId field's value. +func (s *DeleteDataSourceInput) SetDataSourceId(v string) *DeleteDataSourceInput { + s.DataSourceId = &v + return s +} + +type DeleteDataSourceOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the data source you deleted. + Arn *string `type:"string"` + + // The ID of the data source. This is unique per AWS Region per AWS account. + DataSourceId *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DeleteDataSourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDataSourceOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DeleteDataSourceOutput) SetArn(v string) *DeleteDataSourceOutput { + s.Arn = &v + return s +} + +// SetDataSourceId sets the DataSourceId field's value. +func (s *DeleteDataSourceOutput) SetDataSourceId(v string) *DeleteDataSourceOutput { + s.DataSourceId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteDataSourceOutput) SetRequestId(v string) *DeleteDataSourceOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteDataSourceOutput) SetStatus(v int64) *DeleteDataSourceOutput { + s.Status = &v + return s +} + +type DeleteGroupInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The name of the group that you want to delete. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteGroupInput) SetAwsAccountId(v string) *DeleteGroupInput { + s.AwsAccountId = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput { + s.GroupName = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DeleteGroupInput) SetNamespace(v string) *DeleteGroupInput { + s.Namespace = &v + return s +} + +type DeleteGroupMembershipInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The name of the group that you want to delete the user from. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + + // The name of the user that you want to delete from the group membership. + // + // MemberName is a required field + MemberName *string `location:"uri" locationName:"MemberName" min:"1" type:"string" required:"true"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteGroupMembershipInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteGroupMembershipInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteGroupMembershipInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGroupMembershipInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + if s.MemberName == nil { + invalidParams.Add(request.NewErrParamRequired("MemberName")) + } + if s.MemberName != nil && len(*s.MemberName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MemberName", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteGroupMembershipInput) SetAwsAccountId(v string) *DeleteGroupMembershipInput { + s.AwsAccountId = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *DeleteGroupMembershipInput) SetGroupName(v string) *DeleteGroupMembershipInput { + s.GroupName = &v + return s +} + +// SetMemberName sets the MemberName field's value. +func (s *DeleteGroupMembershipInput) SetMemberName(v string) *DeleteGroupMembershipInput { + s.MemberName = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DeleteGroupMembershipInput) SetNamespace(v string) *DeleteGroupMembershipInput { + s.Namespace = &v + return s +} + +type DeleteGroupMembershipOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DeleteGroupMembershipOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteGroupMembershipOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteGroupMembershipOutput) SetRequestId(v string) *DeleteGroupMembershipOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteGroupMembershipOutput) SetStatus(v int64) *DeleteGroupMembershipOutput { + s.Status = &v + return s +} + +type DeleteGroupOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DeleteGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteGroupOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteGroupOutput) SetRequestId(v string) *DeleteGroupOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteGroupOutput) SetStatus(v int64) *DeleteGroupOutput { + s.Status = &v + return s +} + +type DeleteIAMPolicyAssignmentInput struct { + _ struct{} `type:"structure"` + + // The name of the assignment. + // + // AssignmentName is a required field + AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` + + // The AWS account ID where you want to delete an IAM policy assignment. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace that contains the assignment. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteIAMPolicyAssignmentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIAMPolicyAssignmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIAMPolicyAssignmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIAMPolicyAssignmentInput"} + if s.AssignmentName == nil { + invalidParams.Add(request.NewErrParamRequired("AssignmentName")) + } + if s.AssignmentName != nil && len(*s.AssignmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssignmentName", 1)) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssignmentName sets the AssignmentName field's value. +func (s *DeleteIAMPolicyAssignmentInput) SetAssignmentName(v string) *DeleteIAMPolicyAssignmentInput { + s.AssignmentName = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteIAMPolicyAssignmentInput) SetAwsAccountId(v string) *DeleteIAMPolicyAssignmentInput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DeleteIAMPolicyAssignmentInput) SetNamespace(v string) *DeleteIAMPolicyAssignmentInput { + s.Namespace = &v + return s +} + +type DeleteIAMPolicyAssignmentOutput struct { + _ struct{} `type:"structure"` + + // The name of the assignment. + AssignmentName *string `min:"1" type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DeleteIAMPolicyAssignmentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteIAMPolicyAssignmentOutput) GoString() string { + return s.String() +} + +// SetAssignmentName sets the AssignmentName field's value. +func (s *DeleteIAMPolicyAssignmentOutput) SetAssignmentName(v string) *DeleteIAMPolicyAssignmentOutput { + s.AssignmentName = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteIAMPolicyAssignmentOutput) SetRequestId(v string) *DeleteIAMPolicyAssignmentOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteIAMPolicyAssignmentOutput) SetStatus(v int64) *DeleteIAMPolicyAssignmentOutput { + s.Status = &v + return s +} + +type DeleteTemplateAliasInput struct { + _ struct{} `type:"structure"` + + // The alias of the template. If alias-name is provided, the version that the + // alias-name points to is deleted. Alias names that start with $ are reserved + // by QuickSight and can't be deleted.” + // + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` + + // AWS account ID that contains the template alias you are deleting. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // An ID for the template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTemplateAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTemplateAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTemplateAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTemplateAliasInput"} + if s.AliasName == nil { + invalidParams.Add(request.NewErrParamRequired("AliasName")) + } + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasName sets the AliasName field's value. +func (s *DeleteTemplateAliasInput) SetAliasName(v string) *DeleteTemplateAliasInput { + s.AliasName = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteTemplateAliasInput) SetAwsAccountId(v string) *DeleteTemplateAliasInput { + s.AwsAccountId = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *DeleteTemplateAliasInput) SetTemplateId(v string) *DeleteTemplateAliasInput { + s.TemplateId = &v + return s +} + +type DeleteTemplateAliasOutput struct { + _ struct{} `type:"structure"` + + // The name of the alias. + AliasName *string `min:"1" type:"string"` + + // The ARN of the resource. + Arn *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // An ID for the template. + TemplateId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteTemplateAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTemplateAliasOutput) GoString() string { + return s.String() +} + +// SetAliasName sets the AliasName field's value. +func (s *DeleteTemplateAliasOutput) SetAliasName(v string) *DeleteTemplateAliasOutput { + s.AliasName = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *DeleteTemplateAliasOutput) SetArn(v string) *DeleteTemplateAliasOutput { + s.Arn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteTemplateAliasOutput) SetRequestId(v string) *DeleteTemplateAliasOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteTemplateAliasOutput) SetStatus(v int64) *DeleteTemplateAliasOutput { + s.Status = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *DeleteTemplateAliasOutput) SetTemplateId(v string) *DeleteTemplateAliasOutput { + s.TemplateId = &v + return s +} + +type DeleteTemplateInput struct { + _ struct{} `type:"structure"` + + // AWS account ID that contains the template you are deleting. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // An ID for the template you want to delete. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + + // The version number + VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` +} + +// String returns the string representation +func (s DeleteTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTemplateInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + if s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteTemplateInput) SetAwsAccountId(v string) *DeleteTemplateInput { + s.AwsAccountId = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *DeleteTemplateInput) SetTemplateId(v string) *DeleteTemplateInput { + s.TemplateId = &v + return s +} + +// SetVersionNumber sets the VersionNumber field's value. +func (s *DeleteTemplateInput) SetVersionNumber(v int64) *DeleteTemplateInput { + s.VersionNumber = &v + return s +} + +type DeleteTemplateOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource. + Arn *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // An ID for the template. + TemplateId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTemplateOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DeleteTemplateOutput) SetArn(v string) *DeleteTemplateOutput { + s.Arn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteTemplateOutput) SetRequestId(v string) *DeleteTemplateOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteTemplateOutput) SetStatus(v int64) *DeleteTemplateOutput { + s.Status = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *DeleteTemplateOutput) SetTemplateId(v string) *DeleteTemplateOutput { + s.TemplateId = &v + return s +} + +type DeleteUserByPrincipalIdInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the user is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // The principal ID of the user. + // + // PrincipalId is a required field + PrincipalId *string `location:"uri" locationName:"PrincipalId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteUserByPrincipalIdInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUserByPrincipalIdInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteUserByPrincipalIdInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUserByPrincipalIdInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + if s.PrincipalId == nil { + invalidParams.Add(request.NewErrParamRequired("PrincipalId")) + } + if s.PrincipalId != nil && len(*s.PrincipalId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteUserByPrincipalIdInput) SetAwsAccountId(v string) *DeleteUserByPrincipalIdInput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DeleteUserByPrincipalIdInput) SetNamespace(v string) *DeleteUserByPrincipalIdInput { + s.Namespace = &v + return s +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *DeleteUserByPrincipalIdInput) SetPrincipalId(v string) *DeleteUserByPrincipalIdInput { + s.PrincipalId = &v + return s +} + +type DeleteUserByPrincipalIdOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DeleteUserByPrincipalIdOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUserByPrincipalIdOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteUserByPrincipalIdOutput) SetRequestId(v string) *DeleteUserByPrincipalIdOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteUserByPrincipalIdOutput) SetStatus(v int64) *DeleteUserByPrincipalIdOutput { + s.Status = &v + return s +} + +type DeleteUserInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the user is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // The name of the user that you want to delete. + // + // UserName is a required field + UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteUserInput) SetAwsAccountId(v string) *DeleteUserInput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DeleteUserInput) SetNamespace(v string) *DeleteUserInput { + s.Namespace = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput { + s.UserName = &v + return s +} + +type DeleteUserOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DeleteUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUserOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteUserOutput) SetRequestId(v string) *DeleteUserOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteUserOutput) SetStatus(v int64) *DeleteUserOutput { + s.Status = &v + return s +} + +type DescribeDashboardInput struct { + _ struct{} `type:"structure"` + + // The alias name. + AliasName *string `location:"querystring" locationName:"alias-name" min:"1" type:"string"` + + // AWS account ID that contains the dashboard you are describing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID for the dashboard. + // + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + + // The version number for the dashboard. If version number isn’t passed the + // latest published dashboard version is described. + VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` +} + +// String returns the string representation +func (s DescribeDashboardInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDashboardInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDashboardInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDashboardInput"} + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) + } + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + } + if s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasName sets the AliasName field's value. +func (s *DescribeDashboardInput) SetAliasName(v string) *DescribeDashboardInput { + s.AliasName = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDashboardInput) SetAwsAccountId(v string) *DescribeDashboardInput { + s.AwsAccountId = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *DescribeDashboardInput) SetDashboardId(v string) *DescribeDashboardInput { + s.DashboardId = &v + return s +} + +// SetVersionNumber sets the VersionNumber field's value. +func (s *DescribeDashboardInput) SetVersionNumber(v int64) *DescribeDashboardInput { + s.VersionNumber = &v + return s +} + +type DescribeDashboardOutput struct { + _ struct{} `type:"structure"` + + // Information about the dashboard. + Dashboard *Dashboard `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of this request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DescribeDashboardOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDashboardOutput) GoString() string { + return s.String() +} + +// SetDashboard sets the Dashboard field's value. +func (s *DescribeDashboardOutput) SetDashboard(v *Dashboard) *DescribeDashboardOutput { + s.Dashboard = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeDashboardOutput) SetRequestId(v string) *DescribeDashboardOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeDashboardOutput) SetStatus(v int64) *DescribeDashboardOutput { + s.Status = &v + return s +} + +type DescribeDashboardPermissionsInput struct { + _ struct{} `type:"structure"` + + // AWS account ID that contains the dashboard you are describing permissions + // of. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID for the dashboard, also added to IAM policy. + // + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDashboardPermissionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDashboardPermissionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDashboardPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDashboardPermissionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) + } + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDashboardPermissionsInput) SetAwsAccountId(v string) *DescribeDashboardPermissionsInput { + s.AwsAccountId = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *DescribeDashboardPermissionsInput) SetDashboardId(v string) *DescribeDashboardPermissionsInput { + s.DashboardId = &v + return s +} + +type DescribeDashboardPermissionsOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the dashboard. + DashboardArn *string `type:"string"` + + // The ID for the dashboard. + DashboardId *string `min:"1" type:"string"` + + // A structure that contains the permissions of the dashboard. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DescribeDashboardPermissionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDashboardPermissionsOutput) GoString() string { + return s.String() +} + +// SetDashboardArn sets the DashboardArn field's value. +func (s *DescribeDashboardPermissionsOutput) SetDashboardArn(v string) *DescribeDashboardPermissionsOutput { + s.DashboardArn = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *DescribeDashboardPermissionsOutput) SetDashboardId(v string) *DescribeDashboardPermissionsOutput { + s.DashboardId = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *DescribeDashboardPermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDashboardPermissionsOutput { + s.Permissions = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeDashboardPermissionsOutput) SetRequestId(v string) *DescribeDashboardPermissionsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeDashboardPermissionsOutput) SetStatus(v int64) *DescribeDashboardPermissionsOutput { + s.Status = &v + return s +} + +type DescribeDataSetInput struct { + _ struct{} `type:"structure"` + + // The AWS Account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID for the dataset you want to create. This is unique per region per + // AWS account. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDataSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDataSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDataSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataSetInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDataSetInput) SetAwsAccountId(v string) *DescribeDataSetInput { + s.AwsAccountId = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *DescribeDataSetInput) SetDataSetId(v string) *DescribeDataSetInput { + s.DataSetId = &v + return s +} + +type DescribeDataSetOutput struct { + _ struct{} `type:"structure"` + + // Information on the dataset. + DataSet *DataSet `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DescribeDataSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDataSetOutput) GoString() string { + return s.String() +} + +// SetDataSet sets the DataSet field's value. +func (s *DescribeDataSetOutput) SetDataSet(v *DataSet) *DescribeDataSetOutput { + s.DataSet = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeDataSetOutput) SetRequestId(v string) *DescribeDataSetOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeDataSetOutput) SetStatus(v int64) *DescribeDataSetOutput { + s.Status = &v + return s +} + +type DescribeDataSetPermissionsInput struct { + _ struct{} `type:"structure"` + + // The AWS Account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID for the dataset you want to create. This is unique per region per + // AWS account. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDataSetPermissionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDataSetPermissionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDataSetPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataSetPermissionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDataSetPermissionsInput) SetAwsAccountId(v string) *DescribeDataSetPermissionsInput { + s.AwsAccountId = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *DescribeDataSetPermissionsInput) SetDataSetId(v string) *DescribeDataSetPermissionsInput { + s.DataSetId = &v + return s +} + +type DescribeDataSetPermissionsOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the dataset. + DataSetArn *string `type:"string"` + + // The ID for the dataset you want to create. This is unique per region per + // AWS account. + DataSetId *string `type:"string"` + + // A list of resource permissions on the dataset. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DescribeDataSetPermissionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDataSetPermissionsOutput) GoString() string { + return s.String() +} + +// SetDataSetArn sets the DataSetArn field's value. +func (s *DescribeDataSetPermissionsOutput) SetDataSetArn(v string) *DescribeDataSetPermissionsOutput { + s.DataSetArn = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *DescribeDataSetPermissionsOutput) SetDataSetId(v string) *DescribeDataSetPermissionsOutput { + s.DataSetId = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *DescribeDataSetPermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDataSetPermissionsOutput { + s.Permissions = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeDataSetPermissionsOutput) SetRequestId(v string) *DescribeDataSetPermissionsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeDataSetPermissionsOutput) SetStatus(v int64) *DescribeDataSetPermissionsOutput { + s.Status = &v + return s +} + +type DescribeDataSourceInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID of the data source. This is unique per AWS Region per AWS account. + // + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDataSourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDataSourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataSourceInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) + } + if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDataSourceInput) SetAwsAccountId(v string) *DescribeDataSourceInput { + s.AwsAccountId = &v + return s +} + +// SetDataSourceId sets the DataSourceId field's value. +func (s *DescribeDataSourceInput) SetDataSourceId(v string) *DescribeDataSourceInput { + s.DataSourceId = &v + return s +} + +type DescribeDataSourceOutput struct { + _ struct{} `type:"structure"` + + // The information on the data source. + DataSource *DataSource `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DescribeDataSourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDataSourceOutput) GoString() string { + return s.String() +} + +// SetDataSource sets the DataSource field's value. +func (s *DescribeDataSourceOutput) SetDataSource(v *DataSource) *DescribeDataSourceOutput { + s.DataSource = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeDataSourceOutput) SetRequestId(v string) *DescribeDataSourceOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeDataSourceOutput) SetStatus(v int64) *DescribeDataSourceOutput { + s.Status = &v + return s +} + +type DescribeDataSourcePermissionsInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID of the data source. This is unique per AWS Region per AWS account. + // + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDataSourcePermissionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDataSourcePermissionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDataSourcePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataSourcePermissionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) + } + if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDataSourcePermissionsInput) SetAwsAccountId(v string) *DescribeDataSourcePermissionsInput { + s.AwsAccountId = &v + return s +} + +// SetDataSourceId sets the DataSourceId field's value. +func (s *DescribeDataSourcePermissionsInput) SetDataSourceId(v string) *DescribeDataSourcePermissionsInput { + s.DataSourceId = &v + return s +} + +type DescribeDataSourcePermissionsOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the data source. + DataSourceArn *string `type:"string"` + + // The ID of the data source. This is unique per AWS Region per AWS account. + DataSourceId *string `type:"string"` + + // A list of resource permissions on the data source. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DescribeDataSourcePermissionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDataSourcePermissionsOutput) GoString() string { + return s.String() +} + +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *DescribeDataSourcePermissionsOutput) SetDataSourceArn(v string) *DescribeDataSourcePermissionsOutput { + s.DataSourceArn = &v + return s +} + +// SetDataSourceId sets the DataSourceId field's value. +func (s *DescribeDataSourcePermissionsOutput) SetDataSourceId(v string) *DescribeDataSourcePermissionsOutput { + s.DataSourceId = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *DescribeDataSourcePermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDataSourcePermissionsOutput { + s.Permissions = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeDataSourcePermissionsOutput) SetRequestId(v string) *DescribeDataSourcePermissionsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeDataSourcePermissionsOutput) SetStatus(v int64) *DescribeDataSourcePermissionsOutput { + s.Status = &v + return s +} + +type DescribeGroupInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The name of the group that you want to describe. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeGroupInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeGroupInput) SetAwsAccountId(v string) *DescribeGroupInput { + s.AwsAccountId = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *DescribeGroupInput) SetGroupName(v string) *DescribeGroupInput { + s.GroupName = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DescribeGroupInput) SetNamespace(v string) *DescribeGroupInput { + s.Namespace = &v + return s +} + +type DescribeGroupOutput struct { + _ struct{} `type:"structure"` + + // The name of the group. + Group *Group `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DescribeGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGroupOutput) GoString() string { + return s.String() +} + +// SetGroup sets the Group field's value. +func (s *DescribeGroupOutput) SetGroup(v *Group) *DescribeGroupOutput { + s.Group = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeGroupOutput) SetRequestId(v string) *DescribeGroupOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeGroupOutput) SetStatus(v int64) *DescribeGroupOutput { + s.Status = &v + return s +} + +type DescribeIAMPolicyAssignmentInput struct { + _ struct{} `type:"structure"` + + // The name of the assignment. + // + // AssignmentName is a required field + AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` + + // The AWS account ID that contains the assignment you want to describe. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace that contains the assignment. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeIAMPolicyAssignmentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeIAMPolicyAssignmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIAMPolicyAssignmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIAMPolicyAssignmentInput"} + if s.AssignmentName == nil { + invalidParams.Add(request.NewErrParamRequired("AssignmentName")) + } + if s.AssignmentName != nil && len(*s.AssignmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssignmentName", 1)) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssignmentName sets the AssignmentName field's value. +func (s *DescribeIAMPolicyAssignmentInput) SetAssignmentName(v string) *DescribeIAMPolicyAssignmentInput { + s.AssignmentName = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeIAMPolicyAssignmentInput) SetAwsAccountId(v string) *DescribeIAMPolicyAssignmentInput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DescribeIAMPolicyAssignmentInput) SetNamespace(v string) *DescribeIAMPolicyAssignmentInput { + s.Namespace = &v + return s +} + +type DescribeIAMPolicyAssignmentOutput struct { + _ struct{} `type:"structure"` + + // Information describing the IAM policy assignment. + IAMPolicyAssignment *IAMPolicyAssignment `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DescribeIAMPolicyAssignmentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeIAMPolicyAssignmentOutput) GoString() string { + return s.String() +} + +// SetIAMPolicyAssignment sets the IAMPolicyAssignment field's value. +func (s *DescribeIAMPolicyAssignmentOutput) SetIAMPolicyAssignment(v *IAMPolicyAssignment) *DescribeIAMPolicyAssignmentOutput { + s.IAMPolicyAssignment = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeIAMPolicyAssignmentOutput) SetRequestId(v string) *DescribeIAMPolicyAssignmentOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeIAMPolicyAssignmentOutput) SetStatus(v int64) *DescribeIAMPolicyAssignmentOutput { + s.Status = &v + return s +} + +type DescribeIngestionInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID of the dataset used in the ingestion. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + + // An ID for the ingestion. + // + // IngestionId is a required field + IngestionId *string `location:"uri" locationName:"IngestionId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeIngestionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeIngestionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIngestionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIngestionInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } + if s.IngestionId == nil { + invalidParams.Add(request.NewErrParamRequired("IngestionId")) + } + if s.IngestionId != nil && len(*s.IngestionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IngestionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeIngestionInput) SetAwsAccountId(v string) *DescribeIngestionInput { + s.AwsAccountId = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *DescribeIngestionInput) SetDataSetId(v string) *DescribeIngestionInput { + s.DataSetId = &v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *DescribeIngestionInput) SetIngestionId(v string) *DescribeIngestionInput { + s.IngestionId = &v + return s +} + +type DescribeIngestionOutput struct { + _ struct{} `type:"structure"` + + // Information about the ingestion. + Ingestion *Ingestion `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DescribeIngestionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeIngestionOutput) GoString() string { + return s.String() +} + +// SetIngestion sets the Ingestion field's value. +func (s *DescribeIngestionOutput) SetIngestion(v *Ingestion) *DescribeIngestionOutput { + s.Ingestion = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeIngestionOutput) SetRequestId(v string) *DescribeIngestionOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeIngestionOutput) SetStatus(v int64) *DescribeIngestionOutput { + s.Status = &v + return s +} + +type DescribeTemplateAliasInput struct { + _ struct{} `type:"structure"` + + // The alias name. $PUBLISHED is not supported for template. + // + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` + + // AWS account ID that contains the template alias you are describing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // An ID for the template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeTemplateAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTemplateAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTemplateAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTemplateAliasInput"} + if s.AliasName == nil { + invalidParams.Add(request.NewErrParamRequired("AliasName")) + } + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasName sets the AliasName field's value. +func (s *DescribeTemplateAliasInput) SetAliasName(v string) *DescribeTemplateAliasInput { + s.AliasName = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeTemplateAliasInput) SetAwsAccountId(v string) *DescribeTemplateAliasInput { + s.AwsAccountId = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *DescribeTemplateAliasInput) SetTemplateId(v string) *DescribeTemplateAliasInput { + s.TemplateId = &v + return s +} + +type DescribeTemplateAliasOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // Information about the template alias. + TemplateAlias *TemplateAlias `type:"structure"` +} + +// String returns the string representation +func (s DescribeTemplateAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTemplateAliasOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeTemplateAliasOutput) SetRequestId(v string) *DescribeTemplateAliasOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeTemplateAliasOutput) SetStatus(v int64) *DescribeTemplateAliasOutput { + s.Status = &v + return s +} + +// SetTemplateAlias sets the TemplateAlias field's value. +func (s *DescribeTemplateAliasOutput) SetTemplateAlias(v *TemplateAlias) *DescribeTemplateAliasOutput { + s.TemplateAlias = v + return s +} + +type DescribeTemplateInput struct { + _ struct{} `type:"structure"` + + // This is an optional field, when an alias name is provided, the version referenced + // by the alias is described. Refer to CreateTemplateAlias to create a template + // alias. $PUBLISHED is not supported for template. + AliasName *string `location:"querystring" locationName:"alias-name" min:"1" type:"string"` + + // AWS account ID that contains the template you are describing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // An ID for the template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + + // This is an optional field, when a version number is provided the corresponding + // version is describe, if it's not provided the latest version of the template + // is described. + VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` +} + +// String returns the string representation +func (s DescribeTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTemplateInput"} + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + if s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasName sets the AliasName field's value. +func (s *DescribeTemplateInput) SetAliasName(v string) *DescribeTemplateInput { + s.AliasName = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeTemplateInput) SetAwsAccountId(v string) *DescribeTemplateInput { + s.AwsAccountId = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *DescribeTemplateInput) SetTemplateId(v string) *DescribeTemplateInput { + s.TemplateId = &v + return s +} + +// SetVersionNumber sets the VersionNumber field's value. +func (s *DescribeTemplateInput) SetVersionNumber(v int64) *DescribeTemplateInput { + s.VersionNumber = &v + return s +} + +type DescribeTemplateOutput struct { + _ struct{} `type:"structure"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // The template structure of the object you want to describe. + Template *Template `type:"structure"` +} + +// String returns the string representation +func (s DescribeTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTemplateOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *DescribeTemplateOutput) SetStatus(v int64) *DescribeTemplateOutput { + s.Status = &v + return s +} + +// SetTemplate sets the Template field's value. +func (s *DescribeTemplateOutput) SetTemplate(v *Template) *DescribeTemplateOutput { + s.Template = v + return s +} + +type DescribeTemplatePermissionsInput struct { + _ struct{} `type:"structure"` + + // AWS account ID that contains the template you are describing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID for the template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeTemplatePermissionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTemplatePermissionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTemplatePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTemplatePermissionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeTemplatePermissionsInput) SetAwsAccountId(v string) *DescribeTemplatePermissionsInput { + s.AwsAccountId = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *DescribeTemplatePermissionsInput) SetTemplateId(v string) *DescribeTemplatePermissionsInput { + s.TemplateId = &v + return s +} + +type DescribeTemplatePermissionsOutput struct { + _ struct{} `type:"structure"` + + // A list of resource permissions to be set on the template. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // The ARN of the template. + TemplateArn *string `type:"string"` + + // The ID for the template. + TemplateId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeTemplatePermissionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTemplatePermissionsOutput) GoString() string { + return s.String() +} + +// SetPermissions sets the Permissions field's value. +func (s *DescribeTemplatePermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeTemplatePermissionsOutput { + s.Permissions = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeTemplatePermissionsOutput) SetRequestId(v string) *DescribeTemplatePermissionsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeTemplatePermissionsOutput) SetStatus(v int64) *DescribeTemplatePermissionsOutput { + s.Status = &v + return s +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *DescribeTemplatePermissionsOutput) SetTemplateArn(v string) *DescribeTemplatePermissionsOutput { + s.TemplateArn = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *DescribeTemplatePermissionsOutput) SetTemplateId(v string) *DescribeTemplatePermissionsOutput { + s.TemplateId = &v + return s +} + +type DescribeUserInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the user is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // The name of the user that you want to describe. + // + // UserName is a required field + UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeUserInput) SetAwsAccountId(v string) *DescribeUserInput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DescribeUserInput) SetNamespace(v string) *DescribeUserInput { + s.Namespace = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *DescribeUserInput) SetUserName(v string) *DescribeUserInput { + s.UserName = &v + return s +} + +type DescribeUserOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // The user name. + User *User `type:"structure"` +} + +// String returns the string representation +func (s DescribeUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeUserOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeUserOutput) SetRequestId(v string) *DescribeUserOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeUserOutput) SetStatus(v int64) *DescribeUserOutput { + s.Status = &v + return s +} + +// SetUser sets the User field's value. +func (s *DescribeUserOutput) SetUser(v *User) *DescribeUserOutput { + s.User = v + return s +} + +// Error information on a data set SPICE ingestion. +type ErrorInfo struct { + _ struct{} `type:"structure"` + + // Error essage. + Message *string `type:"string"` + + // Error type. + Type *string `type:"string" enum:"IngestionErrorType"` +} + +// String returns the string representation +func (s ErrorInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ErrorInfo) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *ErrorInfo) SetMessage(v string) *ErrorInfo { + s.Message = &v + return s +} + +// SetType sets the Type field's value. +func (s *ErrorInfo) SetType(v string) *ErrorInfo { + s.Type = &v + return s +} + +// Export to CSV option. +type ExportToCSVOption struct { + _ struct{} `type:"structure"` + + // Availability status. + AvailabilityStatus *string `type:"string" enum:"DashboardBehavior"` +} + +// String returns the string representation +func (s ExportToCSVOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExportToCSVOption) GoString() string { + return s.String() +} + +// SetAvailabilityStatus sets the AvailabilityStatus field's value. +func (s *ExportToCSVOption) SetAvailabilityStatus(v string) *ExportToCSVOption { + s.AvailabilityStatus = &v + return s +} + +// A transform operation that filters rows based on some condition. +type FilterOperation struct { + _ struct{} `type:"structure"` + + // An expression that must evaluate to a boolean value. Rows for which the expression + // is evaluated to true are kept in the dataset. + // + // ConditionExpression is a required field + ConditionExpression *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s FilterOperation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FilterOperation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FilterOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FilterOperation"} + if s.ConditionExpression == nil { + invalidParams.Add(request.NewErrParamRequired("ConditionExpression")) + } + if s.ConditionExpression != nil && len(*s.ConditionExpression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConditionExpression", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConditionExpression sets the ConditionExpression field's value. +func (s *FilterOperation) SetConditionExpression(v string) *FilterOperation { + s.ConditionExpression = &v + return s +} + +// Geospatial column group that denotes a hierarchy. +type GeoSpatialColumnGroup struct { + _ struct{} `type:"structure"` + + // Columns in this hierarchy. + // + // Columns is a required field + Columns []*string `min:"1" type:"list" required:"true"` + + // Country code. + // + // CountryCode is a required field + CountryCode *string `type:"string" required:"true" enum:"GeoSpatialCountryCode"` + + // A display name for the hierarchy. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GeoSpatialColumnGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GeoSpatialColumnGroup) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GeoSpatialColumnGroup) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GeoSpatialColumnGroup"} + if s.Columns == nil { + invalidParams.Add(request.NewErrParamRequired("Columns")) + } + if s.Columns != nil && len(s.Columns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Columns", 1)) + } + if s.CountryCode == nil { + invalidParams.Add(request.NewErrParamRequired("CountryCode")) + } + 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 +} + +// SetColumns sets the Columns field's value. +func (s *GeoSpatialColumnGroup) SetColumns(v []*string) *GeoSpatialColumnGroup { + s.Columns = v + return s +} + +// SetCountryCode sets the CountryCode field's value. +func (s *GeoSpatialColumnGroup) SetCountryCode(v string) *GeoSpatialColumnGroup { + s.CountryCode = &v + return s +} + +// SetName sets the Name field's value. +func (s *GeoSpatialColumnGroup) SetName(v string) *GeoSpatialColumnGroup { + s.Name = &v + return s +} + +type GetDashboardEmbedUrlInput struct { + _ struct{} `type:"structure"` + + // AWS account ID that contains the dashboard you are embedding. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID for the dashboard, also added to IAM policy + // + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + + // The authentication method the user uses to sign in (IAM only). + // + // IdentityType is a required field + IdentityType *string `location:"querystring" locationName:"creds-type" type:"string" required:"true" enum:"IdentityType"` + + // Remove the reset button on embedded dashboard. The default is FALSE, which + // allows the reset button. + ResetDisabled *bool `location:"querystring" locationName:"reset-disabled" type:"boolean"` + + // How many minutes the session is valid. The session lifetime must be between + // 15 and 600 minutes. + SessionLifetimeInMinutes *int64 `location:"querystring" locationName:"session-lifetime" min:"15" type:"long"` + + // Remove the undo/redo button on embedded dashboard. The default is FALSE, + // which enables the undo/redo button. + UndoRedoDisabled *bool `location:"querystring" locationName:"undo-redo-disabled" type:"boolean"` + + // The Amazon QuickSight user's ARN, for use with QUICKSIGHT identity type. + // You can use this for any Amazon QuickSight users in your account (readers, + // authors, or admins) authenticated as one of the following: + // + // * Active Directory (AD) users or group members + // + // * Invited non-federated users + // + // * IAM users and IAM role-based sessions authenticated through Federated + // Single Sign-On using SAML, OpenID Connect, or IAM Federation + UserArn *string `location:"querystring" locationName:"user-arn" type:"string"` +} + +// String returns the string representation +func (s GetDashboardEmbedUrlInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDashboardEmbedUrlInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDashboardEmbedUrlInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDashboardEmbedUrlInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) + } + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + } + if s.IdentityType == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityType")) + } + if s.SessionLifetimeInMinutes != nil && *s.SessionLifetimeInMinutes < 15 { + invalidParams.Add(request.NewErrParamMinValue("SessionLifetimeInMinutes", 15)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *GetDashboardEmbedUrlInput) SetAwsAccountId(v string) *GetDashboardEmbedUrlInput { + s.AwsAccountId = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *GetDashboardEmbedUrlInput) SetDashboardId(v string) *GetDashboardEmbedUrlInput { + s.DashboardId = &v + return s +} + +// SetIdentityType sets the IdentityType field's value. +func (s *GetDashboardEmbedUrlInput) SetIdentityType(v string) *GetDashboardEmbedUrlInput { + s.IdentityType = &v + return s +} + +// SetResetDisabled sets the ResetDisabled field's value. +func (s *GetDashboardEmbedUrlInput) SetResetDisabled(v bool) *GetDashboardEmbedUrlInput { + s.ResetDisabled = &v + return s +} + +// SetSessionLifetimeInMinutes sets the SessionLifetimeInMinutes field's value. +func (s *GetDashboardEmbedUrlInput) SetSessionLifetimeInMinutes(v int64) *GetDashboardEmbedUrlInput { + s.SessionLifetimeInMinutes = &v + return s +} + +// SetUndoRedoDisabled sets the UndoRedoDisabled field's value. +func (s *GetDashboardEmbedUrlInput) SetUndoRedoDisabled(v bool) *GetDashboardEmbedUrlInput { + s.UndoRedoDisabled = &v + return s +} + +// SetUserArn sets the UserArn field's value. +func (s *GetDashboardEmbedUrlInput) SetUserArn(v string) *GetDashboardEmbedUrlInput { + s.UserArn = &v + return s +} + +type GetDashboardEmbedUrlOutput struct { + _ struct{} `type:"structure"` + + // URL that you can put into your server-side webpage to embed your dashboard. + // This URL is valid for 5 minutes, and the resulting session is valid for 10 + // hours. The API provides the URL with an auth_code that enables a single-signon + // session. + EmbedUrl *string `type:"string" sensitive:"true"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s GetDashboardEmbedUrlOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDashboardEmbedUrlOutput) GoString() string { + return s.String() +} + +// SetEmbedUrl sets the EmbedUrl field's value. +func (s *GetDashboardEmbedUrlOutput) SetEmbedUrl(v string) *GetDashboardEmbedUrlOutput { + s.EmbedUrl = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *GetDashboardEmbedUrlOutput) SetRequestId(v string) *GetDashboardEmbedUrlOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetDashboardEmbedUrlOutput) SetStatus(v int64) *GetDashboardEmbedUrlOutput { + s.Status = &v + return s +} + +// A group in Amazon QuickSight consists of a set of users. You can use groups +// to make it easier to manage access and security. Currently, an Amazon QuickSight +// subscription can't contain more than 500 Amazon QuickSight groups. +type Group struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) for the group. + Arn *string `type:"string"` + + // The group description. + Description *string `min:"1" type:"string"` + + // The name of the group. + GroupName *string `min:"1" type:"string"` + + // The principal ID of the group. + PrincipalId *string `type:"string"` +} + +// String returns the string representation +func (s Group) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Group) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Group) SetArn(v string) *Group { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Group) SetDescription(v string) *Group { + s.Description = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *Group) SetGroupName(v string) *Group { + s.GroupName = &v + return s +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *Group) SetPrincipalId(v string) *Group { + s.PrincipalId = &v + return s +} + +// A member of an Amazon QuickSight group. Currently, group members must be +// users. Groups can't be members of another group. . +type GroupMember struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) for the group member (user). + Arn *string `type:"string"` + + // The name of the group member (user). + MemberName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GroupMember) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupMember) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GroupMember) SetArn(v string) *GroupMember { + s.Arn = &v + return s +} + +// SetMemberName sets the MemberName field's value. +func (s *GroupMember) SetMemberName(v string) *GroupMember { + s.MemberName = &v + return s +} + +// IAM policy assignment. +type IAMPolicyAssignment struct { + _ struct{} `type:"structure"` + + // Assignment ID. + AssignmentId *string `type:"string"` + + // Assignment name. + AssignmentName *string `min:"1" type:"string"` + + // Assignment status. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` + + // AWS account ID. + AwsAccountId *string `min:"12" type:"string"` + + // Identities. + Identities map[string][]*string `type:"map"` + + // Policy ARN. + PolicyArn *string `type:"string"` +} + +// String returns the string representation +func (s IAMPolicyAssignment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IAMPolicyAssignment) GoString() string { + return s.String() +} + +// SetAssignmentId sets the AssignmentId field's value. +func (s *IAMPolicyAssignment) SetAssignmentId(v string) *IAMPolicyAssignment { + s.AssignmentId = &v + return s +} + +// SetAssignmentName sets the AssignmentName field's value. +func (s *IAMPolicyAssignment) SetAssignmentName(v string) *IAMPolicyAssignment { + s.AssignmentName = &v + return s +} + +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *IAMPolicyAssignment) SetAssignmentStatus(v string) *IAMPolicyAssignment { + s.AssignmentStatus = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *IAMPolicyAssignment) SetAwsAccountId(v string) *IAMPolicyAssignment { + s.AwsAccountId = &v + return s +} + +// SetIdentities sets the Identities field's value. +func (s *IAMPolicyAssignment) SetIdentities(v map[string][]*string) *IAMPolicyAssignment { + s.Identities = v + return s +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *IAMPolicyAssignment) SetPolicyArn(v string) *IAMPolicyAssignment { + s.PolicyArn = &v + return s +} + +// IAM policy assignment Summary. +type IAMPolicyAssignmentSummary struct { + _ struct{} `type:"structure"` + + // Assignment name. + AssignmentName *string `min:"1" type:"string"` + + // Assignment status. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` +} + +// String returns the string representation +func (s IAMPolicyAssignmentSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IAMPolicyAssignmentSummary) GoString() string { + return s.String() +} + +// SetAssignmentName sets the AssignmentName field's value. +func (s *IAMPolicyAssignmentSummary) SetAssignmentName(v string) *IAMPolicyAssignmentSummary { + s.AssignmentName = &v + return s +} + +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *IAMPolicyAssignmentSummary) SetAssignmentStatus(v string) *IAMPolicyAssignmentSummary { + s.AssignmentStatus = &v + return s +} + +// Information on the SPICE ingestion for a dataset. +type Ingestion struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) of the resource. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // The time this ingestion started. + // + // CreatedTime is a required field + CreatedTime *time.Time `type:"timestamp" required:"true"` + + // Error information for this ingestion. + ErrorInfo *ErrorInfo `type:"structure"` + + // Ingestion ID. + IngestionId *string `min:"1" type:"string"` + + // Size of the data ingested in bytes. + IngestionSizeInBytes *int64 `type:"long"` + + // Ingestion status. + // + // IngestionStatus is a required field + IngestionStatus *string `type:"string" required:"true" enum:"IngestionStatus"` + + // The time this ingestion took, measured in seconds. + IngestionTimeInSeconds *int64 `type:"long"` + + // Information on queued dataset SPICE ingestion. + QueueInfo *QueueInfo `type:"structure"` + + // Event source for this ingestion. + RequestSource *string `type:"string" enum:"IngestionRequestSource"` + + // Type of this ingestion. + RequestType *string `type:"string" enum:"IngestionRequestType"` + + // Information on rows during a data set SPICE ingestion. + RowInfo *RowInfo `type:"structure"` +} + +// String returns the string representation +func (s Ingestion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Ingestion) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Ingestion) SetArn(v string) *Ingestion { + s.Arn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *Ingestion) SetCreatedTime(v time.Time) *Ingestion { + s.CreatedTime = &v + return s +} + +// SetErrorInfo sets the ErrorInfo field's value. +func (s *Ingestion) SetErrorInfo(v *ErrorInfo) *Ingestion { + s.ErrorInfo = v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *Ingestion) SetIngestionId(v string) *Ingestion { + s.IngestionId = &v + return s +} + +// SetIngestionSizeInBytes sets the IngestionSizeInBytes field's value. +func (s *Ingestion) SetIngestionSizeInBytes(v int64) *Ingestion { + s.IngestionSizeInBytes = &v + return s +} + +// SetIngestionStatus sets the IngestionStatus field's value. +func (s *Ingestion) SetIngestionStatus(v string) *Ingestion { + s.IngestionStatus = &v + return s +} + +// SetIngestionTimeInSeconds sets the IngestionTimeInSeconds field's value. +func (s *Ingestion) SetIngestionTimeInSeconds(v int64) *Ingestion { + s.IngestionTimeInSeconds = &v + return s +} + +// SetQueueInfo sets the QueueInfo field's value. +func (s *Ingestion) SetQueueInfo(v *QueueInfo) *Ingestion { + s.QueueInfo = v + return s +} + +// SetRequestSource sets the RequestSource field's value. +func (s *Ingestion) SetRequestSource(v string) *Ingestion { + s.RequestSource = &v + return s +} + +// SetRequestType sets the RequestType field's value. +func (s *Ingestion) SetRequestType(v string) *Ingestion { + s.RequestType = &v + return s +} + +// SetRowInfo sets the RowInfo field's value. +func (s *Ingestion) SetRowInfo(v *RowInfo) *Ingestion { + s.RowInfo = v + return s +} + +// Metadata on a column that is used as the input of a transform operation. +type InputColumn struct { + _ struct{} `type:"structure"` + + // The name of this column in the underlying data source. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The data type of the column. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"InputColumnDataType"` +} + +// String returns the string representation +func (s InputColumn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputColumn) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputColumn) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputColumn"} + 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 +} + +// SetName sets the Name field's value. +func (s *InputColumn) SetName(v string) *InputColumn { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *InputColumn) SetType(v string) *InputColumn { + s.Type = &v + return s +} + +// Integer parameter. +type IntegerParameter struct { + _ struct{} `type:"structure"` + + // A display name for the dataset. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // Values. + // + // Values is a required field + Values []*int64 `type:"list" required:"true"` +} + +// String returns the string representation +func (s IntegerParameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IntegerParameter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IntegerParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IntegerParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *IntegerParameter) SetName(v string) *IntegerParameter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *IntegerParameter) SetValues(v []*int64) *IntegerParameter { + s.Values = v + return s +} + +// Jira parameters. +type JiraParameters struct { + _ struct{} `type:"structure"` + + // The base URL of the Jira site. + // + // SiteBaseUrl is a required field + SiteBaseUrl *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s JiraParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JiraParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *JiraParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JiraParameters"} + if s.SiteBaseUrl == nil { + invalidParams.Add(request.NewErrParamRequired("SiteBaseUrl")) + } + if s.SiteBaseUrl != nil && len(*s.SiteBaseUrl) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SiteBaseUrl", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSiteBaseUrl sets the SiteBaseUrl field's value. +func (s *JiraParameters) SetSiteBaseUrl(v string) *JiraParameters { + s.SiteBaseUrl = &v + return s +} + +// Join instruction. +type JoinInstruction struct { + _ struct{} `type:"structure"` + + // Left operand. + // + // LeftOperand is a required field + LeftOperand *string `min:"1" type:"string" required:"true"` + + // On Clause. + // + // OnClause is a required field + OnClause *string `min:"1" type:"string" required:"true"` + + // Right operand. + // + // RightOperand is a required field + RightOperand *string `min:"1" type:"string" required:"true"` + + // Type. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"JoinType"` +} + +// String returns the string representation +func (s JoinInstruction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JoinInstruction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *JoinInstruction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JoinInstruction"} + if s.LeftOperand == nil { + invalidParams.Add(request.NewErrParamRequired("LeftOperand")) + } + if s.LeftOperand != nil && len(*s.LeftOperand) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LeftOperand", 1)) + } + if s.OnClause == nil { + invalidParams.Add(request.NewErrParamRequired("OnClause")) + } + if s.OnClause != nil && len(*s.OnClause) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OnClause", 1)) + } + if s.RightOperand == nil { + invalidParams.Add(request.NewErrParamRequired("RightOperand")) + } + if s.RightOperand != nil && len(*s.RightOperand) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RightOperand", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLeftOperand sets the LeftOperand field's value. +func (s *JoinInstruction) SetLeftOperand(v string) *JoinInstruction { + s.LeftOperand = &v + return s +} + +// SetOnClause sets the OnClause field's value. +func (s *JoinInstruction) SetOnClause(v string) *JoinInstruction { + s.OnClause = &v + return s +} + +// SetRightOperand sets the RightOperand field's value. +func (s *JoinInstruction) SetRightOperand(v string) *JoinInstruction { + s.RightOperand = &v + return s +} + +// SetType sets the Type field's value. +func (s *JoinInstruction) SetType(v string) *JoinInstruction { + s.Type = &v + return s +} + +type ListDashboardVersionsInput struct { + _ struct{} `type:"structure"` + + // AWS account ID that contains the dashboard you are listing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID for the dashboard. + // + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` +} + +// String returns the string representation +func (s ListDashboardVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDashboardVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDashboardVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDashboardVersionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) + } + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListDashboardVersionsInput) SetAwsAccountId(v string) *ListDashboardVersionsInput { + s.AwsAccountId = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *ListDashboardVersionsInput) SetDashboardId(v string) *ListDashboardVersionsInput { + s.DashboardId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDashboardVersionsInput) SetMaxResults(v int64) *ListDashboardVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDashboardVersionsInput) SetNextToken(v string) *ListDashboardVersionsInput { + s.NextToken = &v + return s +} + +type ListDashboardVersionsOutput struct { + _ struct{} `type:"structure"` + + // A structure that contains information about each version of the dashboard. + DashboardVersionSummaryList []*DashboardVersionSummary `type:"list"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s ListDashboardVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDashboardVersionsOutput) GoString() string { + return s.String() +} + +// SetDashboardVersionSummaryList sets the DashboardVersionSummaryList field's value. +func (s *ListDashboardVersionsOutput) SetDashboardVersionSummaryList(v []*DashboardVersionSummary) *ListDashboardVersionsOutput { + s.DashboardVersionSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDashboardVersionsOutput) SetNextToken(v string) *ListDashboardVersionsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListDashboardVersionsOutput) SetRequestId(v string) *ListDashboardVersionsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListDashboardVersionsOutput) SetStatus(v int64) *ListDashboardVersionsOutput { + s.Status = &v + return s +} + +type ListDashboardsInput struct { + _ struct{} `type:"structure"` + + // AWS account ID that contains the dashboards you are listing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` +} + +// String returns the string representation +func (s ListDashboardsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDashboardsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDashboardsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDashboardsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListDashboardsInput) SetAwsAccountId(v string) *ListDashboardsInput { + s.AwsAccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDashboardsInput) SetMaxResults(v int64) *ListDashboardsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDashboardsInput) SetNextToken(v string) *ListDashboardsInput { + s.NextToken = &v + return s +} + +type ListDashboardsOutput struct { + _ struct{} `type:"structure"` + + // A structure that contains all of the dashboards shared with the user. Provides + // basic information about the dashboards. + DashboardSummaryList []*DashboardSummary `type:"list"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s ListDashboardsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDashboardsOutput) GoString() string { + return s.String() +} + +// SetDashboardSummaryList sets the DashboardSummaryList field's value. +func (s *ListDashboardsOutput) SetDashboardSummaryList(v []*DashboardSummary) *ListDashboardsOutput { + s.DashboardSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDashboardsOutput) SetNextToken(v string) *ListDashboardsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListDashboardsOutput) SetRequestId(v string) *ListDashboardsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListDashboardsOutput) SetStatus(v int64) *ListDashboardsOutput { + s.Status = &v + return s +} + +type ListDataSetsInput struct { + _ struct{} `type:"structure"` + + // The AWS Account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` +} + +// String returns the string representation +func (s ListDataSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDataSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDataSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDataSetsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListDataSetsInput) SetAwsAccountId(v string) *ListDataSetsInput { + s.AwsAccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDataSetsInput) SetMaxResults(v int64) *ListDataSetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDataSetsInput) SetNextToken(v string) *ListDataSetsInput { + s.NextToken = &v + return s +} + +type ListDataSetsOutput struct { + _ struct{} `type:"structure"` + + // The list of dataset summaries. + DataSetSummaries []*DataSetSummary `type:"list"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s ListDataSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDataSetsOutput) GoString() string { + return s.String() +} + +// SetDataSetSummaries sets the DataSetSummaries field's value. +func (s *ListDataSetsOutput) SetDataSetSummaries(v []*DataSetSummary) *ListDataSetsOutput { + s.DataSetSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDataSetsOutput) SetNextToken(v string) *ListDataSetsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListDataSetsOutput) SetRequestId(v string) *ListDataSetsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListDataSetsOutput) SetStatus(v int64) *ListDataSetsOutput { + s.Status = &v + return s +} + +type ListDataSourcesInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` +} + +// String returns the string representation +func (s ListDataSourcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDataSourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDataSourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDataSourcesInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListDataSourcesInput) SetAwsAccountId(v string) *ListDataSourcesInput { + s.AwsAccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDataSourcesInput) SetMaxResults(v int64) *ListDataSourcesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDataSourcesInput) SetNextToken(v string) *ListDataSourcesInput { + s.NextToken = &v + return s +} + +type ListDataSourcesOutput struct { + _ struct{} `type:"structure"` + + // A list of data sources. + DataSources []*DataSource `type:"list"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s ListDataSourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDataSourcesOutput) GoString() string { + return s.String() +} + +// SetDataSources sets the DataSources field's value. +func (s *ListDataSourcesOutput) SetDataSources(v []*DataSource) *ListDataSourcesOutput { + s.DataSources = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDataSourcesOutput) SetNextToken(v string) *ListDataSourcesOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListDataSourcesOutput) SetRequestId(v string) *ListDataSourcesOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListDataSourcesOutput) SetStatus(v int64) *ListDataSourcesOutput { + s.Status = &v + return s +} + +type ListGroupMembershipsInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The name of the group that you want to see a membership list of. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + + // The maximum number of results to return from this request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // A pagination token that can be used in a subsequent request. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` +} + +// String returns the string representation +func (s ListGroupMembershipsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListGroupMembershipsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListGroupMembershipsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListGroupMembershipsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListGroupMembershipsInput) SetAwsAccountId(v string) *ListGroupMembershipsInput { + s.AwsAccountId = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *ListGroupMembershipsInput) SetGroupName(v string) *ListGroupMembershipsInput { + s.GroupName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListGroupMembershipsInput) SetMaxResults(v int64) *ListGroupMembershipsInput { + s.MaxResults = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *ListGroupMembershipsInput) SetNamespace(v string) *ListGroupMembershipsInput { + s.Namespace = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGroupMembershipsInput) SetNextToken(v string) *ListGroupMembershipsInput { + s.NextToken = &v + return s +} + +type ListGroupMembershipsOutput struct { + _ struct{} `type:"structure"` + + // The list of the members of the group. + GroupMemberList []*GroupMember `type:"list"` + + // A pagination token that can be used in a subsequent request. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s ListGroupMembershipsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListGroupMembershipsOutput) GoString() string { + return s.String() +} + +// SetGroupMemberList sets the GroupMemberList field's value. +func (s *ListGroupMembershipsOutput) SetGroupMemberList(v []*GroupMember) *ListGroupMembershipsOutput { + s.GroupMemberList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGroupMembershipsOutput) SetNextToken(v string) *ListGroupMembershipsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListGroupMembershipsOutput) SetRequestId(v string) *ListGroupMembershipsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListGroupMembershipsOutput) SetStatus(v int64) *ListGroupMembershipsOutput { + s.Status = &v + return s +} + +type ListGroupsInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The maximum number of results to return. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // A pagination token that can be used in a subsequent request. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` +} + +// String returns the string representation +func (s ListGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListGroupsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListGroupsInput) SetAwsAccountId(v string) *ListGroupsInput { + s.AwsAccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListGroupsInput) SetMaxResults(v int64) *ListGroupsInput { + s.MaxResults = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *ListGroupsInput) SetNamespace(v string) *ListGroupsInput { + s.Namespace = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput { + s.NextToken = &v + return s +} + +type ListGroupsOutput struct { + _ struct{} `type:"structure"` + + // The list of the groups. + GroupList []*Group `type:"list"` + + // A pagination token that can be used in a subsequent request. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s ListGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListGroupsOutput) GoString() string { + return s.String() +} + +// SetGroupList sets the GroupList field's value. +func (s *ListGroupsOutput) SetGroupList(v []*Group) *ListGroupsOutput { + s.GroupList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListGroupsOutput) SetRequestId(v string) *ListGroupsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListGroupsOutput) SetStatus(v int64) *ListGroupsOutput { + s.Status = &v + return s +} + +type ListIAMPolicyAssignmentsForUserInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID that contains the assignment. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The namespace of the assignment. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + // The name of the user. + // + // UserName is a required field + UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListIAMPolicyAssignmentsForUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIAMPolicyAssignmentsForUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListIAMPolicyAssignmentsForUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIAMPolicyAssignmentsForUserInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListIAMPolicyAssignmentsForUserInput) SetAwsAccountId(v string) *ListIAMPolicyAssignmentsForUserInput { + s.AwsAccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListIAMPolicyAssignmentsForUserInput) SetMaxResults(v int64) *ListIAMPolicyAssignmentsForUserInput { + s.MaxResults = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *ListIAMPolicyAssignmentsForUserInput) SetNamespace(v string) *ListIAMPolicyAssignmentsForUserInput { + s.Namespace = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIAMPolicyAssignmentsForUserInput) SetNextToken(v string) *ListIAMPolicyAssignmentsForUserInput { + s.NextToken = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *ListIAMPolicyAssignmentsForUserInput) SetUserName(v string) *ListIAMPolicyAssignmentsForUserInput { + s.UserName = &v + return s +} + +type ListIAMPolicyAssignmentsForUserOutput struct { + _ struct{} `type:"structure"` + + // Active assignments for this user. + ActiveAssignments []*ActiveIAMPolicyAssignment `type:"list"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s ListIAMPolicyAssignmentsForUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIAMPolicyAssignmentsForUserOutput) GoString() string { + return s.String() +} + +// SetActiveAssignments sets the ActiveAssignments field's value. +func (s *ListIAMPolicyAssignmentsForUserOutput) SetActiveAssignments(v []*ActiveIAMPolicyAssignment) *ListIAMPolicyAssignmentsForUserOutput { + s.ActiveAssignments = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIAMPolicyAssignmentsForUserOutput) SetNextToken(v string) *ListIAMPolicyAssignmentsForUserOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListIAMPolicyAssignmentsForUserOutput) SetRequestId(v string) *ListIAMPolicyAssignmentsForUserOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListIAMPolicyAssignmentsForUserOutput) SetStatus(v int64) *ListIAMPolicyAssignmentsForUserOutput { + s.Status = &v + return s +} + +type ListIAMPolicyAssignmentsInput struct { + _ struct{} `type:"structure"` + + // The status of the assignment. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` + + // The AWS account ID that contains this IAM policy assignment. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The namespace for this assignment. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` +} + +// String returns the string representation +func (s ListIAMPolicyAssignmentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIAMPolicyAssignmentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListIAMPolicyAssignmentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIAMPolicyAssignmentsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *ListIAMPolicyAssignmentsInput) SetAssignmentStatus(v string) *ListIAMPolicyAssignmentsInput { + s.AssignmentStatus = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListIAMPolicyAssignmentsInput) SetAwsAccountId(v string) *ListIAMPolicyAssignmentsInput { + s.AwsAccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListIAMPolicyAssignmentsInput) SetMaxResults(v int64) *ListIAMPolicyAssignmentsInput { + s.MaxResults = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *ListIAMPolicyAssignmentsInput) SetNamespace(v string) *ListIAMPolicyAssignmentsInput { + s.Namespace = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIAMPolicyAssignmentsInput) SetNextToken(v string) *ListIAMPolicyAssignmentsInput { + s.NextToken = &v + return s +} + +type ListIAMPolicyAssignmentsOutput struct { + _ struct{} `type:"structure"` + + // Information describing the IAM policy assignments. + IAMPolicyAssignments []*IAMPolicyAssignmentSummary `type:"list"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s ListIAMPolicyAssignmentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIAMPolicyAssignmentsOutput) GoString() string { + return s.String() +} + +// SetIAMPolicyAssignments sets the IAMPolicyAssignments field's value. +func (s *ListIAMPolicyAssignmentsOutput) SetIAMPolicyAssignments(v []*IAMPolicyAssignmentSummary) *ListIAMPolicyAssignmentsOutput { + s.IAMPolicyAssignments = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIAMPolicyAssignmentsOutput) SetNextToken(v string) *ListIAMPolicyAssignmentsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListIAMPolicyAssignmentsOutput) SetRequestId(v string) *ListIAMPolicyAssignmentsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListIAMPolicyAssignmentsOutput) SetStatus(v int64) *ListIAMPolicyAssignmentsOutput { + s.Status = &v + return s +} + +type ListIngestionsInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID of the dataset used in the ingestion. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` +} + +// String returns the string representation +func (s ListIngestionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIngestionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListIngestionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIngestionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListIngestionsInput) SetAwsAccountId(v string) *ListIngestionsInput { + s.AwsAccountId = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *ListIngestionsInput) SetDataSetId(v string) *ListIngestionsInput { + s.DataSetId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListIngestionsInput) SetMaxResults(v int64) *ListIngestionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIngestionsInput) SetNextToken(v string) *ListIngestionsInput { + s.NextToken = &v + return s +} + +type ListIngestionsOutput struct { + _ struct{} `type:"structure"` + + // A list of the ingestions. + Ingestions []*Ingestion `type:"list"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s ListIngestionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListIngestionsOutput) GoString() string { + return s.String() +} + +// SetIngestions sets the Ingestions field's value. +func (s *ListIngestionsOutput) SetIngestions(v []*Ingestion) *ListIngestionsOutput { + s.Ingestions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIngestionsOutput) SetNextToken(v string) *ListIngestionsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListIngestionsOutput) SetRequestId(v string) *ListIngestionsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListIngestionsOutput) SetStatus(v int64) *ListIngestionsOutput { + s.Status = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource you want a list of tags for. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" 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) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + 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 AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the resource. + Tags []*Tag `min:"1" type:"list"` +} + +// 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() +} + +// SetRequestId sets the RequestId field's value. +func (s *ListTagsForResourceOutput) SetRequestId(v string) *ListTagsForResourceOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListTagsForResourceOutput) SetStatus(v int64) *ListTagsForResourceOutput { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ListTemplateAliasesInput struct { + _ struct{} `type:"structure"` + + // AWS account ID that contains the template aliases you are listing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-result" min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + // The ID for the template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTemplateAliasesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTemplateAliasesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTemplateAliasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTemplateAliasesInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListTemplateAliasesInput) SetAwsAccountId(v string) *ListTemplateAliasesInput { + s.AwsAccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTemplateAliasesInput) SetMaxResults(v int64) *ListTemplateAliasesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateAliasesInput) SetNextToken(v string) *ListTemplateAliasesInput { + s.NextToken = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *ListTemplateAliasesInput) SetTemplateId(v string) *ListTemplateAliasesInput { + s.TemplateId = &v + return s +} + +type ListTemplateAliasesOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // A structure containing the list of template aliases. + TemplateAliasList []*TemplateAlias `type:"list"` +} + +// String returns the string representation +func (s ListTemplateAliasesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTemplateAliasesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateAliasesOutput) SetNextToken(v string) *ListTemplateAliasesOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListTemplateAliasesOutput) SetRequestId(v string) *ListTemplateAliasesOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListTemplateAliasesOutput) SetStatus(v int64) *ListTemplateAliasesOutput { + s.Status = &v + return s +} + +// SetTemplateAliasList sets the TemplateAliasList field's value. +func (s *ListTemplateAliasesOutput) SetTemplateAliasList(v []*TemplateAlias) *ListTemplateAliasesOutput { + s.TemplateAliasList = v + return s +} + +type ListTemplateVersionsInput struct { + _ struct{} `type:"structure"` + + // AWS account ID that contains the templates you are listing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + // The ID for the template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTemplateVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTemplateVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTemplateVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTemplateVersionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListTemplateVersionsInput) SetAwsAccountId(v string) *ListTemplateVersionsInput { + s.AwsAccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTemplateVersionsInput) SetMaxResults(v int64) *ListTemplateVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateVersionsInput) SetNextToken(v string) *ListTemplateVersionsInput { + s.NextToken = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *ListTemplateVersionsInput) SetTemplateId(v string) *ListTemplateVersionsInput { + s.TemplateId = &v + return s +} + +type ListTemplateVersionsOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // A structure containing a list of all the versions of the specified template. + TemplateVersionSummaryList []*TemplateVersionSummary `type:"list"` +} + +// String returns the string representation +func (s ListTemplateVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTemplateVersionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateVersionsOutput) SetNextToken(v string) *ListTemplateVersionsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListTemplateVersionsOutput) SetRequestId(v string) *ListTemplateVersionsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListTemplateVersionsOutput) SetStatus(v int64) *ListTemplateVersionsOutput { + s.Status = &v + return s +} + +// SetTemplateVersionSummaryList sets the TemplateVersionSummaryList field's value. +func (s *ListTemplateVersionsOutput) SetTemplateVersionSummaryList(v []*TemplateVersionSummary) *ListTemplateVersionsOutput { + s.TemplateVersionSummaryList = v + return s +} + +type ListTemplatesInput struct { + _ struct{} `type:"structure"` + + // AWS account ID that contains the templates you are listing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-result" min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` +} + +// String returns the string representation +func (s ListTemplatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTemplatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTemplatesInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListTemplatesInput) SetAwsAccountId(v string) *ListTemplatesInput { + s.AwsAccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTemplatesInput) SetMaxResults(v int64) *ListTemplatesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput { + s.NextToken = &v + return s +} + +type ListTemplatesOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // A structure containing information about the templates in the list. + TemplateSummaryList []*TemplateSummary `type:"list"` +} + +// String returns the string representation +func (s ListTemplatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTemplatesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplatesOutput) SetNextToken(v string) *ListTemplatesOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListTemplatesOutput) SetRequestId(v string) *ListTemplatesOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListTemplatesOutput) SetStatus(v int64) *ListTemplatesOutput { + s.Status = &v + return s +} + +// SetTemplateSummaryList sets the TemplateSummaryList field's value. +func (s *ListTemplatesOutput) SetTemplateSummaryList(v []*TemplateSummary) *ListTemplatesOutput { + s.TemplateSummaryList = v + return s +} + +type ListUserGroupsInput struct { + _ struct{} `type:"structure"` + + // The AWS Account ID that the user is in. Currently, you use the ID for the + // AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The maximum number of results to return from this request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // A pagination token that can be used in a subsequent request. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + // The Amazon QuickSight user name that you want to list group memberships for. + // + // UserName is a required field + UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListUserGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListUserGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListUserGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUserGroupsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListUserGroupsInput) SetAwsAccountId(v string) *ListUserGroupsInput { + s.AwsAccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListUserGroupsInput) SetMaxResults(v int64) *ListUserGroupsInput { + s.MaxResults = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *ListUserGroupsInput) SetNamespace(v string) *ListUserGroupsInput { + s.Namespace = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUserGroupsInput) SetNextToken(v string) *ListUserGroupsInput { + s.NextToken = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *ListUserGroupsInput) SetUserName(v string) *ListUserGroupsInput { + s.UserName = &v + return s +} + +type ListUserGroupsOutput struct { + _ struct{} `type:"structure"` + + // The list of groups the user is a member of. + GroupList []*Group `type:"list"` + + // A pagination token that can be used in a subsequent request. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s ListUserGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListUserGroupsOutput) GoString() string { + return s.String() +} + +// SetGroupList sets the GroupList field's value. +func (s *ListUserGroupsOutput) SetGroupList(v []*Group) *ListUserGroupsOutput { + s.GroupList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUserGroupsOutput) SetNextToken(v string) *ListUserGroupsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListUserGroupsOutput) SetRequestId(v string) *ListUserGroupsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListUserGroupsOutput) SetStatus(v int64) *ListUserGroupsOutput { + s.Status = &v + return s +} + +type ListUsersInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the user is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The maximum number of results to return from this request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // A pagination token that can be used in a subsequent request. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` +} + +// String returns the string representation +func (s ListUsersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListUsersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListUsersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListUsersInput) SetAwsAccountId(v string) *ListUsersInput { + s.AwsAccountId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput { + s.MaxResults = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *ListUsersInput) SetNamespace(v string) *ListUsersInput { + s.Namespace = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput { + s.NextToken = &v + return s +} + +type ListUsersOutput struct { + _ struct{} `type:"structure"` + + // A pagination token that can be used in a subsequent request. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // The list of users. + UserList []*User `type:"list"` +} + +// String returns the string representation +func (s ListUsersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListUsersOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListUsersOutput) SetRequestId(v string) *ListUsersOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListUsersOutput) SetStatus(v int64) *ListUsersOutput { + s.Status = &v + return s +} + +// SetUserList sets the UserList field's value. +func (s *ListUsersOutput) SetUserList(v []*User) *ListUsersOutput { + s.UserList = v + return s +} + +// A unit that joins and data transformations operate on. A logical table has +// a source, which can be either a physical table or result of a join. When +// it points to a physical table, a logical table acts as a mutable copy of +// that table through transform operations. +type LogicalTable struct { + _ struct{} `type:"structure"` + + // A display name for the logical table. + // + // Alias is a required field + Alias *string `min:"1" type:"string" required:"true"` + + // Transform operations that act on this logical table. + DataTransforms []*TransformOperation `min:"1" type:"list"` + + // Source of this logical table. + // + // Source is a required field + Source *LogicalTableSource `type:"structure" required:"true"` +} + +// String returns the string representation +func (s LogicalTable) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LogicalTable) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LogicalTable) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LogicalTable"} + if s.Alias == nil { + invalidParams.Add(request.NewErrParamRequired("Alias")) + } + if s.Alias != nil && len(*s.Alias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) + } + if s.DataTransforms != nil && len(s.DataTransforms) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataTransforms", 1)) + } + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.DataTransforms != nil { + for i, v := range s.DataTransforms { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataTransforms", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Source != nil { + if err := s.Source.Validate(); err != nil { + invalidParams.AddNested("Source", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlias sets the Alias field's value. +func (s *LogicalTable) SetAlias(v string) *LogicalTable { + s.Alias = &v + return s +} + +// SetDataTransforms sets the DataTransforms field's value. +func (s *LogicalTable) SetDataTransforms(v []*TransformOperation) *LogicalTable { + s.DataTransforms = v + return s +} + +// SetSource sets the Source field's value. +func (s *LogicalTable) SetSource(v *LogicalTableSource) *LogicalTable { + s.Source = v + return s +} + +// Information on the source of a logical table. This is a variant type structure. +// No more than one of the attributes should be non-null for this structure +// to be valid. +type LogicalTableSource struct { + _ struct{} `type:"structure"` + + // Specifies the result of a join of two logical tables. + JoinInstruction *JoinInstruction `type:"structure"` + + // Physical table ID. + PhysicalTableId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s LogicalTableSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LogicalTableSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LogicalTableSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LogicalTableSource"} + if s.PhysicalTableId != nil && len(*s.PhysicalTableId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PhysicalTableId", 1)) + } + if s.JoinInstruction != nil { + if err := s.JoinInstruction.Validate(); err != nil { + invalidParams.AddNested("JoinInstruction", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJoinInstruction sets the JoinInstruction field's value. +func (s *LogicalTableSource) SetJoinInstruction(v *JoinInstruction) *LogicalTableSource { + s.JoinInstruction = v + return s +} + +// SetPhysicalTableId sets the PhysicalTableId field's value. +func (s *LogicalTableSource) SetPhysicalTableId(v string) *LogicalTableSource { + s.PhysicalTableId = &v + return s +} + +// Amazon S3 manifest file location. +type ManifestFileLocation struct { + _ struct{} `type:"structure"` + + // Amazon S3 bucket. + // + // Bucket is a required field + Bucket *string `min:"1" type:"string" required:"true"` + + // Amazon S3 key that identifies an object. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ManifestFileLocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ManifestFileLocation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ManifestFileLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ManifestFileLocation"} + if s.Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("Bucket")) + } + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucket sets the Bucket field's value. +func (s *ManifestFileLocation) SetBucket(v string) *ManifestFileLocation { + s.Bucket = &v + return s +} + +// SetKey sets the Key field's value. +func (s *ManifestFileLocation) SetKey(v string) *ManifestFileLocation { + s.Key = &v + return s +} + +// MariaDB parameters. +type MariaDbParameters struct { + _ struct{} `type:"structure"` + + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` + + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` + + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s MariaDbParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MariaDbParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MariaDbParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MariaDbParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabase sets the Database field's value. +func (s *MariaDbParameters) SetDatabase(v string) *MariaDbParameters { + s.Database = &v + return s +} + +// SetHost sets the Host field's value. +func (s *MariaDbParameters) SetHost(v string) *MariaDbParameters { + s.Host = &v + return s +} + +// SetPort sets the Port field's value. +func (s *MariaDbParameters) SetPort(v int64) *MariaDbParameters { + s.Port = &v + return s +} + +// MySQL parameters. +type MySqlParameters struct { + _ struct{} `type:"structure"` + + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` + + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` + + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s MySqlParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MySqlParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MySqlParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MySqlParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabase sets the Database field's value. +func (s *MySqlParameters) SetDatabase(v string) *MySqlParameters { + s.Database = &v + return s +} + +// SetHost sets the Host field's value. +func (s *MySqlParameters) SetHost(v string) *MySqlParameters { + s.Host = &v + return s +} + +// SetPort sets the Port field's value. +func (s *MySqlParameters) SetPort(v int64) *MySqlParameters { + s.Port = &v + return s +} + +// Output column. +type OutputColumn struct { + _ struct{} `type:"structure"` + + // A display name for the dataset. + Name *string `min:"1" type:"string"` + + // Type. + Type *string `type:"string" enum:"ColumnDataType"` +} + +// String returns the string representation +func (s OutputColumn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputColumn) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *OutputColumn) SetName(v string) *OutputColumn { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *OutputColumn) SetType(v string) *OutputColumn { + s.Type = &v + return s +} + +// Parameters. +type Parameters struct { + _ struct{} `type:"structure"` + + // DateTime parameters. + DateTimeParameters []*DateTimeParameter `type:"list"` + + // Decimal parameters. + DecimalParameters []*DecimalParameter `type:"list"` + + // Integer parameters. + IntegerParameters []*IntegerParameter `type:"list"` + + // String parameters. + StringParameters []*StringParameter `type:"list"` +} + +// String returns the string representation +func (s Parameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Parameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Parameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Parameters"} + if s.DateTimeParameters != nil { + for i, v := range s.DateTimeParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DateTimeParameters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.DecimalParameters != nil { + for i, v := range s.DecimalParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DecimalParameters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.IntegerParameters != nil { + for i, v := range s.IntegerParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IntegerParameters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.StringParameters != nil { + for i, v := range s.StringParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StringParameters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDateTimeParameters sets the DateTimeParameters field's value. +func (s *Parameters) SetDateTimeParameters(v []*DateTimeParameter) *Parameters { + s.DateTimeParameters = v + return s +} + +// SetDecimalParameters sets the DecimalParameters field's value. +func (s *Parameters) SetDecimalParameters(v []*DecimalParameter) *Parameters { + s.DecimalParameters = v + return s +} + +// SetIntegerParameters sets the IntegerParameters field's value. +func (s *Parameters) SetIntegerParameters(v []*IntegerParameter) *Parameters { + s.IntegerParameters = v + return s +} + +// SetStringParameters sets the StringParameters field's value. +func (s *Parameters) SetStringParameters(v []*StringParameter) *Parameters { + s.StringParameters = v + return s +} + +// A view of a data source. Contains information on the shape of the data in +// the underlying source. This is a variant type structure. No more than one +// of the attributes can be non-null for this structure to be valid. +type PhysicalTable struct { + _ struct{} `type:"structure"` + + // A physical table type built from the results of the custom SQL query. + CustomSql *CustomSql `type:"structure"` + + // A physical table type for relational data sources. + RelationalTable *RelationalTable `type:"structure"` + + // A physical table type for as S3 data source. + S3Source *S3Source `type:"structure"` +} + +// String returns the string representation +func (s PhysicalTable) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PhysicalTable) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PhysicalTable) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PhysicalTable"} + if s.CustomSql != nil { + if err := s.CustomSql.Validate(); err != nil { + invalidParams.AddNested("CustomSql", err.(request.ErrInvalidParams)) + } + } + if s.RelationalTable != nil { + if err := s.RelationalTable.Validate(); err != nil { + invalidParams.AddNested("RelationalTable", err.(request.ErrInvalidParams)) + } + } + if s.S3Source != nil { + if err := s.S3Source.Validate(); err != nil { + invalidParams.AddNested("S3Source", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomSql sets the CustomSql field's value. +func (s *PhysicalTable) SetCustomSql(v *CustomSql) *PhysicalTable { + s.CustomSql = v + return s +} + +// SetRelationalTable sets the RelationalTable field's value. +func (s *PhysicalTable) SetRelationalTable(v *RelationalTable) *PhysicalTable { + s.RelationalTable = v + return s +} + +// SetS3Source sets the S3Source field's value. +func (s *PhysicalTable) SetS3Source(v *S3Source) *PhysicalTable { + s.S3Source = v + return s +} + +// PostgreSQL parameters. +type PostgreSqlParameters struct { + _ struct{} `type:"structure"` + + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` + + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` + + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s PostgreSqlParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PostgreSqlParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PostgreSqlParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PostgreSqlParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabase sets the Database field's value. +func (s *PostgreSqlParameters) SetDatabase(v string) *PostgreSqlParameters { + s.Database = &v + return s +} + +// SetHost sets the Host field's value. +func (s *PostgreSqlParameters) SetHost(v string) *PostgreSqlParameters { + s.Host = &v + return s +} + +// SetPort sets the Port field's value. +func (s *PostgreSqlParameters) SetPort(v int64) *PostgreSqlParameters { + s.Port = &v + return s +} + +// Presto parameters. +type PrestoParameters struct { + _ struct{} `type:"structure"` + + // Catalog. + // + // Catalog is a required field + Catalog *string `type:"string" required:"true"` + + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` + + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s PrestoParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PrestoParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PrestoParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PrestoParameters"} + if s.Catalog == nil { + invalidParams.Add(request.NewErrParamRequired("Catalog")) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalog sets the Catalog field's value. +func (s *PrestoParameters) SetCatalog(v string) *PrestoParameters { + s.Catalog = &v + return s +} + +// SetHost sets the Host field's value. +func (s *PrestoParameters) SetHost(v string) *PrestoParameters { + s.Host = &v + return s +} + +// SetPort sets the Port field's value. +func (s *PrestoParameters) SetPort(v int64) *PrestoParameters { + s.Port = &v + return s +} + +// A transform operation that projects columns. Operations that come after a +// projection can only refer to projected columns. +type ProjectOperation struct { + _ struct{} `type:"structure"` + + // Projected columns. + // + // ProjectedColumns is a required field + ProjectedColumns []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s ProjectOperation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectOperation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProjectOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectOperation"} + if s.ProjectedColumns == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectedColumns")) + } + if s.ProjectedColumns != nil && len(s.ProjectedColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectedColumns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProjectedColumns sets the ProjectedColumns field's value. +func (s *ProjectOperation) SetProjectedColumns(v []*string) *ProjectOperation { + s.ProjectedColumns = v + return s +} + +// Information on queued dataset SPICE ingestion. +type QueueInfo struct { + _ struct{} `type:"structure"` + + // The ID of the ongoing ingestion. The queued ingestion is waiting for the + // ongoing ingestion to complete. + // + // QueuedIngestion is a required field + QueuedIngestion *string `type:"string" required:"true"` + + // The ID of the queued ingestion. + // + // WaitingOnIngestion is a required field + WaitingOnIngestion *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s QueueInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueueInfo) GoString() string { + return s.String() +} + +// SetQueuedIngestion sets the QueuedIngestion field's value. +func (s *QueueInfo) SetQueuedIngestion(v string) *QueueInfo { + s.QueuedIngestion = &v + return s +} + +// SetWaitingOnIngestion sets the WaitingOnIngestion field's value. +func (s *QueueInfo) SetWaitingOnIngestion(v string) *QueueInfo { + s.WaitingOnIngestion = &v + return s +} + +// RDS parameters. +type RdsParameters struct { + _ struct{} `type:"structure"` + + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` + + // Instance ID. + // + // InstanceId is a required field + InstanceId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s RdsParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RdsParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RdsParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RdsParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabase sets the Database field's value. +func (s *RdsParameters) SetDatabase(v string) *RdsParameters { + s.Database = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *RdsParameters) SetInstanceId(v string) *RdsParameters { + s.InstanceId = &v + return s +} + +// Redshift parameters. The ClusterId field can be blank if Host and Port are +// both set, and the other way around. +type RedshiftParameters struct { + _ struct{} `type:"structure"` + + // Cluster ID. This can be blank if the Host and Port are provided. + ClusterId *string `min:"1" type:"string"` + + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` + + // Host. This can be blank if the ClusterId is provided. + Host *string `min:"1" type:"string"` + + // Port. This can be blank if the ClusterId is provided. + Port *int64 `type:"integer"` +} + +// String returns the string representation +func (s RedshiftParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RedshiftParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RedshiftParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RedshiftParameters"} + if s.ClusterId != nil && len(*s.ClusterId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterId", 1)) + } + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterId sets the ClusterId field's value. +func (s *RedshiftParameters) SetClusterId(v string) *RedshiftParameters { + s.ClusterId = &v + return s +} + +// SetDatabase sets the Database field's value. +func (s *RedshiftParameters) SetDatabase(v string) *RedshiftParameters { + s.Database = &v + return s +} + +// SetHost sets the Host field's value. +func (s *RedshiftParameters) SetHost(v string) *RedshiftParameters { + s.Host = &v + return s +} + +// SetPort sets the Port field's value. +func (s *RedshiftParameters) SetPort(v int64) *RedshiftParameters { + s.Port = &v + return s +} + +type RegisterUserInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the user is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The email address of the user that you want to register. + // + // Email is a required field + Email *string `type:"string" required:"true"` + + // The ARN of the IAM user or role that you are registering with Amazon QuickSight. + IamArn *string `type:"string"` + + // Amazon QuickSight supports several ways of managing the identity of users. + // This parameter accepts two values: + // + // * IAM: A user whose identity maps to an existing IAM user or role. + // + // * QUICKSIGHT: A user whose identity is owned and managed internally by + // Amazon QuickSight. + // + // IdentityType is a required field + IdentityType *string `type:"string" required:"true" enum:"IdentityType"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // You need to use this parameter only when you register one or more users using + // an assumed IAM role. You don't need to provide the session name for other + // 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) + // in the AWS CLI Reference. + SessionName *string `min:"2" type:"string"` + + // The Amazon QuickSight user name that you want to create for the user you + // are registering. + UserName *string `min:"1" type:"string"` + + // The Amazon QuickSight role for the user. The user role can be one of the + // following: + // + // * READER: A user who has read-only access to dashboards. + // + // * AUTHOR: A user who can create data sources, datasets, analyses, and + // dashboards. + // + // * ADMIN: A user who is an author, who can also manage Amazon QuickSight + // settings. + // + // * RESTRICTED_READER: This role isn't currently available for use. + // + // * RESTRICTED_AUTHOR: This role isn't currently available for use. + // + // UserRole is a required field + UserRole *string `type:"string" required:"true" enum:"UserRole"` +} + +// String returns the string representation +func (s RegisterUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegisterUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegisterUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegisterUserInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Email == nil { + invalidParams.Add(request.NewErrParamRequired("Email")) + } + if s.IdentityType == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityType")) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + if s.SessionName != nil && len(*s.SessionName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("SessionName", 2)) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + if s.UserRole == nil { + invalidParams.Add(request.NewErrParamRequired("UserRole")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *RegisterUserInput) SetAwsAccountId(v string) *RegisterUserInput { + s.AwsAccountId = &v + return s +} + +// SetEmail sets the Email field's value. +func (s *RegisterUserInput) SetEmail(v string) *RegisterUserInput { + s.Email = &v + return s +} + +// SetIamArn sets the IamArn field's value. +func (s *RegisterUserInput) SetIamArn(v string) *RegisterUserInput { + s.IamArn = &v + return s +} + +// SetIdentityType sets the IdentityType field's value. +func (s *RegisterUserInput) SetIdentityType(v string) *RegisterUserInput { + s.IdentityType = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *RegisterUserInput) SetNamespace(v string) *RegisterUserInput { + s.Namespace = &v + return s +} + +// SetSessionName sets the SessionName field's value. +func (s *RegisterUserInput) SetSessionName(v string) *RegisterUserInput { + s.SessionName = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *RegisterUserInput) SetUserName(v string) *RegisterUserInput { + s.UserName = &v + return s +} + +// SetUserRole sets the UserRole field's value. +func (s *RegisterUserInput) SetUserRole(v string) *RegisterUserInput { + s.UserRole = &v + return s +} + +type RegisterUserOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // The user name. + User *User `type:"structure"` + + // The URL the user visits to complete registration and provide a password. + // This is returned only for users with an identity type of QUICKSIGHT. + UserInvitationUrl *string `type:"string"` +} + +// String returns the string representation +func (s RegisterUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegisterUserOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *RegisterUserOutput) SetRequestId(v string) *RegisterUserOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RegisterUserOutput) SetStatus(v int64) *RegisterUserOutput { + s.Status = &v + return s +} + +// SetUser sets the User field's value. +func (s *RegisterUserOutput) SetUser(v *User) *RegisterUserOutput { + s.User = v + return s +} + +// SetUserInvitationUrl sets the UserInvitationUrl field's value. +func (s *RegisterUserOutput) SetUserInvitationUrl(v string) *RegisterUserOutput { + s.UserInvitationUrl = &v + return s +} + +// A physical table type for relational data sources. +type RelationalTable struct { + _ struct{} `type:"structure"` + + // Data source ARN. + // + // DataSourceArn is a required field + DataSourceArn *string `type:"string" required:"true"` + + // The column schema of the table. + // + // InputColumns is a required field + InputColumns []*InputColumn `min:"1" type:"list" required:"true"` + + // Name of the relational table. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The schema name. Applies to certain relational database engines. + Schema *string `type:"string"` +} + +// String returns the string representation +func (s RelationalTable) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RelationalTable) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RelationalTable) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RelationalTable"} + if s.DataSourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceArn")) + } + if s.InputColumns == nil { + invalidParams.Add(request.NewErrParamRequired("InputColumns")) + } + if s.InputColumns != nil && len(s.InputColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputColumns", 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.InputColumns != nil { + for i, v := range s.InputColumns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputColumns", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *RelationalTable) SetDataSourceArn(v string) *RelationalTable { + s.DataSourceArn = &v + return s +} + +// SetInputColumns sets the InputColumns field's value. +func (s *RelationalTable) SetInputColumns(v []*InputColumn) *RelationalTable { + s.InputColumns = v + return s +} + +// SetName sets the Name field's value. +func (s *RelationalTable) SetName(v string) *RelationalTable { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *RelationalTable) SetSchema(v string) *RelationalTable { + s.Schema = &v + return s +} + +// A transform operation that renames a column. +type RenameColumnOperation struct { + _ struct{} `type:"structure"` + + // Name of the column to be renamed. + // + // ColumnName is a required field + ColumnName *string `min:"1" type:"string" required:"true"` + + // New name for the column. + // + // NewColumnName is a required field + NewColumnName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s RenameColumnOperation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RenameColumnOperation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RenameColumnOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RenameColumnOperation"} + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) + } + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + } + if s.NewColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("NewColumnName")) + } + if s.NewColumnName != nil && len(*s.NewColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NewColumnName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumnName sets the ColumnName field's value. +func (s *RenameColumnOperation) SetColumnName(v string) *RenameColumnOperation { + s.ColumnName = &v + return s +} + +// SetNewColumnName sets the NewColumnName field's value. +func (s *RenameColumnOperation) SetNewColumnName(v string) *RenameColumnOperation { + s.NewColumnName = &v + return s +} + +// Permission for the resource. +type ResourcePermission struct { + _ struct{} `type:"structure"` + + // The action to grant or revoke permissions on. For example, "quicksight:DescribeDashboard". + // + // Actions is a required field + Actions []*string `min:"1" type:"list" required:"true"` + + // The ARN of a QuickSight user or group, or an IAM ARN. If you are using cross-account + // resource sharing, this is the IAM ARN of an account root. Otherwise, it is + // the ARN of a QuickSight user or group. . + // + // Principal is a required field + Principal *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResourcePermission) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourcePermission) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourcePermission) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourcePermission"} + if s.Actions == nil { + invalidParams.Add(request.NewErrParamRequired("Actions")) + } + if s.Actions != nil && len(s.Actions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Actions", 1)) + } + if s.Principal == nil { + invalidParams.Add(request.NewErrParamRequired("Principal")) + } + if s.Principal != nil && len(*s.Principal) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Principal", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActions sets the Actions field's value. +func (s *ResourcePermission) SetActions(v []*string) *ResourcePermission { + s.Actions = v + return s +} + +// SetPrincipal sets the Principal field's value. +func (s *ResourcePermission) SetPrincipal(v string) *ResourcePermission { + s.Principal = &v + return s +} + +// Information on rows during a data set SPICE ingestion. +type RowInfo struct { + _ struct{} `type:"structure"` + + // The number of rows that were not ingested. + RowsDropped *int64 `type:"long"` + + // The number of rows that were ingested. + RowsIngested *int64 `type:"long"` +} + +// String returns the string representation +func (s RowInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RowInfo) GoString() string { + return s.String() +} + +// SetRowsDropped sets the RowsDropped field's value. +func (s *RowInfo) SetRowsDropped(v int64) *RowInfo { + s.RowsDropped = &v + return s +} + +// SetRowsIngested sets the RowsIngested field's value. +func (s *RowInfo) SetRowsIngested(v int64) *RowInfo { + s.RowsIngested = &v + return s +} + +// Row-level security configuration on the dataset. +type RowLevelPermissionDataSet struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) of the permission dataset. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // Permission policy. + // + // PermissionPolicy is a required field + PermissionPolicy *string `type:"string" required:"true" enum:"RowLevelPermissionPolicy"` +} + +// String returns the string representation +func (s RowLevelPermissionDataSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RowLevelPermissionDataSet) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RowLevelPermissionDataSet) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RowLevelPermissionDataSet"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.PermissionPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionPolicy")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *RowLevelPermissionDataSet) SetArn(v string) *RowLevelPermissionDataSet { + s.Arn = &v + return s +} + +// SetPermissionPolicy sets the PermissionPolicy field's value. +func (s *RowLevelPermissionDataSet) SetPermissionPolicy(v string) *RowLevelPermissionDataSet { + s.PermissionPolicy = &v + return s +} + +// S3 parameters. +type S3Parameters struct { + _ struct{} `type:"structure"` + + // Location of the Amazon S3 manifest file. This is NULL if the manifest file + // was uploaded in the console. + // + // ManifestFileLocation is a required field + ManifestFileLocation *ManifestFileLocation `type:"structure" required:"true"` +} + +// String returns the string representation +func (s S3Parameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3Parameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3Parameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Parameters"} + if s.ManifestFileLocation == nil { + invalidParams.Add(request.NewErrParamRequired("ManifestFileLocation")) + } + if s.ManifestFileLocation != nil { + if err := s.ManifestFileLocation.Validate(); err != nil { + invalidParams.AddNested("ManifestFileLocation", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetManifestFileLocation sets the ManifestFileLocation field's value. +func (s *S3Parameters) SetManifestFileLocation(v *ManifestFileLocation) *S3Parameters { + s.ManifestFileLocation = v + return s +} + +// A physical table type for as S3 data source. +type S3Source struct { + _ struct{} `type:"structure"` + + // Data source ARN. + // + // DataSourceArn is a required field + DataSourceArn *string `type:"string" required:"true"` + + // A physical table type for as S3 data source. + // + // InputColumns is a required field + InputColumns []*InputColumn `min:"1" type:"list" required:"true"` + + // Information on the S3 source file(s) format. + UploadSettings *UploadSettings `type:"structure"` +} + +// String returns the string representation +func (s S3Source) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3Source) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3Source) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Source"} + if s.DataSourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceArn")) + } + if s.InputColumns == nil { + invalidParams.Add(request.NewErrParamRequired("InputColumns")) + } + if s.InputColumns != nil && len(s.InputColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputColumns", 1)) + } + if s.InputColumns != nil { + for i, v := range s.InputColumns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputColumns", i), err.(request.ErrInvalidParams)) + } + } + } + if s.UploadSettings != nil { + if err := s.UploadSettings.Validate(); err != nil { + invalidParams.AddNested("UploadSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *S3Source) SetDataSourceArn(v string) *S3Source { + s.DataSourceArn = &v + return s +} + +// SetInputColumns sets the InputColumns field's value. +func (s *S3Source) SetInputColumns(v []*InputColumn) *S3Source { + s.InputColumns = v + return s +} + +// SetUploadSettings sets the UploadSettings field's value. +func (s *S3Source) SetUploadSettings(v *UploadSettings) *S3Source { + s.UploadSettings = v + return s +} + +// ServiceNow parameters. +type ServiceNowParameters struct { + _ struct{} `type:"structure"` + + // URL of the base site. + // + // SiteBaseUrl is a required field + SiteBaseUrl *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ServiceNowParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceNowParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ServiceNowParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ServiceNowParameters"} + if s.SiteBaseUrl == nil { + invalidParams.Add(request.NewErrParamRequired("SiteBaseUrl")) + } + if s.SiteBaseUrl != nil && len(*s.SiteBaseUrl) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SiteBaseUrl", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSiteBaseUrl sets the SiteBaseUrl field's value. +func (s *ServiceNowParameters) SetSiteBaseUrl(v string) *ServiceNowParameters { + s.SiteBaseUrl = &v + return s +} + +// Sheet controls option. +type SheetControlsOption struct { + _ struct{} `type:"structure"` + + // Visibility state. + VisibilityState *string `type:"string" enum:"DashboardUIState"` +} + +// String returns the string representation +func (s SheetControlsOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SheetControlsOption) GoString() string { + return s.String() +} + +// SetVisibilityState sets the VisibilityState field's value. +func (s *SheetControlsOption) SetVisibilityState(v string) *SheetControlsOption { + s.VisibilityState = &v + return s +} + +// Snowflake parameters. +type SnowflakeParameters struct { + _ struct{} `type:"structure"` + + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` + + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` + + // Warehouse. + // + // Warehouse is a required field + Warehouse *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SnowflakeParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SnowflakeParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SnowflakeParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SnowflakeParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Warehouse == nil { + invalidParams.Add(request.NewErrParamRequired("Warehouse")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabase sets the Database field's value. +func (s *SnowflakeParameters) SetDatabase(v string) *SnowflakeParameters { + s.Database = &v + return s +} + +// SetHost sets the Host field's value. +func (s *SnowflakeParameters) SetHost(v string) *SnowflakeParameters { + s.Host = &v + return s +} + +// SetWarehouse sets the Warehouse field's value. +func (s *SnowflakeParameters) SetWarehouse(v string) *SnowflakeParameters { + s.Warehouse = &v + return s +} + +// Spark parameters. +type SparkParameters struct { + _ struct{} `type:"structure"` + + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` + + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s SparkParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SparkParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SparkParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SparkParameters"} + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHost sets the Host field's value. +func (s *SparkParameters) SetHost(v string) *SparkParameters { + s.Host = &v + return s +} + +// SetPort sets the Port field's value. +func (s *SparkParameters) SetPort(v int64) *SparkParameters { + s.Port = &v + return s +} + +// SQL Server parameters. +type SqlServerParameters struct { + _ struct{} `type:"structure"` + + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` + + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` + + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s SqlServerParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SqlServerParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SqlServerParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SqlServerParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabase sets the Database field's value. +func (s *SqlServerParameters) SetDatabase(v string) *SqlServerParameters { + s.Database = &v + return s +} + +// SetHost sets the Host field's value. +func (s *SqlServerParameters) SetHost(v string) *SqlServerParameters { + s.Host = &v + return s +} + +// SetPort sets the Port field's value. +func (s *SqlServerParameters) SetPort(v int64) *SqlServerParameters { + s.Port = &v + return s +} + +// SSL properties that apply when QuickSight connects to your underlying data +// source. +type SslProperties struct { + _ struct{} `type:"structure"` + + // A boolean flag to control whether SSL should be disabled. + DisableSsl *bool `type:"boolean"` +} + +// String returns the string representation +func (s SslProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SslProperties) GoString() string { + return s.String() +} + +// SetDisableSsl sets the DisableSsl field's value. +func (s *SslProperties) SetDisableSsl(v bool) *SslProperties { + s.DisableSsl = &v + return s +} + +// String parameter. +type StringParameter struct { + _ struct{} `type:"structure"` + + // A display name for the dataset. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // Values. + // + // Values is a required field + Values []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s StringParameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StringParameter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StringParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StringParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *StringParameter) SetName(v string) *StringParameter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *StringParameter) SetValues(v []*string) *StringParameter { + s.Values = v + return s +} + +// The keys of the key-value pairs for the resource tag or tags assigned to +// the resource. +type Tag struct { + _ struct{} `type:"structure"` + + // Tag key. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // Tag value. + // + // Value is a required field + Value *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +// A transform operation that tags a column with additional information. +type TagColumnOperation struct { + _ struct{} `type:"structure"` + + // The column that this operation acts on. + // + // ColumnName is a required field + ColumnName *string `min:"1" type:"string" required:"true"` + + // The dataset column tag, currently only used for geospatial type tagging. . + // + // This is not tags for the AWS tagging feature. . + // + // Tags is a required field + Tags []*ColumnTag `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s TagColumnOperation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagColumnOperation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagColumnOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagColumnOperation"} + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) + } + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + } + 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 +} + +// SetColumnName sets the ColumnName field's value. +func (s *TagColumnOperation) SetColumnName(v string) *TagColumnOperation { + s.ColumnName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagColumnOperation) SetTags(v []*ColumnTag) *TagColumnOperation { + s.Tags = v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource you want to tag. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` + + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the resource. + // + // Tags is a required field + Tags []*Tag `min:"1" type:"list" 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) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + 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 +} + +// 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 []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// 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() +} + +// SetRequestId sets the RequestId field's value. +func (s *TagResourceOutput) SetRequestId(v string) *TagResourceOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *TagResourceOutput) SetStatus(v int64) *TagResourceOutput { + s.Status = &v + return s +} + +// A template object. A template is an entity in QuickSight which encapsulates +// the metadata required to create an analysis that can be used to create dashboard. +// It adds a layer of abstraction by replacing the dataset associated with the +// analysis with placeholders. Templates can be used to create dashboards by +// replacing dataset placeholders with datasets which follow the same schema +// that was used to create the source analysis and template. +// +// You can share templates across AWS accounts by allowing users in other AWS +// accounts to create a template or a dashboard from an existing template. +type Template struct { + _ struct{} `type:"structure"` + + // The ARN of the template. + Arn *string `type:"string"` + + // Time when this was created. + CreatedTime *time.Time `type:"timestamp"` + + // Time when this was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // The display name of the template. + Name *string `min:"1" type:"string"` + + // The ID for the template. This is unique per region per AWS account. + TemplateId *string `min:"1" type:"string"` + + // A structure describing the versions of the template. + Version *TemplateVersion `type:"structure"` +} + +// String returns the string representation +func (s Template) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Template) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Template) SetArn(v string) *Template { + s.Arn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *Template) SetCreatedTime(v time.Time) *Template { + s.CreatedTime = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Template) SetLastUpdatedTime(v time.Time) *Template { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Template) SetName(v string) *Template { + s.Name = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *Template) SetTemplateId(v string) *Template { + s.TemplateId = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *Template) SetVersion(v *TemplateVersion) *Template { + s.Version = v + return s +} + +// The template alias. +type TemplateAlias struct { + _ struct{} `type:"structure"` + + // The display name of the template alias. + AliasName *string `min:"1" type:"string"` + + // The ARN of the template alias. + Arn *string `type:"string"` + + // The version number of the template alias. + TemplateVersionNumber *int64 `min:"1" type:"long"` +} + +// String returns the string representation +func (s TemplateAlias) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TemplateAlias) GoString() string { + return s.String() +} + +// SetAliasName sets the AliasName field's value. +func (s *TemplateAlias) SetAliasName(v string) *TemplateAlias { + s.AliasName = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *TemplateAlias) SetArn(v string) *TemplateAlias { + s.Arn = &v + return s +} + +// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. +func (s *TemplateAlias) SetTemplateVersionNumber(v int64) *TemplateAlias { + s.TemplateVersionNumber = &v + return s +} + +// List of errors that occurred when the template version creation failed. +type TemplateError struct { + _ struct{} `type:"structure"` + + // Description of the error type. + Message *string `type:"string"` + + // Type of error. + Type *string `type:"string" enum:"TemplateErrorType"` +} + +// String returns the string representation +func (s TemplateError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TemplateError) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *TemplateError) SetMessage(v string) *TemplateError { + s.Message = &v + return s +} + +// SetType sets the Type field's value. +func (s *TemplateError) SetType(v string) *TemplateError { + s.Type = &v + return s +} + +// The source analysis of the template. +type TemplateSourceAnalysis struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) of the resource. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // A structure containing information about the dataset references used as placeholders + // in the template. + // + // DataSetReferences is a required field + DataSetReferences []*DataSetReference `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s TemplateSourceAnalysis) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TemplateSourceAnalysis) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TemplateSourceAnalysis) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TemplateSourceAnalysis"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.DataSetReferences == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetReferences")) + } + if s.DataSetReferences != nil && len(s.DataSetReferences) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetReferences", 1)) + } + if s.DataSetReferences != nil { + for i, v := range s.DataSetReferences { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSetReferences", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *TemplateSourceAnalysis) SetArn(v string) *TemplateSourceAnalysis { + s.Arn = &v + return s +} + +// SetDataSetReferences sets the DataSetReferences field's value. +func (s *TemplateSourceAnalysis) SetDataSetReferences(v []*DataSetReference) *TemplateSourceAnalysis { + s.DataSetReferences = v + return s +} + +// The source entity of the template. +type TemplateSourceEntity struct { + _ struct{} `type:"structure"` + + // The source analysis, if it is based on an analysis. + SourceAnalysis *TemplateSourceAnalysis `type:"structure"` + + // The source template, if it is based on an template. + SourceTemplate *TemplateSourceTemplate `type:"structure"` +} + +// String returns the string representation +func (s TemplateSourceEntity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TemplateSourceEntity) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TemplateSourceEntity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TemplateSourceEntity"} + if s.SourceAnalysis != nil { + if err := s.SourceAnalysis.Validate(); err != nil { + invalidParams.AddNested("SourceAnalysis", err.(request.ErrInvalidParams)) + } + } + if s.SourceTemplate != nil { + if err := s.SourceTemplate.Validate(); err != nil { + invalidParams.AddNested("SourceTemplate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceAnalysis sets the SourceAnalysis field's value. +func (s *TemplateSourceEntity) SetSourceAnalysis(v *TemplateSourceAnalysis) *TemplateSourceEntity { + s.SourceAnalysis = v + return s +} + +// SetSourceTemplate sets the SourceTemplate field's value. +func (s *TemplateSourceEntity) SetSourceTemplate(v *TemplateSourceTemplate) *TemplateSourceEntity { + s.SourceTemplate = v + return s +} + +// The source template of the template. +type TemplateSourceTemplate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource name (ARN) of the resource. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s TemplateSourceTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TemplateSourceTemplate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TemplateSourceTemplate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TemplateSourceTemplate"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *TemplateSourceTemplate) SetArn(v string) *TemplateSourceTemplate { + s.Arn = &v + return s +} + +// The template summary. +type TemplateSummary struct { + _ struct{} `type:"structure"` + + // A summary of a template. + Arn *string `type:"string"` + + // The last time this was created. + CreatedTime *time.Time `type:"timestamp"` + + // The last time this was updated. + LastUpdatedTime *time.Time `type:"timestamp"` - // The namespace. Currently, you should set this to default. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // A structure containing a list of version numbers for the template summary. + LatestVersionNumber *int64 `min:"1" type:"long"` + + // A display name for the template. + Name *string `min:"1" type:"string"` + + // The ID of the template. This is unique per region per AWS account. + TemplateId *string `min:"1" type:"string"` } // String returns the string representation -func (s CreateGroupInput) String() string { +func (s TemplateSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateGroupInput) GoString() string { +func (s TemplateSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) - } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) - } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) - } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) - } +// SetArn sets the Arn field's value. +func (s *TemplateSummary) SetArn(v string) *TemplateSummary { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreatedTime sets the CreatedTime field's value. +func (s *TemplateSummary) SetCreatedTime(v time.Time) *TemplateSummary { + s.CreatedTime = &v + return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateGroupInput) SetAwsAccountId(v string) *CreateGroupInput { - s.AwsAccountId = &v +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *TemplateSummary) SetLastUpdatedTime(v time.Time) *TemplateSummary { + s.LastUpdatedTime = &v return s } -// SetDescription sets the Description field's value. -func (s *CreateGroupInput) SetDescription(v string) *CreateGroupInput { - s.Description = &v +// SetLatestVersionNumber sets the LatestVersionNumber field's value. +func (s *TemplateSummary) SetLatestVersionNumber(v int64) *TemplateSummary { + s.LatestVersionNumber = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *CreateGroupInput) SetGroupName(v string) *CreateGroupInput { - s.GroupName = &v +// SetName sets the Name field's value. +func (s *TemplateSummary) SetName(v string) *TemplateSummary { + s.Name = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *CreateGroupInput) SetNamespace(v string) *CreateGroupInput { - s.Namespace = &v +// SetTemplateId sets the TemplateId field's value. +func (s *TemplateSummary) SetTemplateId(v string) *TemplateSummary { + s.TemplateId = &v return s } -type CreateGroupMembershipInput struct { +// A version of a template. +type TemplateVersion struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // The time this was created. + CreatedTime *time.Time `type:"timestamp"` - // The name of the group that you want to add the user to. - // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Schema of the dataset identified by the placeholder. The idea is that any + // dashboard created from the template should be bound to new datasets matching + // the same schema described through this API. . + DataSetConfigurations []*DataSetConfiguration `type:"list"` - // The name of the user that you want to add to the group membership. - // - // MemberName is a required field - MemberName *string `location:"uri" locationName:"MemberName" min:"1" type:"string" required:"true"` + // The description of the template. + Description *string `min:"1" type:"string"` - // The namespace. Currently, you should set this to default. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // Errors associated with the template. + Errors []*TemplateError `min:"1" type:"list"` + + // The ARN of the analysis or template which was used to create this template. + SourceEntityArn *string `type:"string"` + + // The http status of the request. + Status *string `type:"string" enum:"ResourceStatus"` + + // The version number of the template. + VersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s CreateGroupMembershipInput) String() string { +func (s TemplateVersion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateGroupMembershipInput) GoString() string { +func (s TemplateVersion) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateGroupMembershipInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateGroupMembershipInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) - } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) - } - if s.MemberName == nil { - invalidParams.Add(request.NewErrParamRequired("MemberName")) - } - if s.MemberName != nil && len(*s.MemberName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MemberName", 1)) - } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) - } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) - } +// SetCreatedTime sets the CreatedTime field's value. +func (s *TemplateVersion) SetCreatedTime(v time.Time) *TemplateVersion { + s.CreatedTime = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetDataSetConfigurations sets the DataSetConfigurations field's value. +func (s *TemplateVersion) SetDataSetConfigurations(v []*DataSetConfiguration) *TemplateVersion { + s.DataSetConfigurations = v + return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateGroupMembershipInput) SetAwsAccountId(v string) *CreateGroupMembershipInput { - s.AwsAccountId = &v +// SetDescription sets the Description field's value. +func (s *TemplateVersion) SetDescription(v string) *TemplateVersion { + s.Description = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *CreateGroupMembershipInput) SetGroupName(v string) *CreateGroupMembershipInput { - s.GroupName = &v +// SetErrors sets the Errors field's value. +func (s *TemplateVersion) SetErrors(v []*TemplateError) *TemplateVersion { + s.Errors = v return s } -// SetMemberName sets the MemberName field's value. -func (s *CreateGroupMembershipInput) SetMemberName(v string) *CreateGroupMembershipInput { - s.MemberName = &v +// SetSourceEntityArn sets the SourceEntityArn field's value. +func (s *TemplateVersion) SetSourceEntityArn(v string) *TemplateVersion { + s.SourceEntityArn = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *CreateGroupMembershipInput) SetNamespace(v string) *CreateGroupMembershipInput { - s.Namespace = &v +// SetStatus sets the Status field's value. +func (s *TemplateVersion) SetStatus(v string) *TemplateVersion { + s.Status = &v return s } -type CreateGroupMembershipOutput struct { +// SetVersionNumber sets the VersionNumber field's value. +func (s *TemplateVersion) SetVersionNumber(v int64) *TemplateVersion { + s.VersionNumber = &v + return s +} + +// The template version. +type TemplateVersionSummary struct { _ struct{} `type:"structure"` - // The group member. - GroupMember *GroupMember `type:"structure"` + // The ARN of the template version. + Arn *string `type:"string"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // The time this was created. + CreatedTime *time.Time `type:"timestamp"` - // The http status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // The desription of the template version. + Description *string `min:"1" type:"string"` + + // The status of the template version. + Status *string `type:"string" enum:"ResourceStatus"` + + // The version number of the template version. + VersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s CreateGroupMembershipOutput) String() string { +func (s TemplateVersionSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateGroupMembershipOutput) GoString() string { +func (s TemplateVersionSummary) GoString() string { return s.String() } -// SetGroupMember sets the GroupMember field's value. -func (s *CreateGroupMembershipOutput) SetGroupMember(v *GroupMember) *CreateGroupMembershipOutput { - s.GroupMember = v +// SetArn sets the Arn field's value. +func (s *TemplateVersionSummary) SetArn(v string) *TemplateVersionSummary { + s.Arn = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *CreateGroupMembershipOutput) SetRequestId(v string) *CreateGroupMembershipOutput { - s.RequestId = &v +// SetCreatedTime sets the CreatedTime field's value. +func (s *TemplateVersionSummary) SetCreatedTime(v time.Time) *TemplateVersionSummary { + s.CreatedTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *TemplateVersionSummary) SetDescription(v string) *TemplateVersionSummary { + s.Description = &v return s } // SetStatus sets the Status field's value. -func (s *CreateGroupMembershipOutput) SetStatus(v int64) *CreateGroupMembershipOutput { +func (s *TemplateVersionSummary) SetStatus(v string) *TemplateVersionSummary { s.Status = &v return s } -// The response object for this operation. -type CreateGroupOutput struct { +// SetVersionNumber sets the VersionNumber field's value. +func (s *TemplateVersionSummary) SetVersionNumber(v int64) *TemplateVersionSummary { + s.VersionNumber = &v + return s +} + +// Teradata parameters. +type TeradataParameters struct { _ struct{} `type:"structure"` - // The name of the group. - Group *Group `type:"structure"` + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` - // The http status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s CreateGroupOutput) String() string { +func (s TeradataParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateGroupOutput) GoString() string { +func (s TeradataParameters) GoString() string { return s.String() } -// SetGroup sets the Group field's value. -func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput { - s.Group = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *TeradataParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TeradataParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabase sets the Database field's value. +func (s *TeradataParameters) SetDatabase(v string) *TeradataParameters { + s.Database = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *CreateGroupOutput) SetRequestId(v string) *CreateGroupOutput { - s.RequestId = &v +// SetHost sets the Host field's value. +func (s *TeradataParameters) SetHost(v string) *TeradataParameters { + s.Host = &v return s } -// SetStatus sets the Status field's value. -func (s *CreateGroupOutput) SetStatus(v int64) *CreateGroupOutput { - s.Status = &v +// SetPort sets the Port field's value. +func (s *TeradataParameters) SetPort(v int64) *TeradataParameters { + s.Port = &v return s } -type DeleteGroupInput struct { +// A data transformation on a logical table. This is a variant type structure. +// No more than one of the attributes should be non-null for this structure +// to be valid. +type TransformOperation struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // A transform operation that casts a column to a different type. + CastColumnTypeOperation *CastColumnTypeOperation `type:"structure"` - // The name of the group that you want to delete. - // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // An operation that creates calculated columns. Columns created in one such + // operation form a lexical closure. + CreateColumnsOperation *CreateColumnsOperation `type:"structure"` - // The namespace. Currently, you should set this to default. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // An operation that filters rows based on some condition. + FilterOperation *FilterOperation `type:"structure"` + + // An operation that projects columns. Operations that come after a projection + // can only refer to projected columns. + ProjectOperation *ProjectOperation `type:"structure"` + + // An operation that renames a column. + RenameColumnOperation *RenameColumnOperation `type:"structure"` + + // An operation that tags a column with additional information. + TagColumnOperation *TagColumnOperation `type:"structure"` } // String returns the string representation -func (s DeleteGroupInput) String() string { +func (s TransformOperation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteGroupInput) GoString() string { +func (s TransformOperation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) +func (s *TransformOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TransformOperation"} + if s.CastColumnTypeOperation != nil { + if err := s.CastColumnTypeOperation.Validate(); err != nil { + invalidParams.AddNested("CastColumnTypeOperation", err.(request.ErrInvalidParams)) + } } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + if s.CreateColumnsOperation != nil { + if err := s.CreateColumnsOperation.Validate(); err != nil { + invalidParams.AddNested("CreateColumnsOperation", err.(request.ErrInvalidParams)) + } } - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.FilterOperation != nil { + if err := s.FilterOperation.Validate(); err != nil { + invalidParams.AddNested("FilterOperation", err.(request.ErrInvalidParams)) + } } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + if s.ProjectOperation != nil { + if err := s.ProjectOperation.Validate(); err != nil { + invalidParams.AddNested("ProjectOperation", err.(request.ErrInvalidParams)) + } } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.RenameColumnOperation != nil { + if err := s.RenameColumnOperation.Validate(); err != nil { + invalidParams.AddNested("RenameColumnOperation", err.(request.ErrInvalidParams)) + } } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.TagColumnOperation != nil { + if err := s.TagColumnOperation.Validate(); err != nil { + invalidParams.AddNested("TagColumnOperation", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -2132,85 +19927,81 @@ func (s *DeleteGroupInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteGroupInput) SetAwsAccountId(v string) *DeleteGroupInput { - s.AwsAccountId = &v +// SetCastColumnTypeOperation sets the CastColumnTypeOperation field's value. +func (s *TransformOperation) SetCastColumnTypeOperation(v *CastColumnTypeOperation) *TransformOperation { + s.CastColumnTypeOperation = v return s } -// SetGroupName sets the GroupName field's value. -func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput { - s.GroupName = &v +// SetCreateColumnsOperation sets the CreateColumnsOperation field's value. +func (s *TransformOperation) SetCreateColumnsOperation(v *CreateColumnsOperation) *TransformOperation { + s.CreateColumnsOperation = v return s } -// SetNamespace sets the Namespace field's value. -func (s *DeleteGroupInput) SetNamespace(v string) *DeleteGroupInput { - s.Namespace = &v +// SetFilterOperation sets the FilterOperation field's value. +func (s *TransformOperation) SetFilterOperation(v *FilterOperation) *TransformOperation { + s.FilterOperation = v return s } -type DeleteGroupMembershipInput struct { - _ struct{} `type:"structure"` +// SetProjectOperation sets the ProjectOperation field's value. +func (s *TransformOperation) SetProjectOperation(v *ProjectOperation) *TransformOperation { + s.ProjectOperation = v + return s +} - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` +// SetRenameColumnOperation sets the RenameColumnOperation field's value. +func (s *TransformOperation) SetRenameColumnOperation(v *RenameColumnOperation) *TransformOperation { + s.RenameColumnOperation = v + return s +} - // The name of the group that you want to delete the user from. - // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` +// SetTagColumnOperation sets the TagColumnOperation field's value. +func (s *TransformOperation) SetTagColumnOperation(v *TagColumnOperation) *TransformOperation { + s.TagColumnOperation = v + return s +} - // The name of the user that you want to delete from the group membership. +// Twitter parameters. +type TwitterParameters struct { + _ struct{} `type:"structure"` + + // Maximum number of rows to query Twitter. // - // MemberName is a required field - MemberName *string `location:"uri" locationName:"MemberName" min:"1" type:"string" required:"true"` + // MaxRows is a required field + MaxRows *int64 `min:"1" type:"integer" required:"true"` - // The namespace. Currently, you should set this to default. + // Twitter query string. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // Query is a required field + Query *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteGroupMembershipInput) String() string { +func (s TwitterParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteGroupMembershipInput) GoString() string { +func (s TwitterParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteGroupMembershipInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteGroupMembershipInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) - } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) - } - if s.MemberName == nil { - invalidParams.Add(request.NewErrParamRequired("MemberName")) +func (s *TwitterParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TwitterParameters"} + if s.MaxRows == nil { + invalidParams.Add(request.NewErrParamRequired("MaxRows")) } - if s.MemberName != nil && len(*s.MemberName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MemberName", 1)) + if s.MaxRows != nil && *s.MaxRows < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxRows", 1)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.Query == nil { + invalidParams.Add(request.NewErrParamRequired("Query")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.Query != nil && len(*s.Query) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Query", 1)) } if invalidParams.Len() > 0 { @@ -2219,63 +20010,78 @@ func (s *DeleteGroupMembershipInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteGroupMembershipInput) SetAwsAccountId(v string) *DeleteGroupMembershipInput { - s.AwsAccountId = &v - return s -} - -// SetGroupName sets the GroupName field's value. -func (s *DeleteGroupMembershipInput) SetGroupName(v string) *DeleteGroupMembershipInput { - s.GroupName = &v - return s -} - -// SetMemberName sets the MemberName field's value. -func (s *DeleteGroupMembershipInput) SetMemberName(v string) *DeleteGroupMembershipInput { - s.MemberName = &v +// SetMaxRows sets the MaxRows field's value. +func (s *TwitterParameters) SetMaxRows(v int64) *TwitterParameters { + s.MaxRows = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DeleteGroupMembershipInput) SetNamespace(v string) *DeleteGroupMembershipInput { - s.Namespace = &v +// SetQuery sets the Query field's value. +func (s *TwitterParameters) SetQuery(v string) *TwitterParameters { + s.Query = &v return s } -type DeleteGroupMembershipOutput struct { +type UntagResourceInput struct { _ struct{} `type:"structure"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // The ARN of the resource you to untag. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` - // The http status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // The keys of the key-value pairs for the resource tag or tags assigned to + // the resource. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"keys" min:"1" type:"list" required:"true"` } // String returns the string representation -func (s DeleteGroupMembershipOutput) String() string { +func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteGroupMembershipOutput) GoString() string { +func (s UntagResourceInput) GoString() string { return s.String() } -// SetRequestId sets the RequestId field's value. -func (s *DeleteGroupMembershipOutput) SetRequestId(v string) *DeleteGroupMembershipOutput { - s.RequestId = &v +// 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) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + 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 } -// SetStatus sets the Status field's value. -func (s *DeleteGroupMembershipOutput) SetStatus(v int64) *DeleteGroupMembershipOutput { - s.Status = &v +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v return s } -type DeleteGroupOutput struct { +type UntagResourceOutput struct { _ struct{} `type:"structure"` // The AWS request ID for this operation. @@ -2286,77 +20092,123 @@ type DeleteGroupOutput struct { } // String returns the string representation -func (s DeleteGroupOutput) String() string { +func (s UntagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteGroupOutput) GoString() string { +func (s UntagResourceOutput) GoString() string { return s.String() } // SetRequestId sets the RequestId field's value. -func (s *DeleteGroupOutput) SetRequestId(v string) *DeleteGroupOutput { +func (s *UntagResourceOutput) SetRequestId(v string) *UntagResourceOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteGroupOutput) SetStatus(v int64) *DeleteGroupOutput { +func (s *UntagResourceOutput) SetStatus(v int64) *UntagResourceOutput { s.Status = &v return s } -type DeleteUserByPrincipalIdInput struct { +type UpdateDashboardInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the user is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // AWS account ID that contains the dashboard you are updating. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The namespace. Currently, you should set this to default. + // The ID for the dashboard. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` - // The principal ID of the user. + // Publishing options when creating a dashboard. // - // PrincipalId is a required field - PrincipalId *string `location:"uri" locationName:"PrincipalId" type:"string" required:"true"` + // * AvailabilityStatus for AdHocFilteringOption - This can be either ENABLED + // or DISABLED. When This is set to set to DISABLED, QuickSight disables + // the left filter pane on the published dashboard, which can be used for + // AdHoc filtering. Enabled by default. + // + // * AvailabilityStatus for ExportToCSVOption - This can be either ENABLED + // or DISABLED. The visual option to export data to CSV is disabled when + // this is set to DISABLED. Enabled by default. + // + // * VisibilityState for SheetControlsOption - This can be either COLLAPSED + // or EXPANDED. The sheet controls pane is collapsed by default when set + // to true. Collapsed by default. + DashboardPublishOptions *DashboardPublishOptions `type:"structure"` + + // The display name of the dashboard. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A structure that contains the parameters of the dashboard. + Parameters *Parameters `type:"structure"` + + // The template or analysis from which the dashboard is created. The SouceTemplate + // entity accepts the Arn of the template and also references to replacement + // datasets for the placeholders set when creating the template. The replacement + // datasets need to follow the same schema as the datasets for which placeholders + // were created when creating the template. + // + // SourceEntity is a required field + SourceEntity *DashboardSourceEntity `type:"structure" required:"true"` + + // A description for the first version of the dashboard being created. + VersionDescription *string `min:"1" type:"string"` } // String returns the string representation -func (s DeleteUserByPrincipalIdInput) String() string { +func (s UpdateDashboardInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserByPrincipalIdInput) GoString() string { +func (s UpdateDashboardInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteUserByPrincipalIdInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteUserByPrincipalIdInput"} +func (s *UpdateDashboardInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) } - if s.PrincipalId == nil { - invalidParams.Add(request.NewErrParamRequired("PrincipalId")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.PrincipalId != nil && len(*s.PrincipalId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SourceEntity == nil { + invalidParams.Add(request.NewErrParamRequired("SourceEntity")) + } + if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) + } + if s.Parameters != nil { + if err := s.Parameters.Validate(); err != nil { + invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) + } + } + if s.SourceEntity != nil { + if err := s.SourceEntity.Validate(); err != nil { + invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -2366,105 +20218,185 @@ func (s *DeleteUserByPrincipalIdInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteUserByPrincipalIdInput) SetAwsAccountId(v string) *DeleteUserByPrincipalIdInput { +func (s *UpdateDashboardInput) SetAwsAccountId(v string) *UpdateDashboardInput { s.AwsAccountId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DeleteUserByPrincipalIdInput) SetNamespace(v string) *DeleteUserByPrincipalIdInput { - s.Namespace = &v +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardInput) SetDashboardId(v string) *UpdateDashboardInput { + s.DashboardId = &v return s } -// SetPrincipalId sets the PrincipalId field's value. -func (s *DeleteUserByPrincipalIdInput) SetPrincipalId(v string) *DeleteUserByPrincipalIdInput { - s.PrincipalId = &v +// SetDashboardPublishOptions sets the DashboardPublishOptions field's value. +func (s *UpdateDashboardInput) SetDashboardPublishOptions(v *DashboardPublishOptions) *UpdateDashboardInput { + s.DashboardPublishOptions = v return s } -type DeleteUserByPrincipalIdOutput struct { +// SetName sets the Name field's value. +func (s *UpdateDashboardInput) SetName(v string) *UpdateDashboardInput { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *UpdateDashboardInput) SetParameters(v *Parameters) *UpdateDashboardInput { + s.Parameters = v + return s +} + +// SetSourceEntity sets the SourceEntity field's value. +func (s *UpdateDashboardInput) SetSourceEntity(v *DashboardSourceEntity) *UpdateDashboardInput { + s.SourceEntity = v + return s +} + +// SetVersionDescription sets the VersionDescription field's value. +func (s *UpdateDashboardInput) SetVersionDescription(v string) *UpdateDashboardInput { + s.VersionDescription = &v + return s +} + +type UpdateDashboardOutput struct { _ struct{} `type:"structure"` + // The ARN of the resource. + Arn *string `type:"string"` + + // The creation status of the request. + CreationStatus *string `type:"string" enum:"ResourceStatus"` + + // The ID for the dashboard. + DashboardId *string `min:"1" type:"string"` + // The AWS request ID for this operation. RequestId *string `type:"string"` // The http status of the request. - Status *int64 `location:"statusCode" type:"integer"` + Status *int64 `type:"integer"` + + // The ARN of the dashboard, including the version number. + VersionArn *string `type:"string"` } // String returns the string representation -func (s DeleteUserByPrincipalIdOutput) String() string { +func (s UpdateDashboardOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserByPrincipalIdOutput) GoString() string { +func (s UpdateDashboardOutput) GoString() string { return s.String() } +// SetArn sets the Arn field's value. +func (s *UpdateDashboardOutput) SetArn(v string) *UpdateDashboardOutput { + s.Arn = &v + return s +} + +// SetCreationStatus sets the CreationStatus field's value. +func (s *UpdateDashboardOutput) SetCreationStatus(v string) *UpdateDashboardOutput { + s.CreationStatus = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardOutput) SetDashboardId(v string) *UpdateDashboardOutput { + s.DashboardId = &v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *DeleteUserByPrincipalIdOutput) SetRequestId(v string) *DeleteUserByPrincipalIdOutput { +func (s *UpdateDashboardOutput) SetRequestId(v string) *UpdateDashboardOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteUserByPrincipalIdOutput) SetStatus(v int64) *DeleteUserByPrincipalIdOutput { +func (s *UpdateDashboardOutput) SetStatus(v int64) *UpdateDashboardOutput { s.Status = &v return s } -type DeleteUserInput struct { +// SetVersionArn sets the VersionArn field's value. +func (s *UpdateDashboardOutput) SetVersionArn(v string) *UpdateDashboardOutput { + s.VersionArn = &v + return s +} + +type UpdateDashboardPermissionsInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the user is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // AWS account ID that contains the dashboard you are updating. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The namespace. Currently, you should set this to default. + // The ID for the dashboard. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` - // The name of the user that you want to delete. - // - // UserName is a required field - UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` + // The permissions that you want to grant on this resource. + GrantPermissions []*ResourcePermission `min:"1" type:"list"` + + // The permissions that you want to revoke from this resource. + RevokePermissions []*ResourcePermission `min:"1" type:"list"` } // String returns the string representation -func (s DeleteUserInput) String() string { +func (s UpdateDashboardPermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserInput) GoString() string { +func (s UpdateDashboardPermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteUserInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"} +func (s *UpdateDashboardPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardPermissionsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) } - if s.UserName == nil { - invalidParams.Add(request.NewErrParamRequired("UserName")) + if s.GrantPermissions != nil && len(s.GrantPermissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GrantPermissions", 1)) } - if s.UserName != nil && len(*s.UserName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + if s.RevokePermissions != nil && len(s.RevokePermissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RevokePermissions", 1)) + } + if s.GrantPermissions != nil { + for i, v := range s.GrantPermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GrantPermissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RevokePermissions != nil { + for i, v := range s.RevokePermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RevokePermissions", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -2474,26 +20406,41 @@ func (s *DeleteUserInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteUserInput) SetAwsAccountId(v string) *DeleteUserInput { +func (s *UpdateDashboardPermissionsInput) SetAwsAccountId(v string) *UpdateDashboardPermissionsInput { s.AwsAccountId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DeleteUserInput) SetNamespace(v string) *DeleteUserInput { - s.Namespace = &v +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardPermissionsInput) SetDashboardId(v string) *UpdateDashboardPermissionsInput { + s.DashboardId = &v return s } -// SetUserName sets the UserName field's value. -func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput { - s.UserName = &v +// SetGrantPermissions sets the GrantPermissions field's value. +func (s *UpdateDashboardPermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDashboardPermissionsInput { + s.GrantPermissions = v return s } -type DeleteUserOutput struct { +// SetRevokePermissions sets the RevokePermissions field's value. +func (s *UpdateDashboardPermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDashboardPermissionsInput { + s.RevokePermissions = v + return s +} + +type UpdateDashboardPermissionsOutput struct { _ struct{} `type:"structure"` + // The ARN of the dashboard. + DashboardArn *string `type:"string"` + + // The ID for the dashboard. + DashboardId *string `min:"1" type:"string"` + + // Information about the permissions on the dashboard. + Permissions []*ResourcePermission `min:"1" type:"list"` + // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -2502,77 +20449,94 @@ type DeleteUserOutput struct { } // String returns the string representation -func (s DeleteUserOutput) String() string { +func (s UpdateDashboardPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserOutput) GoString() string { +func (s UpdateDashboardPermissionsOutput) GoString() string { return s.String() } +// SetDashboardArn sets the DashboardArn field's value. +func (s *UpdateDashboardPermissionsOutput) SetDashboardArn(v string) *UpdateDashboardPermissionsOutput { + s.DashboardArn = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardPermissionsOutput) SetDashboardId(v string) *UpdateDashboardPermissionsOutput { + s.DashboardId = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *UpdateDashboardPermissionsOutput) SetPermissions(v []*ResourcePermission) *UpdateDashboardPermissionsOutput { + s.Permissions = v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *DeleteUserOutput) SetRequestId(v string) *DeleteUserOutput { +func (s *UpdateDashboardPermissionsOutput) SetRequestId(v string) *UpdateDashboardPermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteUserOutput) SetStatus(v int64) *DeleteUserOutput { +func (s *UpdateDashboardPermissionsOutput) SetStatus(v int64) *UpdateDashboardPermissionsOutput { s.Status = &v return s } -type DescribeGroupInput struct { +type UpdateDashboardPublishedVersionInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // AWS account ID that contains the dashboard you are updating. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The name of the group that you want to describe. + // The ID for the dashboard. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` - // The namespace. Currently, you should set this to default. + // The version number of the dashboard. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // VersionNumber is a required field + VersionNumber *int64 `location:"uri" locationName:"VersionNumber" min:"1" type:"long" required:"true"` } // String returns the string representation -func (s DescribeGroupInput) String() string { +func (s UpdateDashboardPublishedVersionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeGroupInput) GoString() string { +func (s UpdateDashboardPublishedVersionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeGroupInput"} +func (s *UpdateDashboardPublishedVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardPublishedVersionInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) - } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.VersionNumber == nil { + invalidParams.Add(request.NewErrParamRequired("VersionNumber")) + } + if s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -2582,28 +20546,31 @@ func (s *DescribeGroupInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeGroupInput) SetAwsAccountId(v string) *DescribeGroupInput { +func (s *UpdateDashboardPublishedVersionInput) SetAwsAccountId(v string) *UpdateDashboardPublishedVersionInput { s.AwsAccountId = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *DescribeGroupInput) SetGroupName(v string) *DescribeGroupInput { - s.GroupName = &v +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardPublishedVersionInput) SetDashboardId(v string) *UpdateDashboardPublishedVersionInput { + s.DashboardId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DescribeGroupInput) SetNamespace(v string) *DescribeGroupInput { - s.Namespace = &v +// SetVersionNumber sets the VersionNumber field's value. +func (s *UpdateDashboardPublishedVersionInput) SetVersionNumber(v int64) *UpdateDashboardPublishedVersionInput { + s.VersionNumber = &v return s } -type DescribeGroupOutput struct { +type UpdateDashboardPublishedVersionOutput struct { _ struct{} `type:"structure"` - // The name of the group. - Group *Group `type:"structure"` + // The ARN of the dashboard. + DashboardArn *string `type:"string"` + + // The ID for the dashboard. + DashboardId *string `min:"1" type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -2613,83 +20580,160 @@ type DescribeGroupOutput struct { } // String returns the string representation -func (s DescribeGroupOutput) String() string { +func (s UpdateDashboardPublishedVersionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeGroupOutput) GoString() string { +func (s UpdateDashboardPublishedVersionOutput) GoString() string { return s.String() } -// SetGroup sets the Group field's value. -func (s *DescribeGroupOutput) SetGroup(v *Group) *DescribeGroupOutput { - s.Group = v +// SetDashboardArn sets the DashboardArn field's value. +func (s *UpdateDashboardPublishedVersionOutput) SetDashboardArn(v string) *UpdateDashboardPublishedVersionOutput { + s.DashboardArn = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardPublishedVersionOutput) SetDashboardId(v string) *UpdateDashboardPublishedVersionOutput { + s.DashboardId = &v return s } // SetRequestId sets the RequestId field's value. -func (s *DescribeGroupOutput) SetRequestId(v string) *DescribeGroupOutput { +func (s *UpdateDashboardPublishedVersionOutput) SetRequestId(v string) *UpdateDashboardPublishedVersionOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeGroupOutput) SetStatus(v int64) *DescribeGroupOutput { +func (s *UpdateDashboardPublishedVersionOutput) SetStatus(v int64) *UpdateDashboardPublishedVersionOutput { s.Status = &v return s } -type DescribeUserInput struct { +type UpdateDataSetInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the user is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // The AWS Account ID. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The namespace. Currently, you should set this to default. + // Groupings of columns that work together in certain QuickSight features. Currently + // only geospatial hierarchy is supported. + ColumnGroups []*ColumnGroup `min:"1" type:"list"` + + // The ID for the dataset you want to create. This is unique per region per + // AWS account. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` - // The name of the user that you want to describe. + // Indicates whether or not you want to import the data into SPICE. // - // UserName is a required field - UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` + // ImportMode is a required field + ImportMode *string `type:"string" required:"true" enum:"DataSetImportMode"` + + // Configures the combination and transformation of the data from the physical + // tables. + LogicalTableMap map[string]*LogicalTable `min:"1" type:"map"` + + // The display name for the dataset. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Declares the physical tables that are available in the underlying data sources. + // + // PhysicalTableMap is a required field + PhysicalTableMap map[string]*PhysicalTable `min:"1" type:"map" required:"true"` + + // Row-level security configuration on the data you want to create. + RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` } // String returns the string representation -func (s DescribeUserInput) String() string { +func (s UpdateDataSetInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeUserInput) GoString() string { +func (s UpdateDataSetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeUserInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"} +func (s *UpdateDataSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDataSetInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.ColumnGroups != nil && len(s.ColumnGroups) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnGroups", 1)) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) } - if s.UserName == nil { - invalidParams.Add(request.NewErrParamRequired("UserName")) + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) } - if s.UserName != nil && len(*s.UserName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + if s.ImportMode == nil { + invalidParams.Add(request.NewErrParamRequired("ImportMode")) + } + if s.LogicalTableMap != nil && len(s.LogicalTableMap) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogicalTableMap", 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.PhysicalTableMap == nil { + invalidParams.Add(request.NewErrParamRequired("PhysicalTableMap")) + } + if s.PhysicalTableMap != nil && len(s.PhysicalTableMap) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PhysicalTableMap", 1)) + } + if s.ColumnGroups != nil { + for i, v := range s.ColumnGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ColumnGroups", i), err.(request.ErrInvalidParams)) + } + } + } + if s.LogicalTableMap != nil { + for i, v := range s.LogicalTableMap { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LogicalTableMap", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PhysicalTableMap != nil { + for i, v := range s.PhysicalTableMap { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PhysicalTableMap", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RowLevelPermissionDataSet != nil { + if err := s.RowLevelPermissionDataSet.Validate(); err != nil { + invalidParams.AddNested("RowLevelPermissionDataSet", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -2699,139 +20743,195 @@ func (s *DescribeUserInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeUserInput) SetAwsAccountId(v string) *DescribeUserInput { +func (s *UpdateDataSetInput) SetAwsAccountId(v string) *UpdateDataSetInput { s.AwsAccountId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DescribeUserInput) SetNamespace(v string) *DescribeUserInput { - s.Namespace = &v +// SetColumnGroups sets the ColumnGroups field's value. +func (s *UpdateDataSetInput) SetColumnGroups(v []*ColumnGroup) *UpdateDataSetInput { + s.ColumnGroups = v return s } -// SetUserName sets the UserName field's value. -func (s *DescribeUserInput) SetUserName(v string) *DescribeUserInput { - s.UserName = &v +// SetDataSetId sets the DataSetId field's value. +func (s *UpdateDataSetInput) SetDataSetId(v string) *UpdateDataSetInput { + s.DataSetId = &v return s } -type DescribeUserOutput struct { +// SetImportMode sets the ImportMode field's value. +func (s *UpdateDataSetInput) SetImportMode(v string) *UpdateDataSetInput { + s.ImportMode = &v + return s +} + +// SetLogicalTableMap sets the LogicalTableMap field's value. +func (s *UpdateDataSetInput) SetLogicalTableMap(v map[string]*LogicalTable) *UpdateDataSetInput { + s.LogicalTableMap = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateDataSetInput) SetName(v string) *UpdateDataSetInput { + s.Name = &v + return s +} + +// SetPhysicalTableMap sets the PhysicalTableMap field's value. +func (s *UpdateDataSetInput) SetPhysicalTableMap(v map[string]*PhysicalTable) *UpdateDataSetInput { + s.PhysicalTableMap = v + return s +} + +// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. +func (s *UpdateDataSetInput) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *UpdateDataSetInput { + s.RowLevelPermissionDataSet = v + return s +} + +type UpdateDataSetOutput struct { _ struct{} `type:"structure"` + // The ARN of the dataset. + Arn *string `type:"string"` + + // The ID for the dataset you want to create. This is unique per region per + // AWS account. + DataSetId *string `type:"string"` + + // The Amazon Resource Name (ARN) for the ingestion, which is triggered as a + // result of dataset creation if the import mode is SPICE + IngestionArn *string `type:"string"` + + // The ID of the ingestion, which is triggered as a result of dataset creation + // if the import mode is SPICE + IngestionId *string `type:"string"` + // The AWS request ID for this operation. RequestId *string `type:"string"` // The http status of the request. Status *int64 `location:"statusCode" type:"integer"` - - // The user name. - User *User `type:"structure"` } // String returns the string representation -func (s DescribeUserOutput) String() string { +func (s UpdateDataSetOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeUserOutput) GoString() string { +func (s UpdateDataSetOutput) GoString() string { return s.String() } +// SetArn sets the Arn field's value. +func (s *UpdateDataSetOutput) SetArn(v string) *UpdateDataSetOutput { + s.Arn = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *UpdateDataSetOutput) SetDataSetId(v string) *UpdateDataSetOutput { + s.DataSetId = &v + return s +} + +// SetIngestionArn sets the IngestionArn field's value. +func (s *UpdateDataSetOutput) SetIngestionArn(v string) *UpdateDataSetOutput { + s.IngestionArn = &v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *UpdateDataSetOutput) SetIngestionId(v string) *UpdateDataSetOutput { + s.IngestionId = &v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *DescribeUserOutput) SetRequestId(v string) *DescribeUserOutput { +func (s *UpdateDataSetOutput) SetRequestId(v string) *UpdateDataSetOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeUserOutput) SetStatus(v int64) *DescribeUserOutput { +func (s *UpdateDataSetOutput) SetStatus(v int64) *UpdateDataSetOutput { s.Status = &v return s } -// SetUser sets the User field's value. -func (s *DescribeUserOutput) SetUser(v *User) *DescribeUserOutput { - s.User = v - return s -} - -type GetDashboardEmbedUrlInput struct { +type UpdateDataSetPermissionsInput struct { _ struct{} `type:"structure"` - // AWS account ID that contains the dashboard you are embedding. + // The AWS Account ID. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the dashboard, also added to IAM policy - // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" type:"string" required:"true"` - - // The authentication method the user uses to sign in (IAM only). + // The ID for the dataset you want to create. This is unique per region per + // AWS account. // - // IdentityType is a required field - IdentityType *string `location:"querystring" locationName:"creds-type" type:"string" required:"true" enum:"IdentityType"` - - // Remove the reset button on embedded dashboard. The default is FALSE, which - // allows the reset button. - ResetDisabled *bool `location:"querystring" locationName:"reset-disabled" type:"boolean"` - - // How many minutes the session is valid. The session lifetime must be between - // 15 and 600 minutes. - SessionLifetimeInMinutes *int64 `location:"querystring" locationName:"session-lifetime" min:"15" type:"long"` + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` - // Remove the undo/redo button on embedded dashboard. The default is FALSE, - // which enables the undo/redo button. - UndoRedoDisabled *bool `location:"querystring" locationName:"undo-redo-disabled" type:"boolean"` + // The resource permissions that you want to grant to the dataset. + GrantPermissions []*ResourcePermission `min:"1" type:"list"` - // The Amazon QuickSight user's ARN, for use with QUICKSIGHT identity type. - // You can use this for any of the following: - // - // * Amazon QuickSight users in your account (readers, authors, or admins) - // - // * AD users - // - // * Invited non-federated users - // - // * Federated IAM users - // - // * Federated IAM role-based sessions - UserArn *string `location:"querystring" locationName:"user-arn" type:"string"` + // The resource permissions that you want to revoke from the dataset. + RevokePermissions []*ResourcePermission `min:"1" type:"list"` } // String returns the string representation -func (s GetDashboardEmbedUrlInput) String() string { +func (s UpdateDataSetPermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDashboardEmbedUrlInput) GoString() string { +func (s UpdateDataSetPermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDashboardEmbedUrlInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDashboardEmbedUrlInput"} +func (s *UpdateDataSetPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDataSetPermissionsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DashboardId == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardId")) + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) } - if s.DashboardId != nil && len(*s.DashboardId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) } - if s.IdentityType == nil { - invalidParams.Add(request.NewErrParamRequired("IdentityType")) + if s.GrantPermissions != nil && len(s.GrantPermissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GrantPermissions", 1)) } - if s.SessionLifetimeInMinutes != nil && *s.SessionLifetimeInMinutes < 15 { - invalidParams.Add(request.NewErrParamMinValue("SessionLifetimeInMinutes", 15)) + if s.RevokePermissions != nil && len(s.RevokePermissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RevokePermissions", 1)) + } + if s.GrantPermissions != nil { + for i, v := range s.GrantPermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GrantPermissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RevokePermissions != nil { + for i, v := range s.RevokePermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RevokePermissions", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -2841,55 +20941,38 @@ func (s *GetDashboardEmbedUrlInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *GetDashboardEmbedUrlInput) SetAwsAccountId(v string) *GetDashboardEmbedUrlInput { +func (s *UpdateDataSetPermissionsInput) SetAwsAccountId(v string) *UpdateDataSetPermissionsInput { s.AwsAccountId = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *GetDashboardEmbedUrlInput) SetDashboardId(v string) *GetDashboardEmbedUrlInput { - s.DashboardId = &v - return s -} - -// SetIdentityType sets the IdentityType field's value. -func (s *GetDashboardEmbedUrlInput) SetIdentityType(v string) *GetDashboardEmbedUrlInput { - s.IdentityType = &v - return s -} - -// SetResetDisabled sets the ResetDisabled field's value. -func (s *GetDashboardEmbedUrlInput) SetResetDisabled(v bool) *GetDashboardEmbedUrlInput { - s.ResetDisabled = &v - return s -} - -// SetSessionLifetimeInMinutes sets the SessionLifetimeInMinutes field's value. -func (s *GetDashboardEmbedUrlInput) SetSessionLifetimeInMinutes(v int64) *GetDashboardEmbedUrlInput { - s.SessionLifetimeInMinutes = &v +// SetDataSetId sets the DataSetId field's value. +func (s *UpdateDataSetPermissionsInput) SetDataSetId(v string) *UpdateDataSetPermissionsInput { + s.DataSetId = &v return s } -// SetUndoRedoDisabled sets the UndoRedoDisabled field's value. -func (s *GetDashboardEmbedUrlInput) SetUndoRedoDisabled(v bool) *GetDashboardEmbedUrlInput { - s.UndoRedoDisabled = &v +// SetGrantPermissions sets the GrantPermissions field's value. +func (s *UpdateDataSetPermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDataSetPermissionsInput { + s.GrantPermissions = v return s } -// SetUserArn sets the UserArn field's value. -func (s *GetDashboardEmbedUrlInput) SetUserArn(v string) *GetDashboardEmbedUrlInput { - s.UserArn = &v +// SetRevokePermissions sets the RevokePermissions field's value. +func (s *UpdateDataSetPermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDataSetPermissionsInput { + s.RevokePermissions = v return s } -type GetDashboardEmbedUrlOutput struct { +type UpdateDataSetPermissionsOutput struct { _ struct{} `type:"structure"` - // URL that you can put into your server-side webpage to embed your dashboard. - // This URL is valid for 5 minutes, and the resulting session is valid for 10 - // hours. The API provides the URL with an auth_code that enables a single-signon - // session. - EmbedUrl *string `type:"string" sensitive:"true"` + // The ARN of the dataset. + DataSetArn *string `type:"string"` + + // The ID for the dataset you want to create. This is unique per region per + // AWS account. + DataSetId *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -2899,179 +20982,296 @@ type GetDashboardEmbedUrlOutput struct { } // String returns the string representation -func (s GetDashboardEmbedUrlOutput) String() string { +func (s UpdateDataSetPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDashboardEmbedUrlOutput) GoString() string { +func (s UpdateDataSetPermissionsOutput) GoString() string { return s.String() } -// SetEmbedUrl sets the EmbedUrl field's value. -func (s *GetDashboardEmbedUrlOutput) SetEmbedUrl(v string) *GetDashboardEmbedUrlOutput { - s.EmbedUrl = &v +// SetDataSetArn sets the DataSetArn field's value. +func (s *UpdateDataSetPermissionsOutput) SetDataSetArn(v string) *UpdateDataSetPermissionsOutput { + s.DataSetArn = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *UpdateDataSetPermissionsOutput) SetDataSetId(v string) *UpdateDataSetPermissionsOutput { + s.DataSetId = &v return s } // SetRequestId sets the RequestId field's value. -func (s *GetDashboardEmbedUrlOutput) SetRequestId(v string) *GetDashboardEmbedUrlOutput { +func (s *UpdateDataSetPermissionsOutput) SetRequestId(v string) *UpdateDataSetPermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *GetDashboardEmbedUrlOutput) SetStatus(v int64) *GetDashboardEmbedUrlOutput { +func (s *UpdateDataSetPermissionsOutput) SetStatus(v int64) *UpdateDataSetPermissionsOutput { s.Status = &v return s } -// A group in Amazon QuickSight consists of a set of users. You can use groups -// to make it easier to manage access and security. Currently, an Amazon QuickSight -// subscription can't contain more than 500 Amazon QuickSight groups. -type Group struct { +type UpdateDataSourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the group. - Arn *string `type:"string"` + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The group description. - Description *string `min:"1" type:"string"` + // The credentials QuickSight uses to connect to your underlying source. Currently + // only username/password based credentials are supported. + Credentials *DataSourceCredentials `type:"structure" sensitive:"true"` - // The name of the group. - GroupName *string `min:"1" type:"string"` + // The ID of the data source. This is unique per AWS Region per AWS account. + // + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` - // The principal ID of the group. - PrincipalId *string `type:"string"` + // The parameters QuickSight uses to connect to your underlying source. + DataSourceParameters *DataSourceParameters `type:"structure"` + + // A display name for the data source. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // SSL properties that apply when QuickSight connects to your underlying source. + SslProperties *SslProperties `type:"structure"` + + // You need to use this parameter only when you want QuickSight to use a VPC + // connection when connecting to your underlying source. + VpcConnectionProperties *VpcConnectionProperties `type:"structure"` } // String returns the string representation -func (s Group) String() string { +func (s UpdateDataSourceInput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s Group) GoString() string { - return s.String() +// GoString returns the string representation +func (s UpdateDataSourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourceInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) + } + if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 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.Credentials != nil { + if err := s.Credentials.Validate(); err != nil { + invalidParams.AddNested("Credentials", err.(request.ErrInvalidParams)) + } + } + if s.DataSourceParameters != nil { + if err := s.DataSourceParameters.Validate(); err != nil { + invalidParams.AddNested("DataSourceParameters", err.(request.ErrInvalidParams)) + } + } + if s.VpcConnectionProperties != nil { + if err := s.VpcConnectionProperties.Validate(); err != nil { + invalidParams.AddNested("VpcConnectionProperties", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateDataSourceInput) SetAwsAccountId(v string) *UpdateDataSourceInput { + s.AwsAccountId = &v + return s +} + +// SetCredentials sets the Credentials field's value. +func (s *UpdateDataSourceInput) SetCredentials(v *DataSourceCredentials) *UpdateDataSourceInput { + s.Credentials = v + return s +} + +// SetDataSourceId sets the DataSourceId field's value. +func (s *UpdateDataSourceInput) SetDataSourceId(v string) *UpdateDataSourceInput { + s.DataSourceId = &v + return s } -// SetArn sets the Arn field's value. -func (s *Group) SetArn(v string) *Group { - s.Arn = &v +// SetDataSourceParameters sets the DataSourceParameters field's value. +func (s *UpdateDataSourceInput) SetDataSourceParameters(v *DataSourceParameters) *UpdateDataSourceInput { + s.DataSourceParameters = v return s } -// SetDescription sets the Description field's value. -func (s *Group) SetDescription(v string) *Group { - s.Description = &v +// SetName sets the Name field's value. +func (s *UpdateDataSourceInput) SetName(v string) *UpdateDataSourceInput { + s.Name = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *Group) SetGroupName(v string) *Group { - s.GroupName = &v +// SetSslProperties sets the SslProperties field's value. +func (s *UpdateDataSourceInput) SetSslProperties(v *SslProperties) *UpdateDataSourceInput { + s.SslProperties = v return s } -// SetPrincipalId sets the PrincipalId field's value. -func (s *Group) SetPrincipalId(v string) *Group { - s.PrincipalId = &v +// SetVpcConnectionProperties sets the VpcConnectionProperties field's value. +func (s *UpdateDataSourceInput) SetVpcConnectionProperties(v *VpcConnectionProperties) *UpdateDataSourceInput { + s.VpcConnectionProperties = v return s } -// A member of an Amazon QuickSight group. Currently, group members must be -// users. Groups can't be members of another group. -type GroupMember struct { +type UpdateDataSourceOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the group member (user). + // The ARN of the data source. Arn *string `type:"string"` - // The name of the group member (user). - MemberName *string `min:"1" type:"string"` + // The ID of the data source. This is unique per AWS Region per AWS account. + DataSourceId *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The http status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // The update status of the data source's last update. + UpdateStatus *string `type:"string" enum:"ResourceStatus"` } // String returns the string representation -func (s GroupMember) String() string { +func (s UpdateDataSourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GroupMember) GoString() string { +func (s UpdateDataSourceOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *GroupMember) SetArn(v string) *GroupMember { +func (s *UpdateDataSourceOutput) SetArn(v string) *UpdateDataSourceOutput { s.Arn = &v return s } -// SetMemberName sets the MemberName field's value. -func (s *GroupMember) SetMemberName(v string) *GroupMember { - s.MemberName = &v +// SetDataSourceId sets the DataSourceId field's value. +func (s *UpdateDataSourceOutput) SetDataSourceId(v string) *UpdateDataSourceOutput { + s.DataSourceId = &v return s } -type ListGroupMembershipsInput struct { +// SetRequestId sets the RequestId field's value. +func (s *UpdateDataSourceOutput) SetRequestId(v string) *UpdateDataSourceOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateDataSourceOutput) SetStatus(v int64) *UpdateDataSourceOutput { + s.Status = &v + return s +} + +// SetUpdateStatus sets the UpdateStatus field's value. +func (s *UpdateDataSourceOutput) SetUpdateStatus(v string) *UpdateDataSourceOutput { + s.UpdateStatus = &v + return s +} + +type UpdateDataSourcePermissionsInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // The AWS account ID. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The name of the group that you want to see a membership list of. + // The ID of the data source. This is unique per AWS Region per AWS account. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` - - // The maximum number of results to return from this request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` - // The namespace. Currently, you should set this to default. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // A list of resource permissions that you want to grant on the data source. + GrantPermissions []*ResourcePermission `min:"1" type:"list"` - // A pagination token that can be used in a subsequent request. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // A list of resource permissions that you want to revoke on the data source. + RevokePermissions []*ResourcePermission `min:"1" type:"list"` } // String returns the string representation -func (s ListGroupMembershipsInput) String() string { +func (s UpdateDataSourcePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListGroupMembershipsInput) GoString() string { +func (s UpdateDataSourcePermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListGroupMembershipsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListGroupMembershipsInput"} +func (s *UpdateDataSourcePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourcePermissionsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.GrantPermissions != nil && len(s.GrantPermissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GrantPermissions", 1)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.RevokePermissions != nil && len(s.RevokePermissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RevokePermissions", 1)) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.GrantPermissions != nil { + for i, v := range s.GrantPermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GrantPermissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RevokePermissions != nil { + for i, v := range s.RevokePermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RevokePermissions", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -3081,43 +21281,37 @@ func (s *ListGroupMembershipsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListGroupMembershipsInput) SetAwsAccountId(v string) *ListGroupMembershipsInput { +func (s *UpdateDataSourcePermissionsInput) SetAwsAccountId(v string) *UpdateDataSourcePermissionsInput { s.AwsAccountId = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *ListGroupMembershipsInput) SetGroupName(v string) *ListGroupMembershipsInput { - s.GroupName = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListGroupMembershipsInput) SetMaxResults(v int64) *ListGroupMembershipsInput { - s.MaxResults = &v +// SetDataSourceId sets the DataSourceId field's value. +func (s *UpdateDataSourcePermissionsInput) SetDataSourceId(v string) *UpdateDataSourcePermissionsInput { + s.DataSourceId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *ListGroupMembershipsInput) SetNamespace(v string) *ListGroupMembershipsInput { - s.Namespace = &v +// SetGrantPermissions sets the GrantPermissions field's value. +func (s *UpdateDataSourcePermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDataSourcePermissionsInput { + s.GrantPermissions = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListGroupMembershipsInput) SetNextToken(v string) *ListGroupMembershipsInput { - s.NextToken = &v +// SetRevokePermissions sets the RevokePermissions field's value. +func (s *UpdateDataSourcePermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDataSourcePermissionsInput { + s.RevokePermissions = v return s } -type ListGroupMembershipsOutput struct { +type UpdateDataSourcePermissionsOutput struct { _ struct{} `type:"structure"` - // The list of the members of the group. - GroupMemberList []*GroupMember `type:"list"` + // The ARN of the data source. + DataSourceArn *string `type:"string"` - // A pagination token that can be used in a subsequent request. - NextToken *string `type:"string"` + // The ID of the data source. This is unique per AWS Region per AWS account. + DataSourceId *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -3127,40 +21321,40 @@ type ListGroupMembershipsOutput struct { } // String returns the string representation -func (s ListGroupMembershipsOutput) String() string { +func (s UpdateDataSourcePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListGroupMembershipsOutput) GoString() string { +func (s UpdateDataSourcePermissionsOutput) GoString() string { return s.String() } -// SetGroupMemberList sets the GroupMemberList field's value. -func (s *ListGroupMembershipsOutput) SetGroupMemberList(v []*GroupMember) *ListGroupMembershipsOutput { - s.GroupMemberList = v +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *UpdateDataSourcePermissionsOutput) SetDataSourceArn(v string) *UpdateDataSourcePermissionsOutput { + s.DataSourceArn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListGroupMembershipsOutput) SetNextToken(v string) *ListGroupMembershipsOutput { - s.NextToken = &v +// SetDataSourceId sets the DataSourceId field's value. +func (s *UpdateDataSourcePermissionsOutput) SetDataSourceId(v string) *UpdateDataSourcePermissionsOutput { + s.DataSourceId = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListGroupMembershipsOutput) SetRequestId(v string) *ListGroupMembershipsOutput { +func (s *UpdateDataSourcePermissionsOutput) SetRequestId(v string) *UpdateDataSourcePermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *ListGroupMembershipsOutput) SetStatus(v int64) *ListGroupMembershipsOutput { +func (s *UpdateDataSourcePermissionsOutput) SetStatus(v int64) *UpdateDataSourcePermissionsOutput { s.Status = &v return s } -type ListGroupsInput struct { +type UpdateGroupInput struct { _ struct{} `type:"structure"` // The ID for the AWS account that the group is in. Currently, you use the ID @@ -3169,39 +21363,47 @@ type ListGroupsInput struct { // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The maximum number of results to return. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + // The description for the group that you want to update. + Description *string `min:"1" type:"string"` + + // The name of the group that you want to update. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` // The namespace. Currently, you should set this to default. // // Namespace is a required field Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - - // A pagination token that can be used in a subsequent request. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` } // String returns the string representation -func (s ListGroupsInput) String() string { +func (s UpdateGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListGroupsInput) GoString() string { +func (s UpdateGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListGroupsInput"} +func (s *UpdateGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) } if s.Namespace == nil { invalidParams.Add(request.NewErrParamRequired("Namespace")) @@ -3217,37 +21419,34 @@ func (s *ListGroupsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListGroupsInput) SetAwsAccountId(v string) *ListGroupsInput { +func (s *UpdateGroupInput) SetAwsAccountId(v string) *UpdateGroupInput { s.AwsAccountId = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListGroupsInput) SetMaxResults(v int64) *ListGroupsInput { - s.MaxResults = &v +// SetDescription sets the Description field's value. +func (s *UpdateGroupInput) SetDescription(v string) *UpdateGroupInput { + s.Description = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *ListGroupsInput) SetNamespace(v string) *ListGroupsInput { - s.Namespace = &v +// SetGroupName sets the GroupName field's value. +func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { + s.GroupName = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput { - s.NextToken = &v +// SetNamespace sets the Namespace field's value. +func (s *UpdateGroupInput) SetNamespace(v string) *UpdateGroupInput { + s.Namespace = &v return s } -type ListGroupsOutput struct { +type UpdateGroupOutput struct { _ struct{} `type:"structure"` - // The list of the groups. - GroupList []*Group `type:"list"` - - // A pagination token that can be used in a subsequent request. - NextToken *string `type:"string"` + // The name of the group. + Group *Group `type:"structure"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -3257,99 +21456,102 @@ type ListGroupsOutput struct { } // String returns the string representation -func (s ListGroupsOutput) String() string { +func (s UpdateGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListGroupsOutput) GoString() string { +func (s UpdateGroupOutput) GoString() string { return s.String() } -// SetGroupList sets the GroupList field's value. -func (s *ListGroupsOutput) SetGroupList(v []*Group) *ListGroupsOutput { - s.GroupList = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput { - s.NextToken = &v +// SetGroup sets the Group field's value. +func (s *UpdateGroupOutput) SetGroup(v *Group) *UpdateGroupOutput { + s.Group = v return s } // SetRequestId sets the RequestId field's value. -func (s *ListGroupsOutput) SetRequestId(v string) *ListGroupsOutput { +func (s *UpdateGroupOutput) SetRequestId(v string) *UpdateGroupOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *ListGroupsOutput) SetStatus(v int64) *ListGroupsOutput { +func (s *UpdateGroupOutput) SetStatus(v int64) *UpdateGroupOutput { s.Status = &v return s } -type ListUserGroupsInput struct { +type UpdateIAMPolicyAssignmentInput struct { _ struct{} `type:"structure"` - // The AWS Account ID that the user is in. Currently, you use the ID for the - // AWS account that contains your Amazon QuickSight account. + // The name of the assignment. It must be unique within an AWS account. + // + // AssignmentName is a required field + AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` + + // The status of an assignment: + // + // * ENABLED - Anything specified in this assignment is used while creating + // the data source. + // + // * DISABLED - This assignment isn't used while creating the data source. + // + // * DRAFT - Assignment is an unfinished draft and isn't used while creating + // the data source. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` + + // The AWS account ID that contains the IAM policy assignment. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The maximum number of results to return from this request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + // QuickSight users and/or groups that you want to assign to the specified IAM + // policy. + Identities map[string][]*string `type:"map"` - // The namespace. Currently, you should set this to default. + // The namespace of the assignment. // // Namespace is a required field Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - // A pagination token that can be used in a subsequent request. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` - - // The Amazon QuickSight user name that you want to list group memberships for. - // - // UserName is a required field - UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` + // An IAM policy ARN that will be applied to specified QuickSight users and + // groups in this assignment. + PolicyArn *string `type:"string"` } // String returns the string representation -func (s ListUserGroupsInput) String() string { +func (s UpdateIAMPolicyAssignmentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListUserGroupsInput) GoString() string { +func (s UpdateIAMPolicyAssignmentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListUserGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListUserGroupsInput"} +func (s *UpdateIAMPolicyAssignmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateIAMPolicyAssignmentInput"} + if s.AssignmentName == nil { + invalidParams.Add(request.NewErrParamRequired("AssignmentName")) + } + if s.AssignmentName != nil && len(*s.AssignmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssignmentName", 1)) + } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } if s.Namespace == nil { invalidParams.Add(request.NewErrParamRequired("Namespace")) } if s.Namespace != nil && len(*s.Namespace) < 1 { invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } - if s.UserName == nil { - invalidParams.Add(request.NewErrParamRequired("UserName")) - } - if s.UserName != nil && len(*s.UserName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -3357,134 +21559,188 @@ func (s *ListUserGroupsInput) Validate() error { return nil } +// SetAssignmentName sets the AssignmentName field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetAssignmentName(v string) *UpdateIAMPolicyAssignmentInput { + s.AssignmentName = &v + return s +} + +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetAssignmentStatus(v string) *UpdateIAMPolicyAssignmentInput { + s.AssignmentStatus = &v + return s +} + // SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListUserGroupsInput) SetAwsAccountId(v string) *ListUserGroupsInput { +func (s *UpdateIAMPolicyAssignmentInput) SetAwsAccountId(v string) *UpdateIAMPolicyAssignmentInput { s.AwsAccountId = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListUserGroupsInput) SetMaxResults(v int64) *ListUserGroupsInput { - s.MaxResults = &v +// SetIdentities sets the Identities field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetIdentities(v map[string][]*string) *UpdateIAMPolicyAssignmentInput { + s.Identities = v return s } // SetNamespace sets the Namespace field's value. -func (s *ListUserGroupsInput) SetNamespace(v string) *ListUserGroupsInput { +func (s *UpdateIAMPolicyAssignmentInput) SetNamespace(v string) *UpdateIAMPolicyAssignmentInput { s.Namespace = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListUserGroupsInput) SetNextToken(v string) *ListUserGroupsInput { - s.NextToken = &v - return s -} - -// SetUserName sets the UserName field's value. -func (s *ListUserGroupsInput) SetUserName(v string) *ListUserGroupsInput { - s.UserName = &v +// SetPolicyArn sets the PolicyArn field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetPolicyArn(v string) *UpdateIAMPolicyAssignmentInput { + s.PolicyArn = &v return s } -type ListUserGroupsOutput struct { +type UpdateIAMPolicyAssignmentOutput struct { _ struct{} `type:"structure"` - // The list of groups the user is a member of. - GroupList []*Group `type:"list"` + // The ID of the assignment. + AssignmentId *string `type:"string"` - // A pagination token that can be used in a subsequent request. - NextToken *string `type:"string"` + // The name of the assignment. + AssignmentName *string `min:"1" type:"string"` + + // The status of the assignment: + // + // * ENABLED - Anything specified in this assignment is used while creating + // the data source. + // + // * DISABLED - This assignment isn't used while creating the data source. + // + // * DRAFT - Assignment is an unfinished draft and isn't used while creating + // the data source. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` + + // QuickSight users and/or groups that are assigned to this IAM policy. + Identities map[string][]*string `type:"map"` + + // The IAM policy ARN assigned to the QuickSight users and groups specified + // in this request. + PolicyArn *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` - // The HTTP status of the request. + // The http status of the request. Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s ListUserGroupsOutput) String() string { +func (s UpdateIAMPolicyAssignmentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListUserGroupsOutput) GoString() string { +func (s UpdateIAMPolicyAssignmentOutput) GoString() string { return s.String() } -// SetGroupList sets the GroupList field's value. -func (s *ListUserGroupsOutput) SetGroupList(v []*Group) *ListUserGroupsOutput { - s.GroupList = v +// SetAssignmentId sets the AssignmentId field's value. +func (s *UpdateIAMPolicyAssignmentOutput) SetAssignmentId(v string) *UpdateIAMPolicyAssignmentOutput { + s.AssignmentId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListUserGroupsOutput) SetNextToken(v string) *ListUserGroupsOutput { - s.NextToken = &v +// SetAssignmentName sets the AssignmentName field's value. +func (s *UpdateIAMPolicyAssignmentOutput) SetAssignmentName(v string) *UpdateIAMPolicyAssignmentOutput { + s.AssignmentName = &v + return s +} + +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *UpdateIAMPolicyAssignmentOutput) SetAssignmentStatus(v string) *UpdateIAMPolicyAssignmentOutput { + s.AssignmentStatus = &v + return s +} + +// SetIdentities sets the Identities field's value. +func (s *UpdateIAMPolicyAssignmentOutput) SetIdentities(v map[string][]*string) *UpdateIAMPolicyAssignmentOutput { + s.Identities = v + return s +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *UpdateIAMPolicyAssignmentOutput) SetPolicyArn(v string) *UpdateIAMPolicyAssignmentOutput { + s.PolicyArn = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListUserGroupsOutput) SetRequestId(v string) *ListUserGroupsOutput { +func (s *UpdateIAMPolicyAssignmentOutput) SetRequestId(v string) *UpdateIAMPolicyAssignmentOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *ListUserGroupsOutput) SetStatus(v int64) *ListUserGroupsOutput { +func (s *UpdateIAMPolicyAssignmentOutput) SetStatus(v int64) *UpdateIAMPolicyAssignmentOutput { s.Status = &v return s } -type ListUsersInput struct { +type UpdateTemplateAliasInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the user is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // The alias name. + // + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` + + // AWS account ID that contains the template aliases you are updating. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The maximum number of results to return from this request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` - - // The namespace. Currently, you should set this to default. + // The ID for the template. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` - // A pagination token that can be used in a subsequent request. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // The version number of the template. + // + // TemplateVersionNumber is a required field + TemplateVersionNumber *int64 `min:"1" type:"long" required:"true"` } // String returns the string representation -func (s ListUsersInput) String() string { +func (s UpdateTemplateAliasInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListUsersInput) GoString() string { +func (s UpdateTemplateAliasInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListUsersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"} +func (s *UpdateTemplateAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateAliasInput"} + if s.AliasName == nil { + invalidParams.Add(request.NewErrParamRequired("AliasName")) + } + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.TemplateVersionNumber == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateVersionNumber")) + } + if s.TemplateVersionNumber != nil && *s.TemplateVersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("TemplateVersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -3493,179 +21749,138 @@ func (s *ListUsersInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListUsersInput) SetAwsAccountId(v string) *ListUsersInput { - s.AwsAccountId = &v +// SetAliasName sets the AliasName field's value. +func (s *UpdateTemplateAliasInput) SetAliasName(v string) *UpdateTemplateAliasInput { + s.AliasName = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput { - s.MaxResults = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateTemplateAliasInput) SetAwsAccountId(v string) *UpdateTemplateAliasInput { + s.AwsAccountId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *ListUsersInput) SetNamespace(v string) *ListUsersInput { - s.Namespace = &v +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplateAliasInput) SetTemplateId(v string) *UpdateTemplateAliasInput { + s.TemplateId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput { - s.NextToken = &v +// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. +func (s *UpdateTemplateAliasInput) SetTemplateVersionNumber(v int64) *UpdateTemplateAliasInput { + s.TemplateVersionNumber = &v return s } -type ListUsersOutput struct { +type UpdateTemplateAliasOutput struct { _ struct{} `type:"structure"` - // A pagination token that can be used in a subsequent request. - NextToken *string `type:"string"` - // The AWS request ID for this operation. RequestId *string `type:"string"` // The http status of the request. Status *int64 `location:"statusCode" type:"integer"` - // The list of users. - UserList []*User `type:"list"` + // The template alias. + TemplateAlias *TemplateAlias `type:"structure"` } // String returns the string representation -func (s ListUsersOutput) String() string { +func (s UpdateTemplateAliasOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListUsersOutput) GoString() string { +func (s UpdateTemplateAliasOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput { - s.NextToken = &v - return s -} - // SetRequestId sets the RequestId field's value. -func (s *ListUsersOutput) SetRequestId(v string) *ListUsersOutput { +func (s *UpdateTemplateAliasOutput) SetRequestId(v string) *UpdateTemplateAliasOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *ListUsersOutput) SetStatus(v int64) *ListUsersOutput { +func (s *UpdateTemplateAliasOutput) SetStatus(v int64) *UpdateTemplateAliasOutput { s.Status = &v return s } -// SetUserList sets the UserList field's value. -func (s *ListUsersOutput) SetUserList(v []*User) *ListUsersOutput { - s.UserList = v +// SetTemplateAlias sets the TemplateAlias field's value. +func (s *UpdateTemplateAliasOutput) SetTemplateAlias(v *TemplateAlias) *UpdateTemplateAliasOutput { + s.TemplateAlias = v return s } -type RegisterUserInput struct { +type UpdateTemplateInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the user is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // AWS account ID that contains the template you are updating. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The email address of the user that you want to register. - // - // Email is a required field - Email *string `type:"string" required:"true"` - - // The ARN of the IAM user or role that you are registering with Amazon QuickSight. - IamArn *string `type:"string"` + // The name for the template. + Name *string `min:"1" type:"string"` - // Amazon QuickSight supports several ways of managing the identity of users. - // This parameter accepts two values: - // - // * IAM: A user whose identity maps to an existing IAM user or role. - // - // * QUICKSIGHT: A user whose identity is owned and managed internally by - // Amazon QuickSight. + // The source QuickSight entity from which this template is being created. Templates + // can be currently created from an Analysis or another template. // - // IdentityType is a required field - IdentityType *string `type:"string" required:"true" enum:"IdentityType"` + // SourceEntity is a required field + SourceEntity *TemplateSourceEntity `type:"structure" required:"true"` - // The namespace. Currently, you should set this to default. + // The ID for the template. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - - // You need to use this parameter only when you register one or more users using - // an assumed IAM role. You don't need to provide the session name for other - // 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.amazon.com/cli/latest/reference/sts/assume-role.html) - // in the AWS CLI Reference. - SessionName *string `min:"2" type:"string"` - - // The Amazon QuickSight user name that you want to create for the user you - // are registering. - UserName *string `min:"1" type:"string"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` - // The Amazon QuickSight role of the user. The user role can be one of the following: - // - // * READER: A user who has read-only access to dashboards. - // - // * AUTHOR: A user who can create data sources, data sets, analyses, and - // dashboards. - // - // * ADMIN: A user who is an author, who can also manage Amazon QuickSight - // settings. - // - // UserRole is a required field - UserRole *string `type:"string" required:"true" enum:"UserRole"` + // A description of the current template version being created. This API created + // the first version of the template. Every time UpdateTemplate is called a + // new version is created. Each version of the template maintains a description + // of the version in the VersionDescription field. + VersionDescription *string `min:"1" type:"string"` } // String returns the string representation -func (s RegisterUserInput) String() string { +func (s UpdateTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RegisterUserInput) GoString() string { +func (s UpdateTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RegisterUserInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RegisterUserInput"} +func (s *UpdateTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Email == nil { - invalidParams.Add(request.NewErrParamRequired("Email")) - } - if s.IdentityType == nil { - invalidParams.Add(request.NewErrParamRequired("IdentityType")) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.SourceEntity == nil { + invalidParams.Add(request.NewErrParamRequired("SourceEntity")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.SessionName != nil && len(*s.SessionName) < 2 { - invalidParams.Add(request.NewErrParamMinLen("SessionName", 2)) + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) } - if s.UserName != nil && len(*s.UserName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) } - if s.UserRole == nil { - invalidParams.Add(request.NewErrParamRequired("UserRole")) + if s.SourceEntity != nil { + if err := s.SourceEntity.Validate(); err != nil { + invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -3675,55 +21890,43 @@ func (s *RegisterUserInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *RegisterUserInput) SetAwsAccountId(v string) *RegisterUserInput { +func (s *UpdateTemplateInput) SetAwsAccountId(v string) *UpdateTemplateInput { s.AwsAccountId = &v return s } -// SetEmail sets the Email field's value. -func (s *RegisterUserInput) SetEmail(v string) *RegisterUserInput { - s.Email = &v - return s -} - -// SetIamArn sets the IamArn field's value. -func (s *RegisterUserInput) SetIamArn(v string) *RegisterUserInput { - s.IamArn = &v +// SetName sets the Name field's value. +func (s *UpdateTemplateInput) SetName(v string) *UpdateTemplateInput { + s.Name = &v return s } -// SetIdentityType sets the IdentityType field's value. -func (s *RegisterUserInput) SetIdentityType(v string) *RegisterUserInput { - s.IdentityType = &v +// SetSourceEntity sets the SourceEntity field's value. +func (s *UpdateTemplateInput) SetSourceEntity(v *TemplateSourceEntity) *UpdateTemplateInput { + s.SourceEntity = v return s } -// SetNamespace sets the Namespace field's value. -func (s *RegisterUserInput) SetNamespace(v string) *RegisterUserInput { - s.Namespace = &v +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplateInput) SetTemplateId(v string) *UpdateTemplateInput { + s.TemplateId = &v return s } -// SetSessionName sets the SessionName field's value. -func (s *RegisterUserInput) SetSessionName(v string) *RegisterUserInput { - s.SessionName = &v +// SetVersionDescription sets the VersionDescription field's value. +func (s *UpdateTemplateInput) SetVersionDescription(v string) *UpdateTemplateInput { + s.VersionDescription = &v return s } -// SetUserName sets the UserName field's value. -func (s *RegisterUserInput) SetUserName(v string) *RegisterUserInput { - s.UserName = &v - return s -} +type UpdateTemplateOutput struct { + _ struct{} `type:"structure"` -// SetUserRole sets the UserRole field's value. -func (s *RegisterUserInput) SetUserRole(v string) *RegisterUserInput { - s.UserRole = &v - return s -} + // The Amazon Resource Name (ARN) for the template. + Arn *string `type:"string"` -type RegisterUserOutput struct { - _ struct{} `type:"structure"` + // The creation status of the template. + CreationStatus *string `type:"string" enum:"ResourceStatus"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -3731,104 +21934,134 @@ type RegisterUserOutput struct { // The http status of the request. Status *int64 `location:"statusCode" type:"integer"` - // The user name. - User *User `type:"structure"` + // The ID for the template. + TemplateId *string `min:"1" type:"string"` - // The URL the user visits to complete registration and provide a password. - // This is returned only for users with an identity type of QUICKSIGHT. - UserInvitationUrl *string `type:"string"` + // The Amazon Resource Name (ARN) for the template, including the version information + // of the first version. + VersionArn *string `type:"string"` } // String returns the string representation -func (s RegisterUserOutput) String() string { +func (s UpdateTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RegisterUserOutput) GoString() string { +func (s UpdateTemplateOutput) GoString() string { return s.String() } +// SetArn sets the Arn field's value. +func (s *UpdateTemplateOutput) SetArn(v string) *UpdateTemplateOutput { + s.Arn = &v + return s +} + +// SetCreationStatus sets the CreationStatus field's value. +func (s *UpdateTemplateOutput) SetCreationStatus(v string) *UpdateTemplateOutput { + s.CreationStatus = &v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *RegisterUserOutput) SetRequestId(v string) *RegisterUserOutput { +func (s *UpdateTemplateOutput) SetRequestId(v string) *UpdateTemplateOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *RegisterUserOutput) SetStatus(v int64) *RegisterUserOutput { +func (s *UpdateTemplateOutput) SetStatus(v int64) *UpdateTemplateOutput { s.Status = &v return s } -// SetUser sets the User field's value. -func (s *RegisterUserOutput) SetUser(v *User) *RegisterUserOutput { - s.User = v +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplateOutput) SetTemplateId(v string) *UpdateTemplateOutput { + s.TemplateId = &v return s } -// SetUserInvitationUrl sets the UserInvitationUrl field's value. -func (s *RegisterUserOutput) SetUserInvitationUrl(v string) *RegisterUserOutput { - s.UserInvitationUrl = &v +// SetVersionArn sets the VersionArn field's value. +func (s *UpdateTemplateOutput) SetVersionArn(v string) *UpdateTemplateOutput { + s.VersionArn = &v return s } -type UpdateGroupInput struct { +type UpdateTemplatePermissionsInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // AWS account ID that contains the template. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The description for the group that you want to update. - Description *string `min:"1" type:"string"` - - // The name of the group that you want to update. + // A list of resource permissions to be granted on the template. The following + // example shows the shorthand syntax: // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Shorthand Syntax: Principal=string,Actions=string,string ... + GrantPermissions []*ResourcePermission `min:"1" type:"list"` - // The namespace. Currently, you should set this to default. + // A list of resource permissions to be revoked from the template. Shorthand + // syntax: Shorthand Syntax: Principal=string,Actions=string,string ... + RevokePermissions []*ResourcePermission `min:"1" type:"list"` + + // The ID for the template. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s UpdateGroupInput) String() string { +func (s UpdateTemplatePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateGroupInput) GoString() string { +func (s UpdateTemplatePermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"} +func (s *UpdateTemplatePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTemplatePermissionsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + if s.GrantPermissions != nil && len(s.GrantPermissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GrantPermissions", 1)) } - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.RevokePermissions != nil && len(s.RevokePermissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RevokePermissions", 1)) } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.GrantPermissions != nil { + for i, v := range s.GrantPermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GrantPermissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RevokePermissions != nil { + for i, v := range s.RevokePermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RevokePermissions", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -3838,70 +22071,88 @@ func (s *UpdateGroupInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateGroupInput) SetAwsAccountId(v string) *UpdateGroupInput { +func (s *UpdateTemplatePermissionsInput) SetAwsAccountId(v string) *UpdateTemplatePermissionsInput { s.AwsAccountId = &v return s } -// SetDescription sets the Description field's value. -func (s *UpdateGroupInput) SetDescription(v string) *UpdateGroupInput { - s.Description = &v +// SetGrantPermissions sets the GrantPermissions field's value. +func (s *UpdateTemplatePermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateTemplatePermissionsInput { + s.GrantPermissions = v return s } -// SetGroupName sets the GroupName field's value. -func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { - s.GroupName = &v +// SetRevokePermissions sets the RevokePermissions field's value. +func (s *UpdateTemplatePermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateTemplatePermissionsInput { + s.RevokePermissions = v return s } -// SetNamespace sets the Namespace field's value. -func (s *UpdateGroupInput) SetNamespace(v string) *UpdateGroupInput { - s.Namespace = &v +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplatePermissionsInput) SetTemplateId(v string) *UpdateTemplatePermissionsInput { + s.TemplateId = &v return s } -type UpdateGroupOutput struct { +type UpdateTemplatePermissionsOutput struct { _ struct{} `type:"structure"` - // The name of the group. - Group *Group `type:"structure"` + // A list of resource permissions to be set on the template. + Permissions []*ResourcePermission `min:"1" type:"list"` // The AWS request ID for this operation. RequestId *string `type:"string"` // The http status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // The ARN of the template. + TemplateArn *string `type:"string"` + + // The ID for the template. + TemplateId *string `min:"1" type:"string"` } // String returns the string representation -func (s UpdateGroupOutput) String() string { +func (s UpdateTemplatePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateGroupOutput) GoString() string { +func (s UpdateTemplatePermissionsOutput) GoString() string { return s.String() } -// SetGroup sets the Group field's value. -func (s *UpdateGroupOutput) SetGroup(v *Group) *UpdateGroupOutput { - s.Group = v +// SetPermissions sets the Permissions field's value. +func (s *UpdateTemplatePermissionsOutput) SetPermissions(v []*ResourcePermission) *UpdateTemplatePermissionsOutput { + s.Permissions = v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateGroupOutput) SetRequestId(v string) *UpdateGroupOutput { +func (s *UpdateTemplatePermissionsOutput) SetRequestId(v string) *UpdateTemplatePermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateGroupOutput) SetStatus(v int64) *UpdateGroupOutput { +func (s *UpdateTemplatePermissionsOutput) SetStatus(v int64) *UpdateTemplatePermissionsOutput { s.Status = &v return s } +// SetTemplateArn sets the TemplateArn field's value. +func (s *UpdateTemplatePermissionsOutput) SetTemplateArn(v string) *UpdateTemplatePermissionsOutput { + s.TemplateArn = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplatePermissionsOutput) SetTemplateId(v string) *UpdateTemplatePermissionsOutput { + s.TemplateId = &v + return s +} + type UpdateUserInput struct { _ struct{} `type:"structure"` @@ -3925,7 +22176,7 @@ type UpdateUserInput struct { // // * READER: A user who has read-only access to dashboards. // - // * AUTHOR: A user who can create data sources, data sets, analyses, and + // * AUTHOR: A user who can create data sources, datasets, analyses, and // dashboards. // // * ADMIN: A user who is an author, who can also manage Amazon QuickSight @@ -4055,6 +22306,82 @@ func (s *UpdateUserOutput) SetUser(v *User) *UpdateUserOutput { return s } +// Information on source file(s) format. +type UploadSettings struct { + _ struct{} `type:"structure"` + + // Whether or not the file(s) has a header row. + ContainsHeader *bool `type:"boolean"` + + // The delimiter between values in the file. + Delimiter *string `min:"1" type:"string"` + + // File format. + Format *string `type:"string" enum:"FileFormat"` + + // A row number to start reading data from. + StartFromRow *int64 `min:"1" type:"integer"` + + // Text qualifier. + TextQualifier *string `type:"string" enum:"TextQualifier"` +} + +// String returns the string representation +func (s UploadSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UploadSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UploadSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UploadSettings"} + if s.Delimiter != nil && len(*s.Delimiter) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Delimiter", 1)) + } + if s.StartFromRow != nil && *s.StartFromRow < 1 { + invalidParams.Add(request.NewErrParamMinValue("StartFromRow", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainsHeader sets the ContainsHeader field's value. +func (s *UploadSettings) SetContainsHeader(v bool) *UploadSettings { + s.ContainsHeader = &v + return s +} + +// SetDelimiter sets the Delimiter field's value. +func (s *UploadSettings) SetDelimiter(v string) *UploadSettings { + s.Delimiter = &v + return s +} + +// SetFormat sets the Format field's value. +func (s *UploadSettings) SetFormat(v string) *UploadSettings { + s.Format = &v + return s +} + +// SetStartFromRow sets the StartFromRow field's value. +func (s *UploadSettings) SetStartFromRow(v int64) *UploadSettings { + s.StartFromRow = &v + return s +} + +// SetTextQualifier sets the TextQualifier field's value. +func (s *UploadSettings) SetTextQualifier(v string) *UploadSettings { + s.TextQualifier = &v + return s +} + // A registered user of Amazon QuickSight. Currently, an Amazon QuickSight subscription // can't contain more than 20 million users. type User struct { @@ -4062,10 +22389,10 @@ type User struct { // Active status of user. When you create an Amazon QuickSight user that’s // not an IAM user or an AD user, that user is inactive until they sign in and - // provide a password + // provide a password. Active *bool `type:"boolean"` - // The Amazon Resource Name (ARN) for the user. + // The Amazon Resource name (ARN) for the user. Arn *string `type:"string"` // The user's email address. @@ -4077,7 +22404,20 @@ type User struct { // The principal ID of the user. PrincipalId *string `type:"string"` - // The Amazon QuickSight role for the user. + // The Amazon QuickSight role for the user. The user role can be one of the + // following:. + // + // * READER: A user who has read-only access to dashboards. + // + // * AUTHOR: A user who can create data sources, datasets, analyses, and + // dashboards. + // + // * ADMIN: A user who is an author, who can also manage Amazon QuickSight + // settings. + // + // * RESTRICTED_READER: This role isn't currently available for use. + // + // * RESTRICTED_AUTHOR: This role isn't currently available for use. Role *string `type:"string" enum:"UserRole"` // The user's user name. @@ -4136,6 +22476,205 @@ func (s *User) SetUserName(v string) *User { return s } +// VPC connection properties. +type VpcConnectionProperties struct { + _ struct{} `type:"structure"` + + // VPC connection ARN. + // + // VpcConnectionArn is a required field + VpcConnectionArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s VpcConnectionProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcConnectionProperties) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VpcConnectionProperties) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VpcConnectionProperties"} + if s.VpcConnectionArn == nil { + invalidParams.Add(request.NewErrParamRequired("VpcConnectionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetVpcConnectionArn sets the VpcConnectionArn field's value. +func (s *VpcConnectionProperties) SetVpcConnectionArn(v string) *VpcConnectionProperties { + s.VpcConnectionArn = &v + return s +} + +const ( + // AssignmentStatusEnabled is a AssignmentStatus enum value + AssignmentStatusEnabled = "ENABLED" + + // AssignmentStatusDraft is a AssignmentStatus enum value + AssignmentStatusDraft = "DRAFT" + + // AssignmentStatusDisabled is a AssignmentStatus enum value + AssignmentStatusDisabled = "DISABLED" +) + +const ( + // ColumnDataTypeString is a ColumnDataType enum value + ColumnDataTypeString = "STRING" + + // ColumnDataTypeInteger is a ColumnDataType enum value + ColumnDataTypeInteger = "INTEGER" + + // ColumnDataTypeDecimal is a ColumnDataType enum value + ColumnDataTypeDecimal = "DECIMAL" + + // ColumnDataTypeDatetime is a ColumnDataType enum value + ColumnDataTypeDatetime = "DATETIME" +) + +const ( + // DashboardBehaviorEnabled is a DashboardBehavior enum value + DashboardBehaviorEnabled = "ENABLED" + + // DashboardBehaviorDisabled is a DashboardBehavior enum value + DashboardBehaviorDisabled = "DISABLED" +) + +const ( + // DashboardErrorTypeDataSetNotFound is a DashboardErrorType enum value + DashboardErrorTypeDataSetNotFound = "DATA_SET_NOT_FOUND" + + // DashboardErrorTypeInternalFailure is a DashboardErrorType enum value + DashboardErrorTypeInternalFailure = "INTERNAL_FAILURE" + + // DashboardErrorTypeParameterValueIncompatible is a DashboardErrorType enum value + DashboardErrorTypeParameterValueIncompatible = "PARAMETER_VALUE_INCOMPATIBLE" + + // DashboardErrorTypeParameterTypeInvalid is a DashboardErrorType enum value + DashboardErrorTypeParameterTypeInvalid = "PARAMETER_TYPE_INVALID" + + // DashboardErrorTypeParameterNotFound is a DashboardErrorType enum value + DashboardErrorTypeParameterNotFound = "PARAMETER_NOT_FOUND" + + // DashboardErrorTypeColumnTypeMismatch is a DashboardErrorType enum value + DashboardErrorTypeColumnTypeMismatch = "COLUMN_TYPE_MISMATCH" + + // DashboardErrorTypeColumnGeographicRoleMismatch is a DashboardErrorType enum value + DashboardErrorTypeColumnGeographicRoleMismatch = "COLUMN_GEOGRAPHIC_ROLE_MISMATCH" + + // DashboardErrorTypeColumnReplacementMissing is a DashboardErrorType enum value + DashboardErrorTypeColumnReplacementMissing = "COLUMN_REPLACEMENT_MISSING" +) + +const ( + // DashboardUIStateExpanded is a DashboardUIState enum value + DashboardUIStateExpanded = "EXPANDED" + + // DashboardUIStateCollapsed is a DashboardUIState enum value + DashboardUIStateCollapsed = "COLLAPSED" +) + +const ( + // DataSetImportModeSpice is a DataSetImportMode enum value + DataSetImportModeSpice = "SPICE" + + // DataSetImportModeDirectQuery is a DataSetImportMode enum value + DataSetImportModeDirectQuery = "DIRECT_QUERY" +) + +const ( + // DataSourceErrorInfoTypeTimeout is a DataSourceErrorInfoType enum value + DataSourceErrorInfoTypeTimeout = "TIMEOUT" + + // DataSourceErrorInfoTypeEngineVersionNotSupported is a DataSourceErrorInfoType enum value + DataSourceErrorInfoTypeEngineVersionNotSupported = "ENGINE_VERSION_NOT_SUPPORTED" + + // DataSourceErrorInfoTypeUnknownHost is a DataSourceErrorInfoType enum value + DataSourceErrorInfoTypeUnknownHost = "UNKNOWN_HOST" + + // DataSourceErrorInfoTypeGenericSqlFailure is a DataSourceErrorInfoType enum value + DataSourceErrorInfoTypeGenericSqlFailure = "GENERIC_SQL_FAILURE" + + // DataSourceErrorInfoTypeConflict is a DataSourceErrorInfoType enum value + DataSourceErrorInfoTypeConflict = "CONFLICT" + + // DataSourceErrorInfoTypeUnknown is a DataSourceErrorInfoType enum value + DataSourceErrorInfoTypeUnknown = "UNKNOWN" +) + +const ( + // DataSourceTypeAdobeAnalytics is a DataSourceType enum value + DataSourceTypeAdobeAnalytics = "ADOBE_ANALYTICS" + + // DataSourceTypeAmazonElasticsearch is a DataSourceType enum value + DataSourceTypeAmazonElasticsearch = "AMAZON_ELASTICSEARCH" + + // DataSourceTypeAthena is a DataSourceType enum value + DataSourceTypeAthena = "ATHENA" + + // DataSourceTypeAurora is a DataSourceType enum value + DataSourceTypeAurora = "AURORA" + + // DataSourceTypeAuroraPostgresql is a DataSourceType enum value + DataSourceTypeAuroraPostgresql = "AURORA_POSTGRESQL" + + // DataSourceTypeAwsIotAnalytics is a DataSourceType enum value + DataSourceTypeAwsIotAnalytics = "AWS_IOT_ANALYTICS" + + // DataSourceTypeGithub is a DataSourceType enum value + DataSourceTypeGithub = "GITHUB" + + // DataSourceTypeJira is a DataSourceType enum value + DataSourceTypeJira = "JIRA" + + // DataSourceTypeMariadb is a DataSourceType enum value + DataSourceTypeMariadb = "MARIADB" + + // DataSourceTypeMysql is a DataSourceType enum value + DataSourceTypeMysql = "MYSQL" + + // DataSourceTypePostgresql is a DataSourceType enum value + DataSourceTypePostgresql = "POSTGRESQL" + + // DataSourceTypePresto is a DataSourceType enum value + DataSourceTypePresto = "PRESTO" + + // DataSourceTypeRedshift is a DataSourceType enum value + DataSourceTypeRedshift = "REDSHIFT" + + // DataSourceTypeS3 is a DataSourceType enum value + DataSourceTypeS3 = "S3" + + // DataSourceTypeSalesforce is a DataSourceType enum value + DataSourceTypeSalesforce = "SALESFORCE" + + // DataSourceTypeServicenow is a DataSourceType enum value + DataSourceTypeServicenow = "SERVICENOW" + + // DataSourceTypeSnowflake is a DataSourceType enum value + DataSourceTypeSnowflake = "SNOWFLAKE" + + // DataSourceTypeSpark is a DataSourceType enum value + DataSourceTypeSpark = "SPARK" + + // DataSourceTypeSqlserver is a DataSourceType enum value + DataSourceTypeSqlserver = "SQLSERVER" + + // DataSourceTypeTeradata is a DataSourceType enum value + DataSourceTypeTeradata = "TERADATA" + + // DataSourceTypeTwitter is a DataSourceType enum value + DataSourceTypeTwitter = "TWITTER" +) + const ( // ExceptionResourceTypeUser is a ExceptionResourceType enum value ExceptionResourceTypeUser = "USER" @@ -4146,6 +22685,12 @@ const ( // ExceptionResourceTypeNamespace is a ExceptionResourceType enum value ExceptionResourceTypeNamespace = "NAMESPACE" + // ExceptionResourceTypeAccountSettings is a ExceptionResourceType enum value + ExceptionResourceTypeAccountSettings = "ACCOUNT_SETTINGS" + + // ExceptionResourceTypeIampolicyAssignment is a ExceptionResourceType enum value + ExceptionResourceTypeIampolicyAssignment = "IAMPOLICY_ASSIGNMENT" + // ExceptionResourceTypeDataSource is a ExceptionResourceType enum value ExceptionResourceTypeDataSource = "DATA_SOURCE" @@ -4159,6 +22704,54 @@ const ( ExceptionResourceTypeIngestion = "INGESTION" ) +const ( + // FileFormatCsv is a FileFormat enum value + FileFormatCsv = "CSV" + + // FileFormatTsv is a FileFormat enum value + FileFormatTsv = "TSV" + + // FileFormatClf is a FileFormat enum value + FileFormatClf = "CLF" + + // FileFormatElf is a FileFormat enum value + FileFormatElf = "ELF" + + // FileFormatXlsx is a FileFormat enum value + FileFormatXlsx = "XLSX" + + // FileFormatJson is a FileFormat enum value + FileFormatJson = "JSON" +) + +const ( + // GeoSpatialCountryCodeUs is a GeoSpatialCountryCode enum value + GeoSpatialCountryCodeUs = "US" +) + +const ( + // GeoSpatialDataRoleCountry is a GeoSpatialDataRole enum value + GeoSpatialDataRoleCountry = "COUNTRY" + + // GeoSpatialDataRoleState is a GeoSpatialDataRole enum value + GeoSpatialDataRoleState = "STATE" + + // GeoSpatialDataRoleCounty is a GeoSpatialDataRole enum value + GeoSpatialDataRoleCounty = "COUNTY" + + // GeoSpatialDataRoleCity is a GeoSpatialDataRole enum value + GeoSpatialDataRoleCity = "CITY" + + // GeoSpatialDataRolePostcode is a GeoSpatialDataRole enum value + GeoSpatialDataRolePostcode = "POSTCODE" + + // GeoSpatialDataRoleLongitude is a GeoSpatialDataRole enum value + GeoSpatialDataRoleLongitude = "LONGITUDE" + + // GeoSpatialDataRoleLatitude is a GeoSpatialDataRole enum value + GeoSpatialDataRoleLatitude = "LATITUDE" +) + const ( // IdentityTypeIam is a IdentityType enum value IdentityTypeIam = "IAM" @@ -4167,6 +22760,251 @@ const ( IdentityTypeQuicksight = "QUICKSIGHT" ) +const ( + // IngestionErrorTypeFailureToAssumeRole is a IngestionErrorType enum value + IngestionErrorTypeFailureToAssumeRole = "FAILURE_TO_ASSUME_ROLE" + + // IngestionErrorTypeIngestionSuperseded is a IngestionErrorType enum value + IngestionErrorTypeIngestionSuperseded = "INGESTION_SUPERSEDED" + + // IngestionErrorTypeIngestionCanceled is a IngestionErrorType enum value + IngestionErrorTypeIngestionCanceled = "INGESTION_CANCELED" + + // IngestionErrorTypeDataSetDeleted is a IngestionErrorType enum value + IngestionErrorTypeDataSetDeleted = "DATA_SET_DELETED" + + // IngestionErrorTypeDataSetNotSpice is a IngestionErrorType enum value + IngestionErrorTypeDataSetNotSpice = "DATA_SET_NOT_SPICE" + + // IngestionErrorTypeS3UploadedFileDeleted is a IngestionErrorType enum value + IngestionErrorTypeS3UploadedFileDeleted = "S3_UPLOADED_FILE_DELETED" + + // IngestionErrorTypeS3ManifestError is a IngestionErrorType enum value + IngestionErrorTypeS3ManifestError = "S3_MANIFEST_ERROR" + + // IngestionErrorTypeDataToleranceException is a IngestionErrorType enum value + IngestionErrorTypeDataToleranceException = "DATA_TOLERANCE_EXCEPTION" + + // IngestionErrorTypeSpiceTableNotFound is a IngestionErrorType enum value + IngestionErrorTypeSpiceTableNotFound = "SPICE_TABLE_NOT_FOUND" + + // IngestionErrorTypeDataSetSizeLimitExceeded is a IngestionErrorType enum value + IngestionErrorTypeDataSetSizeLimitExceeded = "DATA_SET_SIZE_LIMIT_EXCEEDED" + + // IngestionErrorTypeRowSizeLimitExceeded is a IngestionErrorType enum value + IngestionErrorTypeRowSizeLimitExceeded = "ROW_SIZE_LIMIT_EXCEEDED" + + // IngestionErrorTypeAccountCapacityLimitExceeded is a IngestionErrorType enum value + IngestionErrorTypeAccountCapacityLimitExceeded = "ACCOUNT_CAPACITY_LIMIT_EXCEEDED" + + // IngestionErrorTypeCustomerError is a IngestionErrorType enum value + IngestionErrorTypeCustomerError = "CUSTOMER_ERROR" + + // IngestionErrorTypeDataSourceNotFound is a IngestionErrorType enum value + IngestionErrorTypeDataSourceNotFound = "DATA_SOURCE_NOT_FOUND" + + // IngestionErrorTypeIamRoleNotAvailable is a IngestionErrorType enum value + IngestionErrorTypeIamRoleNotAvailable = "IAM_ROLE_NOT_AVAILABLE" + + // IngestionErrorTypeConnectionFailure is a IngestionErrorType enum value + IngestionErrorTypeConnectionFailure = "CONNECTION_FAILURE" + + // IngestionErrorTypeSqlTableNotFound is a IngestionErrorType enum value + IngestionErrorTypeSqlTableNotFound = "SQL_TABLE_NOT_FOUND" + + // IngestionErrorTypePermissionDenied is a IngestionErrorType enum value + IngestionErrorTypePermissionDenied = "PERMISSION_DENIED" + + // IngestionErrorTypeSslCertificateValidationFailure is a IngestionErrorType enum value + IngestionErrorTypeSslCertificateValidationFailure = "SSL_CERTIFICATE_VALIDATION_FAILURE" + + // IngestionErrorTypeOauthTokenFailure is a IngestionErrorType enum value + IngestionErrorTypeOauthTokenFailure = "OAUTH_TOKEN_FAILURE" + + // IngestionErrorTypeSourceApiLimitExceededFailure is a IngestionErrorType enum value + IngestionErrorTypeSourceApiLimitExceededFailure = "SOURCE_API_LIMIT_EXCEEDED_FAILURE" + + // IngestionErrorTypePasswordAuthenticationFailure is a IngestionErrorType enum value + IngestionErrorTypePasswordAuthenticationFailure = "PASSWORD_AUTHENTICATION_FAILURE" + + // IngestionErrorTypeSqlSchemaMismatchError is a IngestionErrorType enum value + IngestionErrorTypeSqlSchemaMismatchError = "SQL_SCHEMA_MISMATCH_ERROR" + + // IngestionErrorTypeInvalidDateFormat is a IngestionErrorType enum value + IngestionErrorTypeInvalidDateFormat = "INVALID_DATE_FORMAT" + + // IngestionErrorTypeInvalidDataprepSyntax is a IngestionErrorType enum value + IngestionErrorTypeInvalidDataprepSyntax = "INVALID_DATAPREP_SYNTAX" + + // IngestionErrorTypeSourceResourceLimitExceeded is a IngestionErrorType enum value + IngestionErrorTypeSourceResourceLimitExceeded = "SOURCE_RESOURCE_LIMIT_EXCEEDED" + + // IngestionErrorTypeSqlInvalidParameterValue is a IngestionErrorType enum value + IngestionErrorTypeSqlInvalidParameterValue = "SQL_INVALID_PARAMETER_VALUE" + + // IngestionErrorTypeQueryTimeout is a IngestionErrorType enum value + IngestionErrorTypeQueryTimeout = "QUERY_TIMEOUT" + + // IngestionErrorTypeSqlNumericOverflow is a IngestionErrorType enum value + IngestionErrorTypeSqlNumericOverflow = "SQL_NUMERIC_OVERFLOW" + + // IngestionErrorTypeUnresolvableHost is a IngestionErrorType enum value + IngestionErrorTypeUnresolvableHost = "UNRESOLVABLE_HOST" + + // IngestionErrorTypeUnroutableHost is a IngestionErrorType enum value + IngestionErrorTypeUnroutableHost = "UNROUTABLE_HOST" + + // IngestionErrorTypeSqlException is a IngestionErrorType enum value + IngestionErrorTypeSqlException = "SQL_EXCEPTION" + + // IngestionErrorTypeS3FileInaccessible is a IngestionErrorType enum value + IngestionErrorTypeS3FileInaccessible = "S3_FILE_INACCESSIBLE" + + // IngestionErrorTypeIotFileNotFound is a IngestionErrorType enum value + IngestionErrorTypeIotFileNotFound = "IOT_FILE_NOT_FOUND" + + // IngestionErrorTypeIotDataSetFileEmpty is a IngestionErrorType enum value + IngestionErrorTypeIotDataSetFileEmpty = "IOT_DATA_SET_FILE_EMPTY" + + // IngestionErrorTypeInvalidDataSourceConfig is a IngestionErrorType enum value + IngestionErrorTypeInvalidDataSourceConfig = "INVALID_DATA_SOURCE_CONFIG" + + // IngestionErrorTypeDataSourceAuthFailed is a IngestionErrorType enum value + IngestionErrorTypeDataSourceAuthFailed = "DATA_SOURCE_AUTH_FAILED" + + // IngestionErrorTypeDataSourceConnectionFailed is a IngestionErrorType enum value + IngestionErrorTypeDataSourceConnectionFailed = "DATA_SOURCE_CONNECTION_FAILED" + + // IngestionErrorTypeFailureToProcessJsonFile is a IngestionErrorType enum value + IngestionErrorTypeFailureToProcessJsonFile = "FAILURE_TO_PROCESS_JSON_FILE" + + // IngestionErrorTypeInternalServiceError is a IngestionErrorType enum value + IngestionErrorTypeInternalServiceError = "INTERNAL_SERVICE_ERROR" +) + +const ( + // IngestionRequestSourceManual is a IngestionRequestSource enum value + IngestionRequestSourceManual = "MANUAL" + + // IngestionRequestSourceScheduled is a IngestionRequestSource enum value + IngestionRequestSourceScheduled = "SCHEDULED" +) + +const ( + // IngestionRequestTypeInitialIngestion is a IngestionRequestType enum value + IngestionRequestTypeInitialIngestion = "INITIAL_INGESTION" + + // IngestionRequestTypeEdit is a IngestionRequestType enum value + IngestionRequestTypeEdit = "EDIT" + + // IngestionRequestTypeIncrementalRefresh is a IngestionRequestType enum value + IngestionRequestTypeIncrementalRefresh = "INCREMENTAL_REFRESH" + + // IngestionRequestTypeFullRefresh is a IngestionRequestType enum value + IngestionRequestTypeFullRefresh = "FULL_REFRESH" +) + +const ( + // IngestionStatusInitialized is a IngestionStatus enum value + IngestionStatusInitialized = "INITIALIZED" + + // IngestionStatusQueued is a IngestionStatus enum value + IngestionStatusQueued = "QUEUED" + + // IngestionStatusRunning is a IngestionStatus enum value + IngestionStatusRunning = "RUNNING" + + // IngestionStatusFailed is a IngestionStatus enum value + IngestionStatusFailed = "FAILED" + + // IngestionStatusCompleted is a IngestionStatus enum value + IngestionStatusCompleted = "COMPLETED" + + // IngestionStatusCancelled is a IngestionStatus enum value + IngestionStatusCancelled = "CANCELLED" +) + +const ( + // InputColumnDataTypeString is a InputColumnDataType enum value + InputColumnDataTypeString = "STRING" + + // InputColumnDataTypeInteger is a InputColumnDataType enum value + InputColumnDataTypeInteger = "INTEGER" + + // InputColumnDataTypeDecimal is a InputColumnDataType enum value + InputColumnDataTypeDecimal = "DECIMAL" + + // InputColumnDataTypeDatetime is a InputColumnDataType enum value + InputColumnDataTypeDatetime = "DATETIME" + + // InputColumnDataTypeBit is a InputColumnDataType enum value + InputColumnDataTypeBit = "BIT" + + // InputColumnDataTypeBoolean is a InputColumnDataType enum value + InputColumnDataTypeBoolean = "BOOLEAN" + + // InputColumnDataTypeJson is a InputColumnDataType enum value + InputColumnDataTypeJson = "JSON" +) + +const ( + // JoinTypeInner is a JoinType enum value + JoinTypeInner = "INNER" + + // JoinTypeOuter is a JoinType enum value + JoinTypeOuter = "OUTER" + + // JoinTypeLeft is a JoinType enum value + JoinTypeLeft = "LEFT" + + // JoinTypeRight is a JoinType enum value + JoinTypeRight = "RIGHT" +) + +const ( + // ResourceStatusCreationInProgress is a ResourceStatus enum value + ResourceStatusCreationInProgress = "CREATION_IN_PROGRESS" + + // ResourceStatusCreationSuccessful is a ResourceStatus enum value + ResourceStatusCreationSuccessful = "CREATION_SUCCESSFUL" + + // ResourceStatusCreationFailed is a ResourceStatus enum value + ResourceStatusCreationFailed = "CREATION_FAILED" + + // ResourceStatusUpdateInProgress is a ResourceStatus enum value + ResourceStatusUpdateInProgress = "UPDATE_IN_PROGRESS" + + // ResourceStatusUpdateSuccessful is a ResourceStatus enum value + ResourceStatusUpdateSuccessful = "UPDATE_SUCCESSFUL" + + // ResourceStatusUpdateFailed is a ResourceStatus enum value + ResourceStatusUpdateFailed = "UPDATE_FAILED" +) + +const ( + // RowLevelPermissionPolicyGrantAccess is a RowLevelPermissionPolicy enum value + RowLevelPermissionPolicyGrantAccess = "GRANT_ACCESS" + + // RowLevelPermissionPolicyDenyAccess is a RowLevelPermissionPolicy enum value + RowLevelPermissionPolicyDenyAccess = "DENY_ACCESS" +) + +const ( + // TemplateErrorTypeDataSetNotFound is a TemplateErrorType enum value + TemplateErrorTypeDataSetNotFound = "DATA_SET_NOT_FOUND" + + // TemplateErrorTypeInternalFailure is a TemplateErrorType enum value + TemplateErrorTypeInternalFailure = "INTERNAL_FAILURE" +) + +const ( + // TextQualifierDoubleQuote is a TextQualifier enum value + TextQualifierDoubleQuote = "DOUBLE_QUOTE" + + // TextQualifierSingleQuote is a TextQualifier enum value + TextQualifierSingleQuote = "SINGLE_QUOTE" +) + const ( // UserRoleAdmin is a UserRole enum value UserRoleAdmin = "ADMIN" diff --git a/vendor/github.com/aws/aws-sdk-go/service/quicksight/errors.go b/vendor/github.com/aws/aws-sdk-go/service/quicksight/errors.go index 290b6e1486b7..4332c7ab4df2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/quicksight/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/quicksight/errors.go @@ -13,6 +13,19 @@ const ( // the correct permissions, and that you are using the correct access keys. ErrCodeAccessDeniedException = "AccessDeniedException" + // ErrCodeConcurrentUpdatingException for service response error code + // "ConcurrentUpdatingException". + // + // A resource is already in an "actionable" state that must complete before + // a new update can be applied. + ErrCodeConcurrentUpdatingException = "ConcurrentUpdatingException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // Updating or deleting a resource can cause an inconsistent state. + ErrCodeConflictException = "ConflictException" + // ErrCodeDomainNotWhitelistedException for service response error code // "DomainNotWhitelistedException". // @@ -60,7 +73,7 @@ const ( // ErrCodeResourceExistsException for service response error code // "ResourceExistsException". // - // The resource specified doesn't exist. + // The resource specified already exists. ErrCodeResourceExistsException = "ResourceExistsException" // ErrCodeResourceNotFoundException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/ram/api.go b/vendor/github.com/aws/aws-sdk-go/service/ram/api.go index 459ec84ca341..b7f93f0f49fb 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ram/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ram/api.go @@ -235,6 +235,103 @@ func (c *RAM) AssociateResourceShareWithContext(ctx aws.Context, input *Associat return out, req.Send() } +const opAssociateResourceSharePermission = "AssociateResourceSharePermission" + +// AssociateResourceSharePermissionRequest generates a "aws/request.Request" representing the +// client's request for the AssociateResourceSharePermission 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 AssociateResourceSharePermission for more information on using the AssociateResourceSharePermission +// 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 AssociateResourceSharePermissionRequest method. +// req, resp := client.AssociateResourceSharePermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AssociateResourceSharePermission +func (c *RAM) AssociateResourceSharePermissionRequest(input *AssociateResourceSharePermissionInput) (req *request.Request, output *AssociateResourceSharePermissionOutput) { + op := &request.Operation{ + Name: opAssociateResourceSharePermission, + HTTPMethod: "POST", + HTTPPath: "/associateresourcesharepermission", + } + + if input == nil { + input = &AssociateResourceSharePermissionInput{} + } + + output = &AssociateResourceSharePermissionOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateResourceSharePermission API operation for AWS Resource Access Manager. +// +// Associates a permission with a resource share. +// +// 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 Resource Access Manager's +// API operation AssociateResourceSharePermission for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeInvalidClientTokenException "InvalidClientTokenException" +// A client token is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/AssociateResourceSharePermission +func (c *RAM) AssociateResourceSharePermission(input *AssociateResourceSharePermissionInput) (*AssociateResourceSharePermissionOutput, error) { + req, out := c.AssociateResourceSharePermissionRequest(input) + return out, req.Send() +} + +// AssociateResourceSharePermissionWithContext is the same as AssociateResourceSharePermission with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateResourceSharePermission 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 *RAM) AssociateResourceSharePermissionWithContext(ctx aws.Context, input *AssociateResourceSharePermissionInput, opts ...request.Option) (*AssociateResourceSharePermissionOutput, error) { + req, out := c.AssociateResourceSharePermissionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateResourceShare = "CreateResourceShare" // CreateResourceShareRequest generates a "aws/request.Request" representing the @@ -560,6 +657,103 @@ func (c *RAM) DisassociateResourceShareWithContext(ctx aws.Context, input *Disas return out, req.Send() } +const opDisassociateResourceSharePermission = "DisassociateResourceSharePermission" + +// DisassociateResourceSharePermissionRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateResourceSharePermission 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 DisassociateResourceSharePermission for more information on using the DisassociateResourceSharePermission +// 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 DisassociateResourceSharePermissionRequest method. +// req, resp := client.DisassociateResourceSharePermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DisassociateResourceSharePermission +func (c *RAM) DisassociateResourceSharePermissionRequest(input *DisassociateResourceSharePermissionInput) (req *request.Request, output *DisassociateResourceSharePermissionOutput) { + op := &request.Operation{ + Name: opDisassociateResourceSharePermission, + HTTPMethod: "POST", + HTTPPath: "/disassociateresourcesharepermission", + } + + if input == nil { + input = &DisassociateResourceSharePermissionInput{} + } + + output = &DisassociateResourceSharePermissionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateResourceSharePermission API operation for AWS Resource Access Manager. +// +// Disassociates an AWS RAM permission from a resource share. +// +// 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 Resource Access Manager's +// API operation DisassociateResourceSharePermission for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeInvalidClientTokenException "InvalidClientTokenException" +// A client token is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/DisassociateResourceSharePermission +func (c *RAM) DisassociateResourceSharePermission(input *DisassociateResourceSharePermissionInput) (*DisassociateResourceSharePermissionOutput, error) { + req, out := c.DisassociateResourceSharePermissionRequest(input) + return out, req.Send() +} + +// DisassociateResourceSharePermissionWithContext is the same as DisassociateResourceSharePermission with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateResourceSharePermission 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 *RAM) DisassociateResourceSharePermissionWithContext(ctx aws.Context, input *DisassociateResourceSharePermissionInput, opts ...request.Option) (*DisassociateResourceSharePermissionOutput, error) { + req, out := c.DisassociateResourceSharePermissionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opEnableSharingWithAwsOrganization = "EnableSharingWithAwsOrganization" // EnableSharingWithAwsOrganizationRequest generates a "aws/request.Request" representing the @@ -647,6 +841,100 @@ func (c *RAM) EnableSharingWithAwsOrganizationWithContext(ctx aws.Context, input return out, req.Send() } +const opGetPermission = "GetPermission" + +// GetPermissionRequest generates a "aws/request.Request" representing the +// client's request for the GetPermission 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 GetPermission for more information on using the GetPermission +// 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 GetPermissionRequest method. +// req, resp := client.GetPermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetPermission +func (c *RAM) GetPermissionRequest(input *GetPermissionInput) (req *request.Request, output *GetPermissionOutput) { + op := &request.Operation{ + Name: opGetPermission, + HTTPMethod: "POST", + HTTPPath: "/getpermission", + } + + if input == nil { + input = &GetPermissionInput{} + } + + output = &GetPermissionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPermission API operation for AWS Resource Access Manager. +// +// Gets the contents of an AWS RAM permission in JSON format. +// +// 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 Resource Access Manager's +// API operation GetPermission for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/GetPermission +func (c *RAM) GetPermission(input *GetPermissionInput) (*GetPermissionOutput, error) { + req, out := c.GetPermissionRequest(input) + return out, req.Send() +} + +// GetPermissionWithContext is the same as GetPermission with the addition of +// the ability to pass a context and additional request options. +// +// See GetPermission 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 *RAM) GetPermissionWithContext(ctx aws.Context, input *GetPermissionInput, opts ...request.Option) (*GetPermissionOutput, error) { + req, out := c.GetPermissionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetResourcePolicies = "GetResourcePolicies" // GetResourcePoliciesRequest generates a "aws/request.Request" representing the @@ -1421,89 +1709,180 @@ func (c *RAM) ListPendingInvitationResourcesPagesWithContext(ctx aws.Context, in return p.Err() } -const opListPrincipals = "ListPrincipals" +const opListPermissions = "ListPermissions" -// ListPrincipalsRequest generates a "aws/request.Request" representing the -// client's request for the ListPrincipals operation. The "output" return +// ListPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the ListPermissions 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 ListPrincipals for more information on using the ListPrincipals +// See ListPermissions for more information on using the ListPermissions // 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 ListPrincipalsRequest method. -// req, resp := client.ListPrincipalsRequest(params) +// // Example sending a request using the ListPermissionsRequest method. +// req, resp := client.ListPermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPrincipals -func (c *RAM) ListPrincipalsRequest(input *ListPrincipalsInput) (req *request.Request, output *ListPrincipalsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPermissions +func (c *RAM) ListPermissionsRequest(input *ListPermissionsInput) (req *request.Request, output *ListPermissionsOutput) { op := &request.Operation{ - Name: opListPrincipals, + Name: opListPermissions, HTTPMethod: "POST", - HTTPPath: "/listprincipals", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "maxResults", - TruncationToken: "", - }, + HTTPPath: "/listpermissions", } if input == nil { - input = &ListPrincipalsInput{} + input = &ListPermissionsInput{} } - output = &ListPrincipalsOutput{} + output = &ListPermissionsOutput{} req = c.newRequest(op, input, output) return } -// ListPrincipals API operation for AWS Resource Access Manager. +// ListPermissions API operation for AWS Resource Access Manager. // -// Lists the principals that you have shared resources with or the principals -// that have shared resources with you. +// Lists the AWS RAM permissions. // // 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 Resource Access Manager's -// API operation ListPrincipals for usage and error information. +// API operation ListPermissions for usage and error information. // // Returned Error Codes: -// * ErrCodeMalformedArnException "MalformedArnException" -// The format of an Amazon Resource Name (ARN) is not valid. -// -// * ErrCodeUnknownResourceException "UnknownResourceException" -// A specified resource was not found. +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. // // * ErrCodeInvalidNextTokenException "InvalidNextTokenException" // The specified value for NextToken is not valid. // -// * ErrCodeInvalidParameterException "InvalidParameterException" -// A parameter is not valid. -// // * ErrCodeServerInternalException "ServerInternalException" // The service could not respond to the request due to an internal problem. // // * ErrCodeServiceUnavailableException "ServiceUnavailableException" // The service is not available. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPrincipals -func (c *RAM) ListPrincipals(input *ListPrincipalsInput) (*ListPrincipalsOutput, error) { - req, out := c.ListPrincipalsRequest(input) - return out, req.Send() +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPermissions +func (c *RAM) ListPermissions(input *ListPermissionsInput) (*ListPermissionsOutput, error) { + req, out := c.ListPermissionsRequest(input) + return out, req.Send() +} + +// ListPermissionsWithContext is the same as ListPermissions with the addition of +// the ability to pass a context and additional request options. +// +// See ListPermissions 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 *RAM) ListPermissionsWithContext(ctx aws.Context, input *ListPermissionsInput, opts ...request.Option) (*ListPermissionsOutput, error) { + req, out := c.ListPermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListPrincipals = "ListPrincipals" + +// ListPrincipalsRequest generates a "aws/request.Request" representing the +// client's request for the ListPrincipals 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 ListPrincipals for more information on using the ListPrincipals +// 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 ListPrincipalsRequest method. +// req, resp := client.ListPrincipalsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPrincipals +func (c *RAM) ListPrincipalsRequest(input *ListPrincipalsInput) (req *request.Request, output *ListPrincipalsOutput) { + op := &request.Operation{ + Name: opListPrincipals, + HTTPMethod: "POST", + HTTPPath: "/listprincipals", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPrincipalsInput{} + } + + output = &ListPrincipalsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPrincipals API operation for AWS Resource Access Manager. +// +// Lists the principals that you have shared resources with or that have shared +// resources with you. +// +// 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 Resource Access Manager's +// API operation ListPrincipals for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The specified value for NextToken is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListPrincipals +func (c *RAM) ListPrincipals(input *ListPrincipalsInput) (*ListPrincipalsOutput, error) { + req, out := c.ListPrincipalsRequest(input) + return out, req.Send() } // ListPrincipalsWithContext is the same as ListPrincipals with the addition of @@ -1574,6 +1953,103 @@ func (c *RAM) ListPrincipalsPagesWithContext(ctx aws.Context, input *ListPrincip return p.Err() } +const opListResourceSharePermissions = "ListResourceSharePermissions" + +// ListResourceSharePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the ListResourceSharePermissions 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 ListResourceSharePermissions for more information on using the ListResourceSharePermissions +// 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 ListResourceSharePermissionsRequest method. +// req, resp := client.ListResourceSharePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListResourceSharePermissions +func (c *RAM) ListResourceSharePermissionsRequest(input *ListResourceSharePermissionsInput) (req *request.Request, output *ListResourceSharePermissionsOutput) { + op := &request.Operation{ + Name: opListResourceSharePermissions, + HTTPMethod: "POST", + HTTPPath: "/listresourcesharepermissions", + } + + if input == nil { + input = &ListResourceSharePermissionsInput{} + } + + output = &ListResourceSharePermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResourceSharePermissions API operation for AWS Resource Access Manager. +// +// Lists the AWS RAM permissions that are associated with a resource share. +// +// 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 Resource Access Manager's +// API operation ListResourceSharePermissions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeUnknownResourceException "UnknownResourceException" +// A specified resource was not found. +// +// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" +// The specified value for NextToken is not valid. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/ListResourceSharePermissions +func (c *RAM) ListResourceSharePermissions(input *ListResourceSharePermissionsInput) (*ListResourceSharePermissionsOutput, error) { + req, out := c.ListResourceSharePermissionsRequest(input) + return out, req.Send() +} + +// ListResourceSharePermissionsWithContext is the same as ListResourceSharePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See ListResourceSharePermissions 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 *RAM) ListResourceSharePermissionsWithContext(ctx aws.Context, input *ListResourceSharePermissionsInput, opts ...request.Option) (*ListResourceSharePermissionsOutput, error) { + req, out := c.ListResourceSharePermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListResources = "ListResources" // ListResourcesRequest generates a "aws/request.Request" representing the @@ -1730,6 +2206,109 @@ func (c *RAM) ListResourcesPagesWithContext(ctx aws.Context, input *ListResource return p.Err() } +const opPromoteResourceShareCreatedFromPolicy = "PromoteResourceShareCreatedFromPolicy" + +// PromoteResourceShareCreatedFromPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PromoteResourceShareCreatedFromPolicy 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 PromoteResourceShareCreatedFromPolicy for more information on using the PromoteResourceShareCreatedFromPolicy +// 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 PromoteResourceShareCreatedFromPolicyRequest method. +// req, resp := client.PromoteResourceShareCreatedFromPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/PromoteResourceShareCreatedFromPolicy +func (c *RAM) PromoteResourceShareCreatedFromPolicyRequest(input *PromoteResourceShareCreatedFromPolicyInput) (req *request.Request, output *PromoteResourceShareCreatedFromPolicyOutput) { + op := &request.Operation{ + Name: opPromoteResourceShareCreatedFromPolicy, + HTTPMethod: "POST", + HTTPPath: "/promoteresourcesharecreatedfrompolicy", + } + + if input == nil { + input = &PromoteResourceShareCreatedFromPolicyInput{} + } + + output = &PromoteResourceShareCreatedFromPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PromoteResourceShareCreatedFromPolicy API operation for AWS Resource Access Manager. +// +// Resource shares that were created by attaching a policy to a resource are +// visible only to the resource share owner, and the resource share cannot be +// modified in AWS RAM. +// +// Use this API action to promote the resource share. When you promote the resource +// share, it becomes: +// +// * Visible to all principals that it is shared with. +// +// * Modifiable in AWS RAM. +// +// 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 Resource Access Manager's +// API operation PromoteResourceShareCreatedFromPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedArnException "MalformedArnException" +// The format of an Amazon Resource Name (ARN) is not valid. +// +// * ErrCodeOperationNotPermittedException "OperationNotPermittedException" +// The requested operation is not permitted. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// A parameter is not valid. +// +// * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException" +// A required input parameter is missing. +// +// * ErrCodeServerInternalException "ServerInternalException" +// The service could not respond to the request due to an internal problem. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The service is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ram-2018-01-04/PromoteResourceShareCreatedFromPolicy +func (c *RAM) PromoteResourceShareCreatedFromPolicy(input *PromoteResourceShareCreatedFromPolicyInput) (*PromoteResourceShareCreatedFromPolicyOutput, error) { + req, out := c.PromoteResourceShareCreatedFromPolicyRequest(input) + return out, req.Send() +} + +// PromoteResourceShareCreatedFromPolicyWithContext is the same as PromoteResourceShareCreatedFromPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PromoteResourceShareCreatedFromPolicy 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 *RAM) PromoteResourceShareCreatedFromPolicyWithContext(ctx aws.Context, input *PromoteResourceShareCreatedFromPolicyInput, opts ...request.Option) (*PromoteResourceShareCreatedFromPolicyOutput, error) { + req, out := c.PromoteResourceShareCreatedFromPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRejectResourceShareInvitation = "RejectResourceShareInvitation" // RejectResourceShareInvitationRequest generates a "aws/request.Request" representing the @@ -2307,22 +2886,133 @@ func (s *AssociateResourceShareOutput) SetResourceShareAssociations(v []*Resourc return s } -type CreateResourceShareInput struct { +type AssociateResourceSharePermissionInput struct { _ struct{} `type:"structure"` - // Indicates whether principals outside your AWS organization can be associated - // with a resource share. - AllowExternalPrincipals *bool `locationName:"allowExternalPrincipals" type:"boolean"` - // A unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. ClientToken *string `locationName:"clientToken" type:"string"` - // The name of the resource share. + // The ARN of the AWS RAM permission to associate with the resource share. // - // Name is a required field + // PermissionArn is a required field + PermissionArn *string `locationName:"permissionArn" type:"string" required:"true"` + + // Indicates whether the permission should replace the permissions that are + // currently associated with the resource share. Use true to replace the current + // permissions. Use false to add the permission to the current permission. + Replace *bool `locationName:"replace" type:"boolean"` + + // The Amazon Resource Name (ARN) of the resource share. + // + // ResourceShareArn is a required field + ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateResourceSharePermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResourceSharePermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateResourceSharePermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateResourceSharePermissionInput"} + if s.PermissionArn == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionArn")) + } + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *AssociateResourceSharePermissionInput) SetClientToken(v string) *AssociateResourceSharePermissionInput { + s.ClientToken = &v + return s +} + +// SetPermissionArn sets the PermissionArn field's value. +func (s *AssociateResourceSharePermissionInput) SetPermissionArn(v string) *AssociateResourceSharePermissionInput { + s.PermissionArn = &v + return s +} + +// SetReplace sets the Replace field's value. +func (s *AssociateResourceSharePermissionInput) SetReplace(v bool) *AssociateResourceSharePermissionInput { + s.Replace = &v + return s +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *AssociateResourceSharePermissionInput) SetResourceShareArn(v string) *AssociateResourceSharePermissionInput { + s.ResourceShareArn = &v + return s +} + +type AssociateResourceSharePermissionOutput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // Indicates whether the request succeeded. + ReturnValue *bool `locationName:"returnValue" type:"boolean"` +} + +// String returns the string representation +func (s AssociateResourceSharePermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResourceSharePermissionOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *AssociateResourceSharePermissionOutput) SetClientToken(v string) *AssociateResourceSharePermissionOutput { + s.ClientToken = &v + return s +} + +// SetReturnValue sets the ReturnValue field's value. +func (s *AssociateResourceSharePermissionOutput) SetReturnValue(v bool) *AssociateResourceSharePermissionOutput { + s.ReturnValue = &v + return s +} + +type CreateResourceShareInput struct { + _ struct{} `type:"structure"` + + // Indicates whether principals outside your AWS organization can be associated + // with a resource share. + AllowExternalPrincipals *bool `locationName:"allowExternalPrincipals" type:"boolean"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // The name of the resource share. + // + // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` + // The ARNs of the permissions to associate with the resource share. If you + // do not specify an ARN for the permission, AWS RAM automatically attaches + // the default version of the permission for each resource type. + PermissionArns []*string `locationName:"permissionArns" type:"list"` + // The principals to associate with the resource share. The possible values // are IDs of AWS accounts, the ARN of an OU or organization from AWS Organizations. Principals []*string `locationName:"principals" type:"list"` @@ -2376,6 +3066,12 @@ func (s *CreateResourceShareInput) SetName(v string) *CreateResourceShareInput { return s } +// SetPermissionArns sets the PermissionArns field's value. +func (s *CreateResourceShareInput) SetPermissionArns(v []*string) *CreateResourceShareInput { + s.PermissionArns = v + return s +} + // SetPrincipals sets the Principals field's value. func (s *CreateResourceShareInput) SetPrincipals(v []*string) *CreateResourceShareInput { s.Principals = v @@ -2518,7 +3214,7 @@ type DisassociateResourceShareInput struct { // The principals. Principals []*string `locationName:"principals" type:"list"` - // The Amazon Resource Names (ARN) of the resources. + // The Amazon Resource Names (ARNs) of the resources. ResourceArns []*string `locationName:"resourceArns" type:"list"` // The Amazon Resource Name (ARN) of the resource share. @@ -2607,6 +3303,101 @@ func (s *DisassociateResourceShareOutput) SetResourceShareAssociations(v []*Reso return s } +type DisassociateResourceSharePermissionInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // The ARN of the permission to disassociate from the resource share. + // + // PermissionArn is a required field + PermissionArn *string `locationName:"permissionArn" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the resource share. + // + // ResourceShareArn is a required field + ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateResourceSharePermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResourceSharePermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateResourceSharePermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateResourceSharePermissionInput"} + if s.PermissionArn == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionArn")) + } + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DisassociateResourceSharePermissionInput) SetClientToken(v string) *DisassociateResourceSharePermissionInput { + s.ClientToken = &v + return s +} + +// SetPermissionArn sets the PermissionArn field's value. +func (s *DisassociateResourceSharePermissionInput) SetPermissionArn(v string) *DisassociateResourceSharePermissionInput { + s.PermissionArn = &v + return s +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *DisassociateResourceSharePermissionInput) SetResourceShareArn(v string) *DisassociateResourceSharePermissionInput { + s.ResourceShareArn = &v + return s +} + +type DisassociateResourceSharePermissionOutput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // Indicates whether the request succeeded. + ReturnValue *bool `locationName:"returnValue" type:"boolean"` +} + +// String returns the string representation +func (s DisassociateResourceSharePermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResourceSharePermissionOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *DisassociateResourceSharePermissionOutput) SetClientToken(v string) *DisassociateResourceSharePermissionOutput { + s.ClientToken = &v + return s +} + +// SetReturnValue sets the ReturnValue field's value. +func (s *DisassociateResourceSharePermissionOutput) SetReturnValue(v bool) *DisassociateResourceSharePermissionOutput { + s.ReturnValue = &v + return s +} + type EnableSharingWithAwsOrganizationInput struct { _ struct{} `type:"structure"` } @@ -2644,6 +3435,76 @@ func (s *EnableSharingWithAwsOrganizationOutput) SetReturnValue(v bool) *EnableS return s } +type GetPermissionInput struct { + _ struct{} `type:"structure"` + + // The ARN of the permission. + // + // PermissionArn is a required field + PermissionArn *string `locationName:"permissionArn" type:"string" required:"true"` + + // The identifier for the version of the permission. + PermissionVersion *int64 `locationName:"permissionVersion" type:"integer"` +} + +// String returns the string representation +func (s GetPermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPermissionInput"} + if s.PermissionArn == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPermissionArn sets the PermissionArn field's value. +func (s *GetPermissionInput) SetPermissionArn(v string) *GetPermissionInput { + s.PermissionArn = &v + return s +} + +// SetPermissionVersion sets the PermissionVersion field's value. +func (s *GetPermissionInput) SetPermissionVersion(v int64) *GetPermissionInput { + s.PermissionVersion = &v + return s +} + +type GetPermissionOutput struct { + _ struct{} `type:"structure"` + + // Information about the permission. + Permission *ResourceSharePermissionDetail `locationName:"permission" type:"structure"` +} + +// String returns the string representation +func (s GetPermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPermissionOutput) GoString() string { + return s.String() +} + +// SetPermission sets the Permission field's value. +func (s *GetPermissionOutput) SetPermission(v *ResourceSharePermissionDetail) *GetPermissionOutput { + s.Permission = v + return s +} + type GetResourcePoliciesInput struct { _ struct{} `type:"structure"` @@ -2752,7 +3613,9 @@ type GetResourceShareAssociationsInput struct { // The association status. AssociationStatus *string `locationName:"associationStatus" type:"string" enum:"ResourceShareAssociationStatus"` - // The association type. + // The association type. Specify PRINCIPAL to list the principals that are associated + // with the specified resource share. Specify RESOURCE to list the resources + // that are associated with the specified resource share. // // AssociationType is a required field AssociationType *string `locationName:"associationType" type:"string" required:"true" enum:"ResourceShareAssociationType"` @@ -3196,7 +4059,229 @@ func (s *ListPendingInvitationResourcesOutput) SetResources(v []*Resource) *List return s } -type ListPrincipalsInput struct { +type ListPermissionsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // Specifies the resource type for which to list permissions. For example, to + // list only permissions that apply to EC2 subnets, specify ec2:Subnet. + ResourceType *string `locationName:"resourceType" type:"string"` +} + +// String returns the string representation +func (s ListPermissionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPermissionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPermissionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPermissionsInput) SetMaxResults(v int64) *ListPermissionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPermissionsInput) SetNextToken(v string) *ListPermissionsInput { + s.NextToken = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ListPermissionsInput) SetResourceType(v string) *ListPermissionsInput { + s.ResourceType = &v + return s +} + +type ListPermissionsOutput 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"` + + // Information about the permissions. + Permissions []*ResourceSharePermissionSummary `locationName:"permissions" type:"list"` +} + +// String returns the string representation +func (s ListPermissionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPermissionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPermissionsOutput) SetNextToken(v string) *ListPermissionsOutput { + s.NextToken = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *ListPermissionsOutput) SetPermissions(v []*ResourceSharePermissionSummary) *ListPermissionsOutput { + s.Permissions = v + return s +} + +type ListPrincipalsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The principals. + Principals []*string `locationName:"principals" type:"list"` + + // The Amazon Resource Name (ARN) of the resource. + ResourceArn *string `locationName:"resourceArn" type:"string"` + + // The type of owner. + // + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" type:"string" required:"true" enum:"ResourceOwner"` + + // The Amazon Resource Names (ARN) of the resource shares. + ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"` + + // The resource type. + // + // Valid values: ec2:CapacityReservation | ec2:Subnet | ec2:TrafficMirrorTarget + // | ec2:TransitGateway | license-manager:LicenseConfiguration | rds:Cluster + // | route53resolver:ResolverRule I resource-groups:Group + ResourceType *string `locationName:"resourceType" type:"string"` +} + +// String returns the string representation +func (s ListPrincipalsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPrincipalsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPrincipalsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPrincipalsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceOwner == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceOwner")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPrincipalsInput) SetMaxResults(v int64) *ListPrincipalsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPrincipalsInput) SetNextToken(v string) *ListPrincipalsInput { + s.NextToken = &v + return s +} + +// SetPrincipals sets the Principals field's value. +func (s *ListPrincipalsInput) SetPrincipals(v []*string) *ListPrincipalsInput { + s.Principals = v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListPrincipalsInput) SetResourceArn(v string) *ListPrincipalsInput { + s.ResourceArn = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *ListPrincipalsInput) SetResourceOwner(v string) *ListPrincipalsInput { + s.ResourceOwner = &v + return s +} + +// SetResourceShareArns sets the ResourceShareArns field's value. +func (s *ListPrincipalsInput) SetResourceShareArns(v []*string) *ListPrincipalsInput { + s.ResourceShareArns = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ListPrincipalsInput) SetResourceType(v string) *ListPrincipalsInput { + s.ResourceType = &v + return s +} + +type ListPrincipalsOutput 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 principals. + Principals []*Principal `locationName:"principals" type:"list"` +} + +// String returns the string representation +func (s ListPrincipalsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPrincipalsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPrincipalsOutput) SetNextToken(v string) *ListPrincipalsOutput { + s.NextToken = &v + return s +} + +// SetPrincipals sets the Principals field's value. +func (s *ListPrincipalsOutput) SetPrincipals(v []*Principal) *ListPrincipalsOutput { + s.Principals = v + return s +} + +type ListResourceSharePermissionsInput struct { _ struct{} `type:"structure"` // The maximum number of results to return with a single call. To retrieve the @@ -3206,45 +4291,30 @@ type ListPrincipalsInput struct { // The token for the next page of results. NextToken *string `locationName:"nextToken" type:"string"` - // The principals. - Principals []*string `locationName:"principals" type:"list"` - - // The Amazon Resource Name (ARN) of the resource. - ResourceArn *string `locationName:"resourceArn" type:"string"` - - // The type of owner. - // - // ResourceOwner is a required field - ResourceOwner *string `locationName:"resourceOwner" type:"string" required:"true" enum:"ResourceOwner"` - - // The Amazon Resource Names (ARN) of the resource shares. - ResourceShareArns []*string `locationName:"resourceShareArns" type:"list"` - - // The resource type. + // The Amazon Resource Name (ARN) of the resource share. // - // Valid values: route53resolver:ResolverRule | ec2:TransitGateway | ec2:Subnet - // | license-manager:LicenseConfiguration - ResourceType *string `locationName:"resourceType" type:"string"` + // ResourceShareArn is a required field + ResourceShareArn *string `locationName:"resourceShareArn" type:"string" required:"true"` } // String returns the string representation -func (s ListPrincipalsInput) String() string { +func (s ListResourceSharePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListPrincipalsInput) GoString() string { +func (s ListResourceSharePermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListPrincipalsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListPrincipalsInput"} +func (s *ListResourceSharePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResourceSharePermissionsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.ResourceOwner == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceOwner")) + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) } if invalidParams.Len() > 0 { @@ -3254,77 +4324,53 @@ func (s *ListPrincipalsInput) Validate() error { } // SetMaxResults sets the MaxResults field's value. -func (s *ListPrincipalsInput) SetMaxResults(v int64) *ListPrincipalsInput { +func (s *ListResourceSharePermissionsInput) SetMaxResults(v int64) *ListResourceSharePermissionsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListPrincipalsInput) SetNextToken(v string) *ListPrincipalsInput { +func (s *ListResourceSharePermissionsInput) SetNextToken(v string) *ListResourceSharePermissionsInput { s.NextToken = &v return s } -// SetPrincipals sets the Principals field's value. -func (s *ListPrincipalsInput) SetPrincipals(v []*string) *ListPrincipalsInput { - s.Principals = v - return s -} - -// SetResourceArn sets the ResourceArn field's value. -func (s *ListPrincipalsInput) SetResourceArn(v string) *ListPrincipalsInput { - s.ResourceArn = &v - return s -} - -// SetResourceOwner sets the ResourceOwner field's value. -func (s *ListPrincipalsInput) SetResourceOwner(v string) *ListPrincipalsInput { - s.ResourceOwner = &v - return s -} - -// SetResourceShareArns sets the ResourceShareArns field's value. -func (s *ListPrincipalsInput) SetResourceShareArns(v []*string) *ListPrincipalsInput { - s.ResourceShareArns = v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *ListPrincipalsInput) SetResourceType(v string) *ListPrincipalsInput { - s.ResourceType = &v +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *ListResourceSharePermissionsInput) SetResourceShareArn(v string) *ListResourceSharePermissionsInput { + s.ResourceShareArn = &v return s } -type ListPrincipalsOutput struct { +type ListResourceSharePermissionsOutput 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 principals. - Principals []*Principal `locationName:"principals" type:"list"` + // The permissions associated with the resource share. + Permissions []*ResourceSharePermissionSummary `locationName:"permissions" type:"list"` } // String returns the string representation -func (s ListPrincipalsOutput) String() string { +func (s ListResourceSharePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListPrincipalsOutput) GoString() string { +func (s ListResourceSharePermissionsOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *ListPrincipalsOutput) SetNextToken(v string) *ListPrincipalsOutput { +func (s *ListResourceSharePermissionsOutput) SetNextToken(v string) *ListResourceSharePermissionsOutput { s.NextToken = &v return s } -// SetPrincipals sets the Principals field's value. -func (s *ListPrincipalsOutput) SetPrincipals(v []*Principal) *ListPrincipalsOutput { - s.Principals = v +// SetPermissions sets the Permissions field's value. +func (s *ListResourceSharePermissionsOutput) SetPermissions(v []*ResourceSharePermissionSummary) *ListResourceSharePermissionsOutput { + s.Permissions = v return s } @@ -3354,8 +4400,9 @@ type ListResourcesInput struct { // The resource type. // - // Valid values: route53resolver:ResolverRule | ec2:TransitGateway | ec2:Subnet - // | license-manager:LicenseConfiguration + // Valid values: ec2:CapacityReservation | ec2:Subnet | ec2:TrafficMirrorTarget + // | ec2:TransitGateway | license-manager:LicenseConfiguration | rds:Cluster + // | route53resolver:ResolverRule | resource-groups:Group ResourceType *string `locationName:"resourceType" type:"string"` } @@ -3521,6 +4568,67 @@ func (s *Principal) SetResourceShareArn(v string) *Principal { return s } +type PromoteResourceShareCreatedFromPolicyInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource share to promote. + // + // ResourceShareArn is a required field + ResourceShareArn *string `location:"querystring" locationName:"resourceShareArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s PromoteResourceShareCreatedFromPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PromoteResourceShareCreatedFromPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PromoteResourceShareCreatedFromPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PromoteResourceShareCreatedFromPolicyInput"} + if s.ResourceShareArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceShareArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceShareArn sets the ResourceShareArn field's value. +func (s *PromoteResourceShareCreatedFromPolicyInput) SetResourceShareArn(v string) *PromoteResourceShareCreatedFromPolicyInput { + s.ResourceShareArn = &v + return s +} + +type PromoteResourceShareCreatedFromPolicyOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether the request succeeded. + ReturnValue *bool `locationName:"returnValue" type:"boolean"` +} + +// String returns the string representation +func (s PromoteResourceShareCreatedFromPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PromoteResourceShareCreatedFromPolicyOutput) GoString() string { + return s.String() +} + +// SetReturnValue sets the ReturnValue field's value. +func (s *PromoteResourceShareCreatedFromPolicyOutput) SetReturnValue(v bool) *PromoteResourceShareCreatedFromPolicyOutput { + s.ReturnValue = &v + return s +} + type RejectResourceShareInvitationInput struct { _ struct{} `type:"structure"` @@ -3615,6 +4723,10 @@ type Resource struct { // The time when the association was last updated. LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"` + // The ARN of the resource group. This value is returned only if the resource + // is a resource group. + ResourceGroupArn *string `locationName:"resourceGroupArn" type:"string"` + // The Amazon Resource Name (ARN) of the resource share. ResourceShareArn *string `locationName:"resourceShareArn" type:"string"` @@ -3656,6 +4768,12 @@ func (s *Resource) SetLastUpdatedTime(v time.Time) *Resource { return s } +// SetResourceGroupArn sets the ResourceGroupArn field's value. +func (s *Resource) SetResourceGroupArn(v string) *Resource { + s.ResourceGroupArn = &v + return s +} + // SetResourceShareArn sets the ResourceShareArn field's value. func (s *Resource) SetResourceShareArn(v string) *Resource { s.ResourceShareArn = &v @@ -3691,6 +4809,21 @@ type ResourceShare struct { // The time when the resource share was created. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + // Indicates how the resource share was created. Possible values include: + // + // * CREATED_FROM_POLICY - Indicates that the resource share was created + // from an AWS Identity and Access Management (AWS IAM) policy attached to + // a resource. These resource shares are visible only to the AWS account + // that created it. They cannot be modified in AWS RAM. + // + // * PROMOTING_TO_STANDARD - The resource share is in the process of being + // promoted. For more information, see PromoteResourceShareCreatedFromPolicy. + // + // * STANDARD - Indicates that the resource share was created in AWS RAM + // using the console or APIs. These resource shares are visible to all principals. + // They can be modified in AWS RAM. + FeatureSet *string `locationName:"featureSet" type:"string" enum:"ResourceShareFeatureSet"` + // The time when the resource share was last updated. LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"` @@ -3735,6 +4868,12 @@ func (s *ResourceShare) SetCreationTime(v time.Time) *ResourceShare { return s } +// SetFeatureSet sets the FeatureSet field's value. +func (s *ResourceShare) SetFeatureSet(v string) *ResourceShare { + s.FeatureSet = &v + return s +} + // SetLastUpdatedTime sets the LastUpdatedTime field's value. func (s *ResourceShare) SetLastUpdatedTime(v time.Time) *ResourceShare { s.LastUpdatedTime = &v @@ -3966,6 +5105,184 @@ func (s *ResourceShareInvitation) SetStatus(v string) *ResourceShareInvitation { return s } +// Information about an AWS RAM permission. +type ResourceSharePermissionDetail struct { + _ struct{} `type:"structure"` + + // The ARN of the permission. + Arn *string `locationName:"arn" type:"string"` + + // The date and time when the permission was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The identifier for the version of the permission that is set as the default + // version. + DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"` + + // The date and time when the permission was last updated. + LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"` + + // The name of the permission. + Name *string `locationName:"name" type:"string"` + + // The permission's effect and actions in JSON format. The effect indicates + // whether the actions are allowed or denied. The actions list the API actions + // to which the principal is granted or denied access. + Permission *string `locationName:"permission" type:"string"` + + // The resource type to which the permission applies. + ResourceType *string `locationName:"resourceType" type:"string"` + + // The identifier for the version of the permission. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s ResourceSharePermissionDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceSharePermissionDetail) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ResourceSharePermissionDetail) SetArn(v string) *ResourceSharePermissionDetail { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ResourceSharePermissionDetail) SetCreationTime(v time.Time) *ResourceSharePermissionDetail { + s.CreationTime = &v + return s +} + +// SetDefaultVersion sets the DefaultVersion field's value. +func (s *ResourceSharePermissionDetail) SetDefaultVersion(v bool) *ResourceSharePermissionDetail { + s.DefaultVersion = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *ResourceSharePermissionDetail) SetLastUpdatedTime(v time.Time) *ResourceSharePermissionDetail { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *ResourceSharePermissionDetail) SetName(v string) *ResourceSharePermissionDetail { + s.Name = &v + return s +} + +// SetPermission sets the Permission field's value. +func (s *ResourceSharePermissionDetail) SetPermission(v string) *ResourceSharePermissionDetail { + s.Permission = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResourceSharePermissionDetail) SetResourceType(v string) *ResourceSharePermissionDetail { + s.ResourceType = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *ResourceSharePermissionDetail) SetVersion(v string) *ResourceSharePermissionDetail { + s.Version = &v + return s +} + +// Information about a permission that is associated with a resource share. +type ResourceSharePermissionSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the permission. + Arn *string `locationName:"arn" type:"string"` + + // The date and time when the permission was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The identifier for the version of the permission that is set as the default + // version. + DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"` + + // The date and time when the permission was last updated. + LastUpdatedTime *time.Time `locationName:"lastUpdatedTime" type:"timestamp"` + + // The name of the permission. + Name *string `locationName:"name" type:"string"` + + // The type of resource to which the permission applies. + ResourceType *string `locationName:"resourceType" type:"string"` + + // The current status of the permission. + Status *string `locationName:"status" type:"string"` + + // The identifier for the version of the permission. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s ResourceSharePermissionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceSharePermissionSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ResourceSharePermissionSummary) SetArn(v string) *ResourceSharePermissionSummary { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ResourceSharePermissionSummary) SetCreationTime(v time.Time) *ResourceSharePermissionSummary { + s.CreationTime = &v + return s +} + +// SetDefaultVersion sets the DefaultVersion field's value. +func (s *ResourceSharePermissionSummary) SetDefaultVersion(v bool) *ResourceSharePermissionSummary { + s.DefaultVersion = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *ResourceSharePermissionSummary) SetLastUpdatedTime(v time.Time) *ResourceSharePermissionSummary { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *ResourceSharePermissionSummary) SetName(v string) *ResourceSharePermissionSummary { + s.Name = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResourceSharePermissionSummary) SetResourceType(v string) *ResourceSharePermissionSummary { + s.ResourceType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResourceSharePermissionSummary) SetStatus(v string) *ResourceSharePermissionSummary { + s.Status = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *ResourceSharePermissionSummary) SetVersion(v string) *ResourceSharePermissionSummary { + s.Version = &v + return s +} + // Information about a tag. type Tag struct { _ struct{} `type:"structure"` @@ -4297,6 +5614,17 @@ const ( ResourceShareAssociationTypeResource = "RESOURCE" ) +const ( + // ResourceShareFeatureSetCreatedFromPolicy is a ResourceShareFeatureSet enum value + ResourceShareFeatureSetCreatedFromPolicy = "CREATED_FROM_POLICY" + + // ResourceShareFeatureSetPromotingToStandard is a ResourceShareFeatureSet enum value + ResourceShareFeatureSetPromotingToStandard = "PROMOTING_TO_STANDARD" + + // ResourceShareFeatureSetStandard is a ResourceShareFeatureSet enum value + ResourceShareFeatureSetStandard = "STANDARD" +) + const ( // ResourceShareInvitationStatusPending is a ResourceShareInvitationStatus enum value ResourceShareInvitationStatusPending = "PENDING" diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go index 56c6fdb8e9ce..5488aa1db051 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go @@ -8861,6 +8861,12 @@ func (c *RDS) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParamet // or the DescribeDBClusterParameters action to verify that your DB cluster // parameter group has been created or modified. // +// If the modified DB cluster parameter group is used by an Aurora Serverless +// cluster, Aurora applies the update immediately. The cluster restart might +// interrupt your workload. In that case, your application must reopen any connections +// and retry any transactions that were active when the parameter changes took +// effect. +// // This action only applies to Aurora DB clusters. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -12818,7 +12824,7 @@ type ApplyPendingMaintenanceActionInput struct { // The pending maintenance action to apply to this resource. // - // Valid values: system-update, db-upgrade, hardware-maintenance + // Valid values: system-update, db-upgrade, hardware-maintenance, ca-certificate-rotation // // ApplyAction is a required field ApplyAction *string `type:"string" required:"true"` @@ -14382,6 +14388,9 @@ type CreateDBClusterEndpointInput struct { // List of DB instance identifiers that are part of the custom endpoint group. StaticMembers []*string `type:"list"` + + // The tags to be assigned to the Amazon RDS resource. + Tags []*Tag `locationNameList:"Tag" type:"list"` } // String returns the string representation @@ -14443,6 +14452,12 @@ func (s *CreateDBClusterEndpointInput) SetStaticMembers(v []*string) *CreateDBCl return s } +// SetTags sets the Tags field's value. +func (s *CreateDBClusterEndpointInput) SetTags(v []*Tag) *CreateDBClusterEndpointInput { + s.Tags = v + return s +} + // This data type represents the information you need to connect to an Amazon // Aurora DB cluster. This data type is used as a response element in the following // actions: @@ -15739,8 +15754,10 @@ type CreateDBInstanceInput struct { // values, see Amazon RDS Provisioned IOPS Storage to Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) // in the Amazon RDS User Guide. // - // Constraints: Must be a multiple between 1 and 50 of the storage amount for - // the DB instance. + // Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must + // be a multiple between .5 and 50 of the storage amount for the DB instance. + // For SQL Server DB instances, must be a multiple between 1 and 50 of the storage + // amount for the DB instance. Iops *int64 `type:"integer"` // The AWS KMS key identifier for an encrypted DB instance. @@ -31495,7 +31512,7 @@ type PendingMaintenanceAction struct { _ struct{} `type:"structure"` // The type of pending maintenance action that is available for the resource. - // Valid actions are system-update, db-upgrade, and hardware-maintenance. + // Valid actions are system-update, db-upgrade, hardware-maintenance, and ca-certificate-rotation. Action *string `type:"string"` // The date of the maintenance window when the action is applied. The maintenance diff --git a/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go b/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go index ebb79a96e029..f57384394295 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go @@ -1600,6 +1600,102 @@ func (c *Redshift) CreateHsmConfigurationWithContext(ctx aws.Context, input *Cre return out, req.Send() } +const opCreateScheduledAction = "CreateScheduledAction" + +// CreateScheduledActionRequest generates a "aws/request.Request" representing the +// client's request for the CreateScheduledAction 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 CreateScheduledAction for more information on using the CreateScheduledAction +// 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 CreateScheduledActionRequest method. +// req, resp := client.CreateScheduledActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateScheduledAction +func (c *Redshift) CreateScheduledActionRequest(input *CreateScheduledActionInput) (req *request.Request, output *CreateScheduledActionOutput) { + op := &request.Operation{ + Name: opCreateScheduledAction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateScheduledActionInput{} + } + + output = &CreateScheduledActionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateScheduledAction API operation for Amazon Redshift. +// +// Creates a scheduled action. A scheduled action contains a schedule and an +// Amazon Redshift API action. For example, you can create a schedule of when +// to run the ResizeCluster API operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Redshift's +// API operation CreateScheduledAction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeScheduledActionAlreadyExistsFault "ScheduledActionAlreadyExists" +// The scheduled action already exists. +// +// * ErrCodeScheduledActionQuotaExceededFault "ScheduledActionQuotaExceeded" +// The quota for scheduled actions exceeded. +// +// * ErrCodeScheduledActionTypeUnsupportedFault "ScheduledActionTypeUnsupported" +// The action type specified for a scheduled action is not supported. +// +// * ErrCodeInvalidScheduleFault "InvalidSchedule" +// The schedule you submitted isn't valid. +// +// * ErrCodeInvalidScheduledActionFault "InvalidScheduledAction" +// The scheduled action is not valid. +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Your account is not authorized to perform the requested operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateScheduledAction +func (c *Redshift) CreateScheduledAction(input *CreateScheduledActionInput) (*CreateScheduledActionOutput, error) { + req, out := c.CreateScheduledActionRequest(input) + return out, req.Send() +} + +// CreateScheduledActionWithContext is the same as CreateScheduledAction with the addition of +// the ability to pass a context and additional request options. +// +// See CreateScheduledAction 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 *Redshift) CreateScheduledActionWithContext(ctx aws.Context, input *CreateScheduledActionInput, opts ...request.Option) (*CreateScheduledActionOutput, error) { + req, out := c.CreateScheduledActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateSnapshotCopyGrant = "CreateSnapshotCopyGrant" // CreateSnapshotCopyGrantRequest generates a "aws/request.Request" representing the @@ -2605,6 +2701,89 @@ func (c *Redshift) DeleteHsmConfigurationWithContext(ctx aws.Context, input *Del return out, req.Send() } +const opDeleteScheduledAction = "DeleteScheduledAction" + +// DeleteScheduledActionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteScheduledAction 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 DeleteScheduledAction for more information on using the DeleteScheduledAction +// 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 DeleteScheduledActionRequest method. +// req, resp := client.DeleteScheduledActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteScheduledAction +func (c *Redshift) DeleteScheduledActionRequest(input *DeleteScheduledActionInput) (req *request.Request, output *DeleteScheduledActionOutput) { + op := &request.Operation{ + Name: opDeleteScheduledAction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteScheduledActionInput{} + } + + output = &DeleteScheduledActionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteScheduledAction API operation for Amazon Redshift. +// +// Deletes a scheduled action. +// +// 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 Redshift's +// API operation DeleteScheduledAction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeScheduledActionNotFoundFault "ScheduledActionNotFound" +// The scheduled action cannot be found. +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Your account is not authorized to perform the requested operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteScheduledAction +func (c *Redshift) DeleteScheduledAction(input *DeleteScheduledActionInput) (*DeleteScheduledActionOutput, error) { + req, out := c.DeleteScheduledActionRequest(input) + return out, req.Send() +} + +// DeleteScheduledActionWithContext is the same as DeleteScheduledAction with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteScheduledAction 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 *Redshift) DeleteScheduledActionWithContext(ctx aws.Context, input *DeleteScheduledActionInput, opts ...request.Option) (*DeleteScheduledActionOutput, error) { + req, out := c.DeleteScheduledActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteSnapshotCopyGrant = "DeleteSnapshotCopyGrant" // DeleteSnapshotCopyGrantRequest generates a "aws/request.Request" representing the @@ -5109,6 +5288,13 @@ func (c *Redshift) DescribeNodeConfigurationOptionsRequest(input *DescribeNodeCo // The specified cluster snapshot is not in the available state, or other accounts // are authorized to access the snapshot. // +// * ErrCodeClusterNotFoundFault "ClusterNotFound" +// The ClusterIdentifier parameter does not refer to an existing cluster. +// +// * ErrCodeAccessToSnapshotDeniedFault "AccessToSnapshotDenied" +// The owner of the specified snapshot has not authorized your account to access +// the snapshot. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeNodeConfigurationOptions func (c *Redshift) DescribeNodeConfigurationOptions(input *DescribeNodeConfigurationOptionsInput) (*DescribeNodeConfigurationOptionsOutput, error) { req, out := c.DescribeNodeConfigurationOptionsRequest(input) @@ -5705,6 +5891,146 @@ func (c *Redshift) DescribeResizeWithContext(ctx aws.Context, input *DescribeRes return out, req.Send() } +const opDescribeScheduledActions = "DescribeScheduledActions" + +// DescribeScheduledActionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeScheduledActions 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 DescribeScheduledActions for more information on using the DescribeScheduledActions +// 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 DescribeScheduledActionsRequest method. +// req, resp := client.DescribeScheduledActionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeScheduledActions +func (c *Redshift) DescribeScheduledActionsRequest(input *DescribeScheduledActionsInput) (req *request.Request, output *DescribeScheduledActionsOutput) { + op := &request.Operation{ + Name: opDescribeScheduledActions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeScheduledActionsInput{} + } + + output = &DescribeScheduledActionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeScheduledActions API operation for Amazon Redshift. +// +// Describes properties of scheduled actions. +// +// 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 Redshift's +// API operation DescribeScheduledActions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeScheduledActionNotFoundFault "ScheduledActionNotFound" +// The scheduled action cannot be found. +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Your account is not authorized to perform the requested operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeScheduledActions +func (c *Redshift) DescribeScheduledActions(input *DescribeScheduledActionsInput) (*DescribeScheduledActionsOutput, error) { + req, out := c.DescribeScheduledActionsRequest(input) + return out, req.Send() +} + +// DescribeScheduledActionsWithContext is the same as DescribeScheduledActions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeScheduledActions 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 *Redshift) DescribeScheduledActionsWithContext(ctx aws.Context, input *DescribeScheduledActionsInput, opts ...request.Option) (*DescribeScheduledActionsOutput, error) { + req, out := c.DescribeScheduledActionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeScheduledActionsPages iterates over the pages of a DescribeScheduledActions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeScheduledActions 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 DescribeScheduledActions operation. +// pageNum := 0 +// err := client.DescribeScheduledActionsPages(params, +// func(page *redshift.DescribeScheduledActionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Redshift) DescribeScheduledActionsPages(input *DescribeScheduledActionsInput, fn func(*DescribeScheduledActionsOutput, bool) bool) error { + return c.DescribeScheduledActionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeScheduledActionsPagesWithContext same as DescribeScheduledActionsPages 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 *Redshift) DescribeScheduledActionsPagesWithContext(ctx aws.Context, input *DescribeScheduledActionsInput, fn func(*DescribeScheduledActionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeScheduledActionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeScheduledActionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeScheduledActionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeSnapshotCopyGrants = "DescribeSnapshotCopyGrants" // DescribeSnapshotCopyGrantsRequest generates a "aws/request.Request" representing the @@ -7592,57 +7918,148 @@ func (c *Redshift) ModifyEventSubscriptionWithContext(ctx aws.Context, input *Mo return out, req.Send() } -const opModifySnapshotCopyRetentionPeriod = "ModifySnapshotCopyRetentionPeriod" +const opModifyScheduledAction = "ModifyScheduledAction" -// ModifySnapshotCopyRetentionPeriodRequest generates a "aws/request.Request" representing the -// client's request for the ModifySnapshotCopyRetentionPeriod operation. The "output" return +// ModifyScheduledActionRequest generates a "aws/request.Request" representing the +// client's request for the ModifyScheduledAction 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 ModifySnapshotCopyRetentionPeriod for more information on using the ModifySnapshotCopyRetentionPeriod +// See ModifyScheduledAction for more information on using the ModifyScheduledAction // 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 ModifySnapshotCopyRetentionPeriodRequest method. -// req, resp := client.ModifySnapshotCopyRetentionPeriodRequest(params) +// // Example sending a request using the ModifyScheduledActionRequest method. +// req, resp := client.ModifyScheduledActionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotCopyRetentionPeriod -func (c *Redshift) ModifySnapshotCopyRetentionPeriodRequest(input *ModifySnapshotCopyRetentionPeriodInput) (req *request.Request, output *ModifySnapshotCopyRetentionPeriodOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyScheduledAction +func (c *Redshift) ModifyScheduledActionRequest(input *ModifyScheduledActionInput) (req *request.Request, output *ModifyScheduledActionOutput) { op := &request.Operation{ - Name: opModifySnapshotCopyRetentionPeriod, + Name: opModifyScheduledAction, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ModifySnapshotCopyRetentionPeriodInput{} + input = &ModifyScheduledActionInput{} } - output = &ModifySnapshotCopyRetentionPeriodOutput{} + output = &ModifyScheduledActionOutput{} req = c.newRequest(op, input, output) return } -// ModifySnapshotCopyRetentionPeriod API operation for Amazon Redshift. +// ModifyScheduledAction API operation for Amazon Redshift. // -// Modifies the number of days to retain snapshots in the destination AWS Region -// after they are copied from the source AWS Region. By default, this operation -// only changes the retention period of copied automated snapshots. The retention -// periods for both new and existing copied automated snapshots are updated -// with the new retention period. You can set the manual option to change only -// the retention periods of copied manual snapshots. If you set this option, -// only newly copied manual snapshots have the new retention period. +// Modify a scheduled action. +// +// 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 Redshift's +// API operation ModifyScheduledAction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeScheduledActionNotFoundFault "ScheduledActionNotFound" +// The scheduled action cannot be found. +// +// * ErrCodeScheduledActionTypeUnsupportedFault "ScheduledActionTypeUnsupported" +// The action type specified for a scheduled action is not supported. +// +// * ErrCodeInvalidScheduleFault "InvalidSchedule" +// The schedule you submitted isn't valid. +// +// * ErrCodeInvalidScheduledActionFault "InvalidScheduledAction" +// The scheduled action is not valid. +// +// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" +// Your account is not authorized to perform the requested operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyScheduledAction +func (c *Redshift) ModifyScheduledAction(input *ModifyScheduledActionInput) (*ModifyScheduledActionOutput, error) { + req, out := c.ModifyScheduledActionRequest(input) + return out, req.Send() +} + +// ModifyScheduledActionWithContext is the same as ModifyScheduledAction with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyScheduledAction 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 *Redshift) ModifyScheduledActionWithContext(ctx aws.Context, input *ModifyScheduledActionInput, opts ...request.Option) (*ModifyScheduledActionOutput, error) { + req, out := c.ModifyScheduledActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opModifySnapshotCopyRetentionPeriod = "ModifySnapshotCopyRetentionPeriod" + +// ModifySnapshotCopyRetentionPeriodRequest generates a "aws/request.Request" representing the +// client's request for the ModifySnapshotCopyRetentionPeriod 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 ModifySnapshotCopyRetentionPeriod for more information on using the ModifySnapshotCopyRetentionPeriod +// 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 ModifySnapshotCopyRetentionPeriodRequest method. +// req, resp := client.ModifySnapshotCopyRetentionPeriodRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotCopyRetentionPeriod +func (c *Redshift) ModifySnapshotCopyRetentionPeriodRequest(input *ModifySnapshotCopyRetentionPeriodInput) (req *request.Request, output *ModifySnapshotCopyRetentionPeriodOutput) { + op := &request.Operation{ + Name: opModifySnapshotCopyRetentionPeriod, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifySnapshotCopyRetentionPeriodInput{} + } + + output = &ModifySnapshotCopyRetentionPeriodOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifySnapshotCopyRetentionPeriod API operation for Amazon Redshift. +// +// Modifies the number of days to retain snapshots in the destination AWS Region +// after they are copied from the source AWS Region. By default, this operation +// only changes the retention period of copied automated snapshots. The retention +// periods for both new and existing copied automated snapshots are updated +// with the new retention period. You can set the manual option to change only +// the retention periods of copied manual snapshots. If you set this option, +// only newly copied manual snapshots have the new retention period. // // 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 @@ -12128,6 +12545,250 @@ func (s *CreateHsmConfigurationOutput) SetHsmConfiguration(v *HsmConfiguration) return s } +type CreateScheduledActionInput struct { + _ struct{} `type:"structure"` + + // If true, the schedule is enabled. If false, the scheduled action does not + // trigger. For more information about state of the scheduled action, see ScheduledAction. + Enable *bool `type:"boolean"` + + // The end time in UTC of the scheduled action. After this time, the scheduled + // action does not trigger. For more information about this parameter, see ScheduledAction. + EndTime *time.Time `type:"timestamp"` + + // The IAM role to assume to run the target action. For more information about + // this parameter, see ScheduledAction. + // + // IamRole is a required field + IamRole *string `type:"string" required:"true"` + + // The schedule in at( ) or cron( ) format. For more information about this + // parameter, see ScheduledAction. + // + // Schedule is a required field + Schedule *string `type:"string" required:"true"` + + // The description of the scheduled action. + ScheduledActionDescription *string `type:"string"` + + // The name of the scheduled action. The name must be unique within an account. + // For more information about this parameter, see ScheduledAction. + // + // ScheduledActionName is a required field + ScheduledActionName *string `type:"string" required:"true"` + + // The start time in UTC of the scheduled action. Before this time, the scheduled + // action does not trigger. For more information about this parameter, see ScheduledAction. + StartTime *time.Time `type:"timestamp"` + + // A JSON format string of the Amazon Redshift API operation with input parameters. + // For more information about this parameter, see ScheduledAction. + // + // TargetAction is a required field + TargetAction *ScheduledActionType `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateScheduledActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateScheduledActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateScheduledActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateScheduledActionInput"} + if s.IamRole == nil { + invalidParams.Add(request.NewErrParamRequired("IamRole")) + } + if s.Schedule == nil { + invalidParams.Add(request.NewErrParamRequired("Schedule")) + } + if s.ScheduledActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) + } + if s.TargetAction == nil { + invalidParams.Add(request.NewErrParamRequired("TargetAction")) + } + if s.TargetAction != nil { + if err := s.TargetAction.Validate(); err != nil { + invalidParams.AddNested("TargetAction", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnable sets the Enable field's value. +func (s *CreateScheduledActionInput) SetEnable(v bool) *CreateScheduledActionInput { + s.Enable = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *CreateScheduledActionInput) SetEndTime(v time.Time) *CreateScheduledActionInput { + s.EndTime = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *CreateScheduledActionInput) SetIamRole(v string) *CreateScheduledActionInput { + s.IamRole = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *CreateScheduledActionInput) SetSchedule(v string) *CreateScheduledActionInput { + s.Schedule = &v + return s +} + +// SetScheduledActionDescription sets the ScheduledActionDescription field's value. +func (s *CreateScheduledActionInput) SetScheduledActionDescription(v string) *CreateScheduledActionInput { + s.ScheduledActionDescription = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *CreateScheduledActionInput) SetScheduledActionName(v string) *CreateScheduledActionInput { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *CreateScheduledActionInput) SetStartTime(v time.Time) *CreateScheduledActionInput { + s.StartTime = &v + return s +} + +// SetTargetAction sets the TargetAction field's value. +func (s *CreateScheduledActionInput) SetTargetAction(v *ScheduledActionType) *CreateScheduledActionInput { + s.TargetAction = v + return s +} + +// Describes a scheduled action. You can use a scheduled action to trigger some +// Amazon Redshift API operations on a schedule. For information about which +// API operations can be scheduled, see ScheduledActionType. +type CreateScheduledActionOutput struct { + _ struct{} `type:"structure"` + + // The end time in UTC when the schedule is no longer active. After this time, + // the scheduled action does not trigger. + EndTime *time.Time `type:"timestamp"` + + // The IAM role to assume to run the scheduled action. This IAM role must have + // permission to run the Amazon Redshift API operation in the scheduled action. + // This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) + // to assume permissions on your behalf. For more information about the IAM + // role to use with the Amazon Redshift scheduler, see Using Identity-Based + // Policies for Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) + // in the Amazon Redshift Cluster Management Guide. + IamRole *string `type:"string"` + + // List of times when the scheduled action will run. + NextInvocations []*time.Time `locationNameList:"ScheduledActionTime" type:"list"` + + // The schedule for a one-time (at format) or recurring (cron format) scheduled + // action. Schedule invocations must be separated by at least one hour. + // + // Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, "at(2016-03-04T17:27:00)". + // + // Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week + // Year)". For example, "cron(0, 10, *, *, MON, *)". For more information, see + // Cron Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch Events User Guide. + Schedule *string `type:"string"` + + // The description of the scheduled action. + ScheduledActionDescription *string `type:"string"` + + // The name of the scheduled action. + ScheduledActionName *string `type:"string"` + + // The start time in UTC when the schedule is active. Before this time, the + // scheduled action does not trigger. + StartTime *time.Time `type:"timestamp"` + + // The state of the scheduled action. For example, DISABLED. + State *string `type:"string" enum:"ScheduledActionState"` + + // A JSON format string of the Amazon Redshift API operation with input parameters. + // + // "{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}". + TargetAction *ScheduledActionType `type:"structure"` +} + +// String returns the string representation +func (s CreateScheduledActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateScheduledActionOutput) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *CreateScheduledActionOutput) SetEndTime(v time.Time) *CreateScheduledActionOutput { + s.EndTime = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *CreateScheduledActionOutput) SetIamRole(v string) *CreateScheduledActionOutput { + s.IamRole = &v + return s +} + +// SetNextInvocations sets the NextInvocations field's value. +func (s *CreateScheduledActionOutput) SetNextInvocations(v []*time.Time) *CreateScheduledActionOutput { + s.NextInvocations = v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *CreateScheduledActionOutput) SetSchedule(v string) *CreateScheduledActionOutput { + s.Schedule = &v + return s +} + +// SetScheduledActionDescription sets the ScheduledActionDescription field's value. +func (s *CreateScheduledActionOutput) SetScheduledActionDescription(v string) *CreateScheduledActionOutput { + s.ScheduledActionDescription = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *CreateScheduledActionOutput) SetScheduledActionName(v string) *CreateScheduledActionOutput { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *CreateScheduledActionOutput) SetStartTime(v time.Time) *CreateScheduledActionOutput { + s.StartTime = &v + return s +} + +// SetState sets the State field's value. +func (s *CreateScheduledActionOutput) SetState(v string) *CreateScheduledActionOutput { + s.State = &v + return s +} + +// SetTargetAction sets the TargetAction field's value. +func (s *CreateScheduledActionOutput) SetTargetAction(v *ScheduledActionType) *CreateScheduledActionOutput { + s.TargetAction = v + return s +} + // The result of the CreateSnapshotCopyGrant action. type CreateSnapshotCopyGrantInput struct { _ struct{} `type:"structure"` @@ -13176,6 +13837,58 @@ func (s DeleteHsmConfigurationOutput) GoString() string { return s.String() } +type DeleteScheduledActionInput struct { + _ struct{} `type:"structure"` + + // The name of the scheduled action to delete. + // + // ScheduledActionName is a required field + ScheduledActionName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteScheduledActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteScheduledActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteScheduledActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteScheduledActionInput"} + if s.ScheduledActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *DeleteScheduledActionInput) SetScheduledActionName(v string) *DeleteScheduledActionInput { + s.ScheduledActionName = &v + return s +} + +type DeleteScheduledActionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteScheduledActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteScheduledActionOutput) GoString() string { + return s.String() +} + // The result of the DeleteSnapshotCopyGrant action. type DeleteSnapshotCopyGrantInput struct { _ struct{} `type:"structure"` @@ -15217,12 +15930,17 @@ func (s *DescribeLoggingStatusInput) SetClusterIdentifier(v string) *DescribeLog type DescribeNodeConfigurationOptionsInput struct { _ struct{} `type:"structure"` - // The action type to evaluate for possible node configurations. Currently, - // it must be "restore-cluster". + // The action type to evaluate for possible node configurations. Specify "restore-cluster" + // to get configuration combinations based on an existing snapshot. Specify + // "recommend-node-config" to get configuration recommendations based on an + // existing cluster or snapshot. // // ActionType is a required field ActionType *string `type:"string" required:"true" enum:"ActionType"` + // The identifier of the cluster to evaluate for possible node configurations. + ClusterIdentifier *string `type:"string"` + // A set of name, operator, and value items to filter the results. Filters []*NodeConfigurationOptionsFilter `locationName:"Filter" locationNameList:"NodeConfigurationOptionsFilter" type:"list"` @@ -15281,6 +15999,12 @@ func (s *DescribeNodeConfigurationOptionsInput) SetActionType(v string) *Describ return s } +// SetClusterIdentifier sets the ClusterIdentifier field's value. +func (s *DescribeNodeConfigurationOptionsInput) SetClusterIdentifier(v string) *DescribeNodeConfigurationOptionsInput { + s.ClusterIdentifier = &v + return s +} + // SetFilters sets the Filters field's value. func (s *DescribeNodeConfigurationOptionsInput) SetFilters(v []*NodeConfigurationOptionsFilter) *DescribeNodeConfigurationOptionsInput { s.Filters = v @@ -15858,8 +16582,166 @@ func (s *DescribeResizeOutput) SetTotalResizeDataInMegaBytes(v int64) *DescribeR return s } -// The result of the DescribeSnapshotCopyGrants action. -type DescribeSnapshotCopyGrantsInput struct { +type DescribeScheduledActionsInput struct { + _ struct{} `type:"structure"` + + // If true, retrieve only active scheduled actions. If false, retrieve only + // disabled scheduled actions. + Active *bool `type:"boolean"` + + // The end time in UTC of the scheduled action to retrieve. Only active scheduled + // actions that have invocations before this time are retrieved. + EndTime *time.Time `type:"timestamp"` + + // List of scheduled action filters. + Filters []*ScheduledActionFilter `locationNameList:"ScheduledActionFilter" type:"list"` + + // An optional parameter that specifies the starting point to return a set of + // response records. When the results of a DescribeScheduledActions request + // exceed the value specified in MaxRecords, AWS returns a value in the Marker + // field of the response. You can retrieve the next set of response records + // by providing the returned marker value in the Marker parameter and retrying + // the request. + Marker *string `type:"string"` + + // The maximum number of response records to return in each call. If the number + // of remaining response records exceeds the specified MaxRecords value, a value + // is returned in a marker field of the response. You can retrieve the next + // set of records by retrying the command with the returned marker value. + // + // Default: 100 + // + // Constraints: minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` + + // The name of the scheduled action to retrieve. + ScheduledActionName *string `type:"string"` + + // The start time in UTC of the scheduled actions to retrieve. Only active scheduled + // actions that have invocations after this time are retrieved. + StartTime *time.Time `type:"timestamp"` + + // The type of the scheduled actions to retrieve. + TargetActionType *string `type:"string" enum:"ScheduledActionTypeValues"` +} + +// String returns the string representation +func (s DescribeScheduledActionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScheduledActionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeScheduledActionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledActionsInput"} + 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 +} + +// SetActive sets the Active field's value. +func (s *DescribeScheduledActionsInput) SetActive(v bool) *DescribeScheduledActionsInput { + s.Active = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *DescribeScheduledActionsInput) SetEndTime(v time.Time) *DescribeScheduledActionsInput { + s.EndTime = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeScheduledActionsInput) SetFilters(v []*ScheduledActionFilter) *DescribeScheduledActionsInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeScheduledActionsInput) SetMarker(v string) *DescribeScheduledActionsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeScheduledActionsInput) SetMaxRecords(v int64) *DescribeScheduledActionsInput { + s.MaxRecords = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *DescribeScheduledActionsInput) SetScheduledActionName(v string) *DescribeScheduledActionsInput { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *DescribeScheduledActionsInput) SetStartTime(v time.Time) *DescribeScheduledActionsInput { + s.StartTime = &v + return s +} + +// SetTargetActionType sets the TargetActionType field's value. +func (s *DescribeScheduledActionsInput) SetTargetActionType(v string) *DescribeScheduledActionsInput { + s.TargetActionType = &v + return s +} + +type DescribeScheduledActionsOutput struct { + _ struct{} `type:"structure"` + + // An optional parameter that specifies the starting point to return a set of + // response records. When the results of a DescribeScheduledActions request + // exceed the value specified in MaxRecords, AWS returns a value in the Marker + // field of the response. You can retrieve the next set of response records + // by providing the returned marker value in the Marker parameter and retrying + // the request. + Marker *string `type:"string"` + + // List of retrieved scheduled actions. + ScheduledActions []*ScheduledAction `locationNameList:"ScheduledAction" type:"list"` +} + +// String returns the string representation +func (s DescribeScheduledActionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScheduledActionsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribeScheduledActionsOutput) SetMarker(v string) *DescribeScheduledActionsOutput { + s.Marker = &v + return s +} + +// SetScheduledActions sets the ScheduledActions field's value. +func (s *DescribeScheduledActionsOutput) SetScheduledActions(v []*ScheduledAction) *DescribeScheduledActionsOutput { + s.ScheduledActions = v + return s +} + +// The result of the DescribeSnapshotCopyGrants action. +type DescribeSnapshotCopyGrantsInput struct { _ struct{} `type:"structure"` // An optional parameter that specifies the starting point to return a set of @@ -18824,6 +19706,234 @@ func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscriptio return s } +type ModifyScheduledActionInput struct { + _ struct{} `type:"structure"` + + // A modified enable flag of the scheduled action. If true, the scheduled action + // is active. If false, the scheduled action is disabled. + Enable *bool `type:"boolean"` + + // A modified end time of the scheduled action. For more information about this + // parameter, see ScheduledAction. + EndTime *time.Time `type:"timestamp"` + + // A different IAM role to assume to run the target action. For more information + // about this parameter, see ScheduledAction. + IamRole *string `type:"string"` + + // A modified schedule in either at( ) or cron( ) format. For more information + // about this parameter, see ScheduledAction. + Schedule *string `type:"string"` + + // A modified description of the scheduled action. + ScheduledActionDescription *string `type:"string"` + + // The name of the scheduled action to modify. + // + // ScheduledActionName is a required field + ScheduledActionName *string `type:"string" required:"true"` + + // A modified start time of the scheduled action. For more information about + // this parameter, see ScheduledAction. + StartTime *time.Time `type:"timestamp"` + + // A modified JSON format of the scheduled action. For more information about + // this parameter, see ScheduledAction. + TargetAction *ScheduledActionType `type:"structure"` +} + +// String returns the string representation +func (s ModifyScheduledActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyScheduledActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyScheduledActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyScheduledActionInput"} + if s.ScheduledActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) + } + if s.TargetAction != nil { + if err := s.TargetAction.Validate(); err != nil { + invalidParams.AddNested("TargetAction", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnable sets the Enable field's value. +func (s *ModifyScheduledActionInput) SetEnable(v bool) *ModifyScheduledActionInput { + s.Enable = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *ModifyScheduledActionInput) SetEndTime(v time.Time) *ModifyScheduledActionInput { + s.EndTime = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *ModifyScheduledActionInput) SetIamRole(v string) *ModifyScheduledActionInput { + s.IamRole = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *ModifyScheduledActionInput) SetSchedule(v string) *ModifyScheduledActionInput { + s.Schedule = &v + return s +} + +// SetScheduledActionDescription sets the ScheduledActionDescription field's value. +func (s *ModifyScheduledActionInput) SetScheduledActionDescription(v string) *ModifyScheduledActionInput { + s.ScheduledActionDescription = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *ModifyScheduledActionInput) SetScheduledActionName(v string) *ModifyScheduledActionInput { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ModifyScheduledActionInput) SetStartTime(v time.Time) *ModifyScheduledActionInput { + s.StartTime = &v + return s +} + +// SetTargetAction sets the TargetAction field's value. +func (s *ModifyScheduledActionInput) SetTargetAction(v *ScheduledActionType) *ModifyScheduledActionInput { + s.TargetAction = v + return s +} + +// Describes a scheduled action. You can use a scheduled action to trigger some +// Amazon Redshift API operations on a schedule. For information about which +// API operations can be scheduled, see ScheduledActionType. +type ModifyScheduledActionOutput struct { + _ struct{} `type:"structure"` + + // The end time in UTC when the schedule is no longer active. After this time, + // the scheduled action does not trigger. + EndTime *time.Time `type:"timestamp"` + + // The IAM role to assume to run the scheduled action. This IAM role must have + // permission to run the Amazon Redshift API operation in the scheduled action. + // This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) + // to assume permissions on your behalf. For more information about the IAM + // role to use with the Amazon Redshift scheduler, see Using Identity-Based + // Policies for Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) + // in the Amazon Redshift Cluster Management Guide. + IamRole *string `type:"string"` + + // List of times when the scheduled action will run. + NextInvocations []*time.Time `locationNameList:"ScheduledActionTime" type:"list"` + + // The schedule for a one-time (at format) or recurring (cron format) scheduled + // action. Schedule invocations must be separated by at least one hour. + // + // Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, "at(2016-03-04T17:27:00)". + // + // Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week + // Year)". For example, "cron(0, 10, *, *, MON, *)". For more information, see + // Cron Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch Events User Guide. + Schedule *string `type:"string"` + + // The description of the scheduled action. + ScheduledActionDescription *string `type:"string"` + + // The name of the scheduled action. + ScheduledActionName *string `type:"string"` + + // The start time in UTC when the schedule is active. Before this time, the + // scheduled action does not trigger. + StartTime *time.Time `type:"timestamp"` + + // The state of the scheduled action. For example, DISABLED. + State *string `type:"string" enum:"ScheduledActionState"` + + // A JSON format string of the Amazon Redshift API operation with input parameters. + // + // "{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}". + TargetAction *ScheduledActionType `type:"structure"` +} + +// String returns the string representation +func (s ModifyScheduledActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyScheduledActionOutput) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *ModifyScheduledActionOutput) SetEndTime(v time.Time) *ModifyScheduledActionOutput { + s.EndTime = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *ModifyScheduledActionOutput) SetIamRole(v string) *ModifyScheduledActionOutput { + s.IamRole = &v + return s +} + +// SetNextInvocations sets the NextInvocations field's value. +func (s *ModifyScheduledActionOutput) SetNextInvocations(v []*time.Time) *ModifyScheduledActionOutput { + s.NextInvocations = v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *ModifyScheduledActionOutput) SetSchedule(v string) *ModifyScheduledActionOutput { + s.Schedule = &v + return s +} + +// SetScheduledActionDescription sets the ScheduledActionDescription field's value. +func (s *ModifyScheduledActionOutput) SetScheduledActionDescription(v string) *ModifyScheduledActionOutput { + s.ScheduledActionDescription = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *ModifyScheduledActionOutput) SetScheduledActionName(v string) *ModifyScheduledActionOutput { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ModifyScheduledActionOutput) SetStartTime(v time.Time) *ModifyScheduledActionOutput { + s.StartTime = &v + return s +} + +// SetState sets the State field's value. +func (s *ModifyScheduledActionOutput) SetState(v string) *ModifyScheduledActionOutput { + s.State = &v + return s +} + +// SetTargetAction sets the TargetAction field's value. +func (s *ModifyScheduledActionOutput) SetTargetAction(v *ScheduledActionType) *ModifyScheduledActionOutput { + s.TargetAction = v + return s +} + type ModifySnapshotCopyRetentionPeriodInput struct { _ struct{} `type:"structure"` @@ -19072,6 +20182,9 @@ type NodeConfigurationOption struct { // The estimated disk utilizaton percentage. EstimatedDiskUtilizationPercent *float64 `type:"double"` + // The category of the node configuration recommendation. + Mode *string `type:"string" enum:"Mode"` + // The node type, such as, "ds2.8xlarge". NodeType *string `type:"string"` @@ -19095,6 +20208,12 @@ func (s *NodeConfigurationOption) SetEstimatedDiskUtilizationPercent(v float64) return s } +// SetMode sets the Mode field's value. +func (s *NodeConfigurationOption) SetMode(v string) *NodeConfigurationOption { + s.Mode = &v + return s +} + // SetNodeType sets the NodeType field's value. func (s *NodeConfigurationOption) SetNodeType(v string) *NodeConfigurationOption { s.NodeType = &v @@ -19995,6 +21114,88 @@ func (s *ResizeClusterInput) SetNumberOfNodes(v int64) *ResizeClusterInput { return s } +type ResizeClusterMessage struct { + _ struct{} `type:"structure"` + + // A boolean value indicating whether the resize operation is using the classic + // resize process. If you don't provide this parameter or set the value to false, + // the resize type is elastic. + Classic *bool `type:"boolean"` + + // The unique identifier for the cluster to resize. + // + // ClusterIdentifier is a required field + ClusterIdentifier *string `type:"string" required:"true"` + + // The new cluster type for the specified cluster. + ClusterType *string `type:"string"` + + // The new node type for the nodes you are adding. If not specified, the cluster's + // current node type is used. + NodeType *string `type:"string"` + + // The new number of nodes for the cluster. + // + // NumberOfNodes is a required field + NumberOfNodes *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s ResizeClusterMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResizeClusterMessage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResizeClusterMessage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResizeClusterMessage"} + if s.ClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) + } + if s.NumberOfNodes == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfNodes")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClassic sets the Classic field's value. +func (s *ResizeClusterMessage) SetClassic(v bool) *ResizeClusterMessage { + s.Classic = &v + return s +} + +// SetClusterIdentifier sets the ClusterIdentifier field's value. +func (s *ResizeClusterMessage) SetClusterIdentifier(v string) *ResizeClusterMessage { + s.ClusterIdentifier = &v + return s +} + +// SetClusterType sets the ClusterType field's value. +func (s *ResizeClusterMessage) SetClusterType(v string) *ResizeClusterMessage { + s.ClusterType = &v + return s +} + +// SetNodeType sets the NodeType field's value. +func (s *ResizeClusterMessage) SetNodeType(v string) *ResizeClusterMessage { + s.NodeType = &v + return s +} + +// SetNumberOfNodes sets the NumberOfNodes field's value. +func (s *ResizeClusterMessage) SetNumberOfNodes(v int64) *ResizeClusterMessage { + s.NumberOfNodes = &v + return s +} + type ResizeClusterOutput struct { _ struct{} `type:"structure"` @@ -20458,21 +21659,26 @@ type RestoreStatus struct { _ struct{} `type:"structure"` // The number of megabytes per second being transferred from the backup storage. - // Returns the average rate for a completed backup. + // Returns the average rate for a completed backup. This field is only updated + // when you restore to DC2 and DS2 node types. CurrentRestoreRateInMegaBytesPerSecond *float64 `type:"double"` // The amount of time an in-progress restore has been running, or the amount - // of time it took a completed restore to finish. + // of time it took a completed restore to finish. This field is only updated + // when you restore to DC2 and DS2 node types. ElapsedTimeInSeconds *int64 `type:"long"` // The estimate of the time remaining before the restore will complete. Returns - // 0 for a completed restore. + // 0 for a completed restore. This field is only updated when you restore to + // DC2 and DS2 node types. EstimatedTimeToCompletionInSeconds *int64 `type:"long"` // The number of megabytes that have been transferred from snapshot storage. + // This field is only updated when you restore to DC2 and DS2 node types. ProgressInMegaBytes *int64 `type:"long"` - // The size of the set of snapshot data used to restore the cluster. + // The size of the set of snapshot data used to restore the cluster. This field + // is only updated when you restore to DC2 and DS2 node types. SnapshotSizeInMegaBytes *int64 `type:"long"` // The status of the restore action. Returns starting, restoring, completed, @@ -20965,6 +22171,216 @@ func (s *RotateEncryptionKeyOutput) SetCluster(v *Cluster) *RotateEncryptionKeyO return s } +// Describes a scheduled action. You can use a scheduled action to trigger some +// Amazon Redshift API operations on a schedule. For information about which +// API operations can be scheduled, see ScheduledActionType. +type ScheduledAction struct { + _ struct{} `type:"structure"` + + // The end time in UTC when the schedule is no longer active. After this time, + // the scheduled action does not trigger. + EndTime *time.Time `type:"timestamp"` + + // The IAM role to assume to run the scheduled action. This IAM role must have + // permission to run the Amazon Redshift API operation in the scheduled action. + // This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) + // to assume permissions on your behalf. For more information about the IAM + // role to use with the Amazon Redshift scheduler, see Using Identity-Based + // Policies for Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) + // in the Amazon Redshift Cluster Management Guide. + IamRole *string `type:"string"` + + // List of times when the scheduled action will run. + NextInvocations []*time.Time `locationNameList:"ScheduledActionTime" type:"list"` + + // The schedule for a one-time (at format) or recurring (cron format) scheduled + // action. Schedule invocations must be separated by at least one hour. + // + // Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, "at(2016-03-04T17:27:00)". + // + // Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week + // Year)". For example, "cron(0, 10, *, *, MON, *)". For more information, see + // Cron Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch Events User Guide. + Schedule *string `type:"string"` + + // The description of the scheduled action. + ScheduledActionDescription *string `type:"string"` + + // The name of the scheduled action. + ScheduledActionName *string `type:"string"` + + // The start time in UTC when the schedule is active. Before this time, the + // scheduled action does not trigger. + StartTime *time.Time `type:"timestamp"` + + // The state of the scheduled action. For example, DISABLED. + State *string `type:"string" enum:"ScheduledActionState"` + + // A JSON format string of the Amazon Redshift API operation with input parameters. + // + // "{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}". + TargetAction *ScheduledActionType `type:"structure"` +} + +// String returns the string representation +func (s ScheduledAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduledAction) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *ScheduledAction) SetEndTime(v time.Time) *ScheduledAction { + s.EndTime = &v + return s +} + +// SetIamRole sets the IamRole field's value. +func (s *ScheduledAction) SetIamRole(v string) *ScheduledAction { + s.IamRole = &v + return s +} + +// SetNextInvocations sets the NextInvocations field's value. +func (s *ScheduledAction) SetNextInvocations(v []*time.Time) *ScheduledAction { + s.NextInvocations = v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *ScheduledAction) SetSchedule(v string) *ScheduledAction { + s.Schedule = &v + return s +} + +// SetScheduledActionDescription sets the ScheduledActionDescription field's value. +func (s *ScheduledAction) SetScheduledActionDescription(v string) *ScheduledAction { + s.ScheduledActionDescription = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *ScheduledAction) SetScheduledActionName(v string) *ScheduledAction { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ScheduledAction) SetStartTime(v time.Time) *ScheduledAction { + s.StartTime = &v + return s +} + +// SetState sets the State field's value. +func (s *ScheduledAction) SetState(v string) *ScheduledAction { + s.State = &v + return s +} + +// SetTargetAction sets the TargetAction field's value. +func (s *ScheduledAction) SetTargetAction(v *ScheduledActionType) *ScheduledAction { + s.TargetAction = v + return s +} + +// A set of elements to filter the returned scheduled actions. +type ScheduledActionFilter struct { + _ struct{} `type:"structure"` + + // The type of element to filter. + // + // Name is a required field + Name *string `type:"string" required:"true" enum:"ScheduledActionFilterName"` + + // List of values. Compare if the value (of type defined by Name) equals an + // item in the list of scheduled actions. + // + // Values is a required field + Values []*string `locationNameList:"item" type:"list" required:"true"` +} + +// String returns the string representation +func (s ScheduledActionFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduledActionFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScheduledActionFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScheduledActionFilter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *ScheduledActionFilter) SetName(v string) *ScheduledActionFilter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *ScheduledActionFilter) SetValues(v []*string) *ScheduledActionFilter { + s.Values = v + return s +} + +// The action type that specifies an Amazon Redshift API operation that is supported +// by the Amazon Redshift scheduler. +type ScheduledActionType struct { + _ struct{} `type:"structure"` + + // An action that runs a ResizeCluster API operation. + ResizeCluster *ResizeClusterMessage `type:"structure"` +} + +// String returns the string representation +func (s ScheduledActionType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduledActionType) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScheduledActionType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScheduledActionType"} + if s.ResizeCluster != nil { + if err := s.ResizeCluster.Validate(); err != nil { + invalidParams.AddNested("ResizeCluster", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResizeCluster sets the ResizeCluster field's value. +func (s *ScheduledActionType) SetResizeCluster(v *ResizeClusterMessage) *ScheduledActionType { + s.ResizeCluster = v + return s +} + // Describes a snapshot. type Snapshot struct { _ struct{} `type:"structure"` @@ -21948,6 +23364,17 @@ func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurit const ( // ActionTypeRestoreCluster is a ActionType enum value ActionTypeRestoreCluster = "restore-cluster" + + // ActionTypeRecommendNodeConfig is a ActionType enum value + ActionTypeRecommendNodeConfig = "recommend-node-config" +) + +const ( + // ModeStandard is a Mode enum value + ModeStandard = "standard" + + // ModeHighPerformance is a Mode enum value + ModeHighPerformance = "high-performance" ) const ( @@ -21959,6 +23386,9 @@ const ( // NodeConfigurationOptionsFilterNameEstimatedDiskUtilizationPercent is a NodeConfigurationOptionsFilterName enum value NodeConfigurationOptionsFilterNameEstimatedDiskUtilizationPercent = "EstimatedDiskUtilizationPercent" + + // NodeConfigurationOptionsFilterNameMode is a NodeConfigurationOptionsFilterName enum value + NodeConfigurationOptionsFilterNameMode = "Mode" ) const ( @@ -22011,6 +23441,27 @@ const ( ScheduleStateFailed = "FAILED" ) +const ( + // ScheduledActionFilterNameClusterIdentifier is a ScheduledActionFilterName enum value + ScheduledActionFilterNameClusterIdentifier = "cluster-identifier" + + // ScheduledActionFilterNameIamRole is a ScheduledActionFilterName enum value + ScheduledActionFilterNameIamRole = "iam-role" +) + +const ( + // ScheduledActionStateActive is a ScheduledActionState enum value + ScheduledActionStateActive = "ACTIVE" + + // ScheduledActionStateDisabled is a ScheduledActionState enum value + ScheduledActionStateDisabled = "DISABLED" +) + +const ( + // ScheduledActionTypeValuesResizeCluster is a ScheduledActionTypeValues enum value + ScheduledActionTypeValuesResizeCluster = "ResizeCluster" +) + const ( // SnapshotAttributeToSortBySourceType is a SnapshotAttributeToSortBy enum value SnapshotAttributeToSortBySourceType = "SOURCE_TYPE" @@ -22042,6 +23493,9 @@ const ( // SourceTypeClusterSnapshot is a SourceType enum value SourceTypeClusterSnapshot = "cluster-snapshot" + + // SourceTypeScheduledAction is a SourceType enum value + SourceTypeScheduledAction = "scheduled-action" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/redshift/errors.go b/vendor/github.com/aws/aws-sdk-go/service/redshift/errors.go index 406be5a3b2b7..f710284ae43f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/redshift/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/redshift/errors.go @@ -381,6 +381,12 @@ const ( // The schedule you submitted isn't valid. ErrCodeInvalidScheduleFault = "InvalidSchedule" + // ErrCodeInvalidScheduledActionFault for service response error code + // "InvalidScheduledAction". + // + // The scheduled action is not valid. + ErrCodeInvalidScheduledActionFault = "InvalidScheduledAction" + // ErrCodeInvalidSnapshotCopyGrantStateFault for service response error code // "InvalidSnapshotCopyGrantStateFault". // @@ -512,6 +518,30 @@ const ( // The definition you submitted is not supported. ErrCodeScheduleDefinitionTypeUnsupportedFault = "ScheduleDefinitionTypeUnsupported" + // ErrCodeScheduledActionAlreadyExistsFault for service response error code + // "ScheduledActionAlreadyExists". + // + // The scheduled action already exists. + ErrCodeScheduledActionAlreadyExistsFault = "ScheduledActionAlreadyExists" + + // ErrCodeScheduledActionNotFoundFault for service response error code + // "ScheduledActionNotFound". + // + // The scheduled action cannot be found. + ErrCodeScheduledActionNotFoundFault = "ScheduledActionNotFound" + + // ErrCodeScheduledActionQuotaExceededFault for service response error code + // "ScheduledActionQuotaExceeded". + // + // The quota for scheduled actions exceeded. + ErrCodeScheduledActionQuotaExceededFault = "ScheduledActionQuotaExceeded" + + // ErrCodeScheduledActionTypeUnsupportedFault for service response error code + // "ScheduledActionTypeUnsupported". + // + // The action type specified for a scheduled action is not supported. + ErrCodeScheduledActionTypeUnsupportedFault = "ScheduledActionTypeUnsupported" + // ErrCodeSnapshotCopyAlreadyDisabledFault for service response error code // "SnapshotCopyAlreadyDisabledFault". // 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 630237b99247..5fcd0f1ec44b 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 @@ -14095,6 +14095,16 @@ type Destination struct { // is specified, you must specify this element. EncryptionConfiguration *EncryptionConfiguration `type:"structure"` + // A container specifying replication metrics-related information, including + // whether emitting metrics and Amazon S3 events for replication are enabled. + // In addition, contains configurations related to specific metrics or events. + // Must be specified together with a ReplicationTime block. + Metrics *Metrics `type:"structure"` + + // A container specifying the time when all objects and operations on objects + // are 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. @@ -14126,6 +14136,16 @@ func (s *Destination) Validate() error { invalidParams.AddNested("AccessControlTranslation", err.(request.ErrInvalidParams)) } } + if s.Metrics != nil { + if err := s.Metrics.Validate(); err != nil { + invalidParams.AddNested("Metrics", err.(request.ErrInvalidParams)) + } + } + if s.ReplicationTime != nil { + if err := s.ReplicationTime.Validate(); err != nil { + invalidParams.AddNested("ReplicationTime", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -14164,6 +14184,18 @@ func (s *Destination) SetEncryptionConfiguration(v *EncryptionConfiguration) *De return s } +// SetMetrics sets the Metrics field's value. +func (s *Destination) SetMetrics(v *Metrics) *Destination { + s.Metrics = v + return s +} + +// SetReplicationTime sets the ReplicationTime field's value. +func (s *Destination) SetReplicationTime(v *ReplicationTime) *Destination { + s.ReplicationTime = v + return s +} + // SetStorageClass sets the StorageClass field's value. func (s *Destination) SetStorageClass(v string) *Destination { s.StorageClass = &v @@ -21262,6 +21294,63 @@ func (s *MetadataEntry) SetValue(v string) *MetadataEntry { return s } +// A container specifying replication metrics-related information, including +// whether emitting metrics and Amazon S3 events for replication are enabled. +// In addition, contains configurations related to specific metrics or events. +// Must be specified together with a ReplicationTime block. +type Metrics struct { + _ struct{} `type:"structure"` + + // A container specifying the time threshold for emitting the s3:Replication:OperationMissedThreshold + // event. + // + // EventThreshold is a required field + EventThreshold *ReplicationTimeValue `type:"structure" required:"true"` + + // Specifies whether the replication metrics are enabled. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"MetricsStatus"` +} + +// String returns the string representation +func (s Metrics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Metrics) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Metrics) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Metrics"} + if s.EventThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("EventThreshold")) + } + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEventThreshold sets the EventThreshold field's value. +func (s *Metrics) SetEventThreshold(v *ReplicationTimeValue) *Metrics { + s.EventThreshold = v + return s +} + +// SetStatus sets the Status field's value. +func (s *Metrics) SetStatus(v string) *Metrics { + s.Status = &v + return s +} + // A conjunction (logical AND) of predicates, which is used in evaluating a // metrics filter. The operator must have at least two predicates, and an object // must match all of the predicates in order for the filter to apply. @@ -25874,6 +25963,85 @@ func (s *ReplicationRuleFilter) SetTag(v *Tag) *ReplicationRuleFilter { return s } +// A container specifying the time when all objects and operations on objects +// are replicated. Must be specified together with a Metrics block. +type ReplicationTime struct { + _ struct{} `type:"structure"` + + // Specifies whether the replication time is enabled. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"ReplicationTimeStatus"` + + // A container specifying the time by which replication should complete for + // all objects and operations on objects. + // + // Time is a required field + Time *ReplicationTimeValue `type:"structure" required:"true"` +} + +// String returns the string representation +func (s ReplicationTime) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicationTime) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplicationTime) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplicationTime"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + if s.Time == nil { + invalidParams.Add(request.NewErrParamRequired("Time")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStatus sets the Status field's value. +func (s *ReplicationTime) SetStatus(v string) *ReplicationTime { + s.Status = &v + return s +} + +// SetTime sets the Time field's value. +func (s *ReplicationTime) SetTime(v *ReplicationTimeValue) *ReplicationTime { + s.Time = v + return s +} + +// A container specifying the time value. +type ReplicationTimeValue struct { + _ struct{} `type:"structure"` + + // Contains an integer specifying time in minutes. + Minutes *int64 `type:"integer"` +} + +// String returns the string representation +func (s ReplicationTimeValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicationTimeValue) GoString() string { + return s.String() +} + +// SetMinutes sets the Minutes field's value. +func (s *ReplicationTimeValue) SetMinutes(v int64) *ReplicationTimeValue { + s.Minutes = &v + return s +} + // Container for Payer. type RequestPaymentConfiguration struct { _ struct{} `type:"structure"` @@ -28590,11 +28758,29 @@ const ( // EventS3ObjectRemovedDeleteMarkerCreated is a Event enum value EventS3ObjectRemovedDeleteMarkerCreated = "s3:ObjectRemoved:DeleteMarkerCreated" + // EventS3ObjectRestore is a Event enum value + EventS3ObjectRestore = "s3:ObjectRestore:*" + // EventS3ObjectRestorePost is a Event enum value EventS3ObjectRestorePost = "s3:ObjectRestore:Post" // EventS3ObjectRestoreCompleted is a Event enum value EventS3ObjectRestoreCompleted = "s3:ObjectRestore:Completed" + + // EventS3Replication is a Event enum value + EventS3Replication = "s3:Replication:*" + + // EventS3ReplicationOperationFailedReplication is a Event enum value + EventS3ReplicationOperationFailedReplication = "s3:Replication:OperationFailedReplication" + + // EventS3ReplicationOperationNotTracked is a Event enum value + EventS3ReplicationOperationNotTracked = "s3:Replication:OperationNotTracked" + + // EventS3ReplicationOperationMissedThreshold is a Event enum value + EventS3ReplicationOperationMissedThreshold = "s3:Replication:OperationMissedThreshold" + + // EventS3ReplicationOperationReplicatedAfterThreshold is a Event enum value + EventS3ReplicationOperationReplicatedAfterThreshold = "s3:Replication:OperationReplicatedAfterThreshold" ) const ( @@ -28731,6 +28917,14 @@ const ( MetadataDirectiveReplace = "REPLACE" ) +const ( + // MetricsStatusEnabled is a MetricsStatus enum value + MetricsStatusEnabled = "Enabled" + + // MetricsStatusDisabled is a MetricsStatus enum value + MetricsStatusDisabled = "Disabled" +) + const ( // ObjectCannedACLPrivate is a ObjectCannedACL enum value ObjectCannedACLPrivate = "private" @@ -28879,6 +29073,14 @@ const ( ReplicationStatusReplica = "REPLICA" ) +const ( + // ReplicationTimeStatusEnabled is a ReplicationTimeStatus enum value + ReplicationTimeStatusEnabled = "Enabled" + + // ReplicationTimeStatusDisabled is a ReplicationTimeStatus enum value + ReplicationTimeStatusDisabled = "Disabled" +) + // If present, indicates that the requester was successfully charged for the // request. const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/sns/api.go b/vendor/github.com/aws/aws-sdk-go/service/sns/api.go index 94783de2c2bc..780b1884323a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sns/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sns/api.go @@ -345,27 +345,18 @@ func (c *SNS) CreatePlatformApplicationRequest(input *CreatePlatformApplicationI // You must specify PlatformPrincipal and PlatformCredential attributes when // using the CreatePlatformApplication action. The PlatformPrincipal is received // from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is -// "SSL certificate". For GCM, PlatformPrincipal is not applicable. For ADM, +// "SSL certificate". For FCM, PlatformPrincipal is not applicable. For ADM, // PlatformPrincipal is "client id". The PlatformCredential is also received // from the notification service. For WNS, PlatformPrincipal is "Package Security // Identifier". For MPNS, PlatformPrincipal is "TLS certificate". For Baidu, // PlatformPrincipal is "API key". // -// For APNS/APNS_SANDBOX, PlatformCredential is "private key". For GCM, PlatformCredential +// For APNS/APNS_SANDBOX, PlatformCredential is "private key". For FCM, PlatformCredential // is "API key". For ADM, PlatformCredential is "client secret". For WNS, PlatformCredential // is "secret key". For MPNS, PlatformCredential is "private key". For Baidu, // PlatformCredential is "secret key". The PlatformApplicationArn that is returned // when using CreatePlatformApplication is then used as an attribute for the -// CreatePlatformEndpoint action. For more information, see Using Amazon SNS -// Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). -// For more information about obtaining the PlatformPrincipal and PlatformCredential -// for each of the supported push notification services, see Getting Started -// with Apple Push Notification Service (https://docs.aws.amazon.com/sns/latest/dg/mobile-push-apns.html), -// Getting Started with Amazon Device Messaging (https://docs.aws.amazon.com/sns/latest/dg/mobile-push-adm.html), -// Getting Started with Baidu Cloud Push (https://docs.aws.amazon.com/sns/latest/dg/mobile-push-baidu.html), -// Getting Started with Google Cloud Messaging for Android (https://docs.aws.amazon.com/sns/latest/dg/mobile-push-gcm.html), -// Getting Started with MPNS (https://docs.aws.amazon.com/sns/latest/dg/mobile-push-mpns.html), -// or Getting Started with WNS (https://docs.aws.amazon.com/sns/latest/dg/mobile-push-wns.html). +// CreatePlatformEndpoint action. // // 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 @@ -451,7 +442,7 @@ func (c *SNS) CreatePlatformEndpointRequest(input *CreatePlatformEndpointInput) // CreatePlatformEndpoint API operation for Amazon Simple Notification Service. // // Creates an endpoint for a device and mobile app on one of the supported push -// notification services, such as GCM and APNS. CreatePlatformEndpoint requires +// notification services, such as FCM and APNS. CreatePlatformEndpoint requires // the PlatformApplicationArn that is returned from CreatePlatformApplication. // The EndpointArn that is returned when using CreatePlatformEndpoint can then // be used by the Publish action to send a message to a mobile app or by the @@ -755,7 +746,7 @@ func (c *SNS) DeletePlatformApplicationRequest(input *DeletePlatformApplicationI // DeletePlatformApplication API operation for Amazon Simple Notification Service. // // Deletes a platform application object for one of the supported push notification -// services, such as APNS and GCM. For more information, see Using Amazon SNS +// services, such as APNS and FCM. For more information, see Using Amazon SNS // Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -946,7 +937,7 @@ func (c *SNS) GetEndpointAttributesRequest(input *GetEndpointAttributesInput) (r // GetEndpointAttributes API operation for Amazon Simple Notification Service. // // Retrieves the endpoint attributes for a device on one of the supported push -// notification services, such as GCM and APNS. For more information, see Using +// notification services, such as FCM and APNS. For more information, see Using // Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1036,7 +1027,7 @@ func (c *SNS) GetPlatformApplicationAttributesRequest(input *GetPlatformApplicat // GetPlatformApplicationAttributes API operation for Amazon Simple Notification Service. // // Retrieves the attributes of the platform application object for the supported -// push notification services, such as APNS and GCM. For more information, see +// push notification services, such as APNS and FCM. For more information, see // Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1404,7 +1395,7 @@ func (c *SNS) ListEndpointsByPlatformApplicationRequest(input *ListEndpointsByPl // ListEndpointsByPlatformApplication API operation for Amazon Simple Notification Service. // // Lists the endpoints and endpoint attributes for devices in a supported push -// notification service, such as GCM and APNS. The results for ListEndpointsByPlatformApplication +// notification service, such as FCM and APNS. The results for ListEndpointsByPlatformApplication // are paginated and return a limited list of endpoints, up to 100. If additional // records are available after the first page results, then a NextToken string // will be returned. To receive the next page, you call ListEndpointsByPlatformApplication @@ -1656,7 +1647,7 @@ func (c *SNS) ListPlatformApplicationsRequest(input *ListPlatformApplicationsInp // ListPlatformApplications API operation for Amazon Simple Notification Service. // // Lists the platform application objects for the supported push notification -// services, such as APNS and GCM. The results for ListPlatformApplications +// services, such as APNS and FCM. The results for ListPlatformApplications // are paginated and return a limited list of applications, up to 100. If additional // records are available after the first page results, then a NextToken string // will be returned. To receive the next page, you call ListPlatformApplications @@ -2669,7 +2660,7 @@ func (c *SNS) SetEndpointAttributesRequest(input *SetEndpointAttributesInput) (r // SetEndpointAttributes API operation for Amazon Simple Notification Service. // // Sets the attributes for an endpoint for a device on one of the supported -// push notification services, such as GCM and APNS. For more information, see +// push notification services, such as FCM and APNS. For more information, see // Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2760,7 +2751,7 @@ func (c *SNS) SetPlatformApplicationAttributesRequest(input *SetPlatformApplicat // SetPlatformApplicationAttributes API operation for Amazon Simple Notification Service. // // Sets the attributes of the platform application object for the supported -// push notification services, such as APNS and GCM. For more information, see +// push notification services, such as APNS and FCM. For more information, see // Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). // For information on configuring attributes for message delivery status, see // Using Amazon SNS Application Attributes for Message Delivery Status (https://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html). @@ -3257,11 +3248,9 @@ func (c *SNS) TagResourceRequest(input *TagResourceInput) (req *request.Request, // * A new tag with a key identical to that of an existing tag overwrites // the existing tag. // -// * Tagging actions are limited to 10 TPS per AWS account. If your application -// requires a higher throughput, file a technical support request (https://console.aws.amazon.com/support/home#/case/create?issueType=technical). -// -// For a full list of tag restrictions, see Limits Related to Topics (https://docs.aws.amazon.com/sns/latest/dg/sns-limits.html#limits-topics) -// in the Amazon SNS Developer Guide. +// * Tagging actions are limited to 10 TPS per AWS account, per AWS region. +// If your application requires a higher throughput, file a technical support +// request (https://console.aws.amazon.com/support/home#/case/create?issueType=technical). // // 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 @@ -3532,7 +3521,7 @@ type AddPermissionInput struct { // The action you want to allow for the specified principal(s). // - // Valid values: any Amazon SNS action name. + // Valid values: Any Amazon SNS action name, for example Publish. // // ActionName is a required field ActionName []*string `type:"list" required:"true"` @@ -3793,7 +3782,8 @@ type CreatePlatformApplicationInput struct { Name *string `type:"string" required:"true"` // The following platforms are supported: ADM (Amazon Device Messaging), APNS - // (Apple Push Notification Service), APNS_SANDBOX, and GCM (Google Cloud Messaging). + // (Apple Push Notification Service), APNS_SANDBOX, and FCM (Firebase Cloud + // Messaging). // // Platform is a required field Platform *string `type:"string" required:"true"` @@ -3890,7 +3880,7 @@ type CreatePlatformEndpointInput struct { // Unique identifier created by the notification service for an app on a device. // The specific name for Token will vary, depending on which notification service // is being used. For example, when using APNS as the notification service, - // you need the device token. Alternatively, when using GCM or ADM, the device + // you need the device token. Alternatively, when using FCM or ADM, the device // token equivalent is called the registration ID. // // Token is a required field @@ -4006,6 +3996,9 @@ type CreateTopicInput struct { Name *string `type:"string" required:"true"` // The list of tags to add to a new topic. + // + // To be able to tag a topic on creation, you must have the sns:CreateTopic + // and sns:TagResource permissions. Tags []*Tag `type:"list"` } @@ -4332,6 +4325,7 @@ type GetEndpointAttributesOutput struct { // * Token – device token, also referred to as a registration id, for an // app and mobile device. This is returned from the notification service // when an app and mobile device are registered with the notification service. + // The device token for the iOS platform is returned in lowercase. Attributes map[string]*string `type:"map"` } @@ -4548,6 +4542,13 @@ type GetSubscriptionAttributesOutput struct { // subscription. Raw messages are free of JSON formatting and can be sent // to HTTP/S and Amazon SQS endpoints. // + // * RedrivePolicy – When specified, sends undeliverable messages to the + // specified Amazon SQS dead-letter queue. Messages that can't be delivered + // due to client errors (for example, when the subscribed endpoint is unreachable) + // or server errors (for example, when the service that powers the subscribed + // endpoint becomes unavailable) are held in the dead-letter queue for further + // analysis or reprocessing. + // // * SubscriptionArn – The subscription's ARN. // // * TopicArn – The topic ARN that the subscription is associated with. @@ -4615,28 +4616,35 @@ type GetTopicAttributesOutput struct { // A map of the topic's attributes. Attributes in this map include the following: // - // * TopicArn – the topic's ARN + // * DeliveryPolicy – The JSON serialization of the topic's delivery policy. // - // * Owner – the AWS account ID of the topic's owner + // * DisplayName – The human-readable name used in the From field for notifications + // to email and email-json endpoints. // - // * Policy – the JSON serialization of the topic's access control policy + // * Owner – The AWS account ID of the topic's owner. // - // * DisplayName – the human-readable name used in the "From" field for - // notifications to email and email-json endpoints + // * Policy – The JSON serialization of the topic's access control policy. // - // * SubscriptionsPending – the number of subscriptions pending confirmation - // on this topic + // * SubscriptionsConfirmed – The number of confirmed subscriptions for + // the topic. // - // * SubscriptionsConfirmed – the number of confirmed subscriptions on - // this topic + // * SubscriptionsDeleted – The number of deleted subscriptions for the + // topic. // - // * SubscriptionsDeleted – the number of deleted subscriptions on this - // topic + // * SubscriptionsPending – The number of subscriptions pending confirmation + // for the topic. // - // * DeliveryPolicy – the JSON serialization of the topic's delivery policy + // * TopicArn – The topic's ARN. // - // * EffectiveDeliveryPolicy – the JSON serialization of the effective - // delivery policy that takes into account system defaults + // * EffectiveDeliveryPolicy – Yhe JSON serialization of the effective + // delivery policy, taking system defaults into account. + // + // The following attribute applies only to server-side-encryption (https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html): + // + // * KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) + // for Amazon SNS or a custom CMK. For more information, see Key Terms (https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). + // For more examples, see KeyId (https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) + // in the AWS Key Management Service API Reference. Attributes map[string]*string `type:"map"` } @@ -5285,9 +5293,6 @@ type PublishInput struct { // The message you want to send. // - // The Message parameter is always a string. If you set MessageStructure to - // json, you must string-encode the Message parameter. - // // If you are publishing to a topic and you want to send the same message to // all transport protocols, include the text of the message as a String value. // If you want to send different messages for each transport protocol, set the @@ -5351,11 +5356,6 @@ type PublishInput struct { // You can define other top-level keys that define the message you want to send // to a specific transport protocol (e.g., "http"). // - // For information about sending different messages for each protocol using - // the AWS Management Console, go to Create Different Messages for Each Protocol - // (https://docs.aws.amazon.com/sns/latest/gsg/Publish.html#sns-message-formatting-by-protocol) - // in the Amazon Simple Notification Service Getting Started Guide. - // // Valid value: json MessageStructure *string `type:"string"` @@ -5642,11 +5642,11 @@ type SetPlatformApplicationAttributesInput struct { // // * PlatformCredential – The credential received from the notification // service. For APNS/APNS_SANDBOX, PlatformCredential is private key. For - // GCM, PlatformCredential is "API key". For ADM, PlatformCredential is "client + // FCM, PlatformCredential is "API key". For ADM, PlatformCredential is "client // secret". // // * PlatformPrincipal – The principal received from the notification service. - // For APNS/APNS_SANDBOX, PlatformPrincipal is SSL certificate. For GCM, + // For APNS/APNS_SANDBOX, PlatformPrincipal is SSL certificate. For FCM, // PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is "client // id". // @@ -5881,6 +5881,13 @@ type SetSubscriptionAttributesInput struct { // to process JSON formatting, which is otherwise created for Amazon SNS // metadata. // + // * RedrivePolicy – When specified, sends undeliverable messages to the + // specified Amazon SQS dead-letter queue. Messages that can't be delivered + // due to client errors (for example, when the subscribed endpoint is unreachable) + // or server errors (for example, when the service that powers the subscribed + // endpoint becomes unavailable) are held in the dead-letter queue for further + // analysis or reprocessing. + // // AttributeName is a required field AttributeName *string `type:"string" required:"true"` @@ -6065,13 +6072,20 @@ type SubscribeInput struct { // to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints // to process JSON formatting, which is otherwise created for Amazon SNS // metadata. + // + // * RedrivePolicy – When specified, sends undeliverable messages to the + // specified Amazon SQS dead-letter queue. Messages that can't be delivered + // due to client errors (for example, when the subscribed endpoint is unreachable) + // or server errors (for example, when the service that powers the subscribed + // endpoint becomes unavailable) are held in the dead-letter queue for further + // analysis or reprocessing. Attributes map[string]*string `type:"map"` // The endpoint that you want to receive notifications. Endpoints vary by protocol: // - // * For the http protocol, the endpoint is an URL beginning with "https://" + // * For the http protocol, the endpoint is an URL beginning with http:// // - // * For the https protocol, the endpoint is a URL beginning with "https://" + // * For the https protocol, the endpoint is a URL beginning with https:// // // * For the email protocol, the endpoint is an email address // @@ -6085,7 +6099,8 @@ type SubscribeInput struct { // * For the application protocol, the endpoint is the EndpointArn of a mobile // app and device. // - // * For the lambda protocol, the endpoint is the ARN of an AWS Lambda function. + // * For the lambda protocol, the endpoint is the ARN of an Amazon Lambda + // function. Endpoint *string `type:"string"` // The protocol you want to use. Supported protocols include: @@ -6105,7 +6120,7 @@ type SubscribeInput struct { // * application – delivery of JSON-encoded message to an EndpointArn for // a mobile app and device. // - // * lambda – delivery of JSON-encoded message to an AWS Lambda function. + // * lambda – delivery of JSON-encoded message to an Amazon Lambda function. // // Protocol is a required field Protocol *string `type:"string" required:"true"` @@ -6113,14 +6128,16 @@ type SubscribeInput struct { // Sets whether the response from the Subscribe request includes the subscription // ARN, even if the subscription is not yet confirmed. // - // If you set this parameter to false, the response includes the ARN for confirmed - // subscriptions, but it includes an ARN value of "pending subscription" for - // subscriptions that are not yet confirmed. A subscription becomes confirmed - // when the subscriber calls the ConfirmSubscription action with a confirmation - // token. + // * If you have the subscription ARN returned, the response includes the + // ARN in all cases, even if the subscription is not yet confirmed. + // + // * If you don't have the subscription ARN returned, in addition to the + // ARN for confirmed subscriptions, the response also includes the pending + // subscription ARN value for subscriptions that aren't yet confirmed. A + // subscription becomes confirmed when the subscriber calls the ConfirmSubscription + // action with a confirmation token. // - // If you set this parameter to true, the response includes the ARN in all cases, - // even if the subscription is not yet confirmed. + // If you set this parameter to true, . // // The default value is false. ReturnSubscriptionArn *bool `type:"boolean"` 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 84e0ee27996f..78f44330367d 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 @@ -11734,6 +11734,101 @@ func (c *SSM) UpdatePatchBaselineWithContext(ctx aws.Context, input *UpdatePatch return out, req.Send() } +const opUpdateResourceDataSync = "UpdateResourceDataSync" + +// UpdateResourceDataSyncRequest generates a "aws/request.Request" representing the +// client's request for the UpdateResourceDataSync 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 UpdateResourceDataSync for more information on using the UpdateResourceDataSync +// 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 UpdateResourceDataSyncRequest method. +// req, resp := client.UpdateResourceDataSyncRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateResourceDataSync +func (c *SSM) UpdateResourceDataSyncRequest(input *UpdateResourceDataSyncInput) (req *request.Request, output *UpdateResourceDataSyncOutput) { + op := &request.Operation{ + Name: opUpdateResourceDataSync, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateResourceDataSyncInput{} + } + + output = &UpdateResourceDataSyncOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateResourceDataSync API operation for Amazon Simple Systems Manager (SSM). +// +// Update a resource data sync. After you create a resource data sync for a +// Region, you can't change the account options for that sync. For example, +// if you create a sync in the us-east-2 (Ohio) Region and you choose the Include +// only the current account option, you can't edit that sync later and choose +// the Include all accounts from my AWS Organizations configuration option. +// Instead, you must delete the first resource data sync, and create a new one. +// +// 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 Simple Systems Manager (SSM)'s +// API operation UpdateResourceDataSync for usage and error information. +// +// Returned Error Codes: +// * ErrCodeResourceDataSyncNotFoundException "ResourceDataSyncNotFoundException" +// The specified sync name was not found. +// +// * ErrCodeResourceDataSyncInvalidConfigurationException "ResourceDataSyncInvalidConfigurationException" +// The specified sync configuration is invalid. +// +// * ErrCodeResourceDataSyncConflictException "ResourceDataSyncConflictException" +// Another UpdateResourceDataSync request is being processed. Wait a few minutes +// and try again. +// +// * ErrCodeInternalServerError "InternalServerError" +// An error occurred on the server side. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateResourceDataSync +func (c *SSM) UpdateResourceDataSync(input *UpdateResourceDataSyncInput) (*UpdateResourceDataSyncOutput, error) { + req, out := c.UpdateResourceDataSyncRequest(input) + return out, req.Send() +} + +// UpdateResourceDataSyncWithContext is the same as UpdateResourceDataSync with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateResourceDataSync 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 *SSM) UpdateResourceDataSyncWithContext(ctx aws.Context, input *UpdateResourceDataSyncInput, opts ...request.Option) (*UpdateResourceDataSyncOutput, error) { + req, out := c.UpdateResourceDataSyncRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateServiceSetting = "UpdateServiceSetting" // UpdateServiceSettingRequest generates a "aws/request.Request" representing the @@ -11836,6 +11931,40 @@ func (c *SSM) UpdateServiceSettingWithContext(ctx aws.Context, input *UpdateServ return out, req.Send() } +// Information includes the AWS account ID where the current document is shared +// and the version shared with that account. +type AccountSharingInfo struct { + _ struct{} `type:"structure"` + + // The AWS account ID where the current document is shared. + AccountId *string `type:"string"` + + // The version of the current document shared with the account. + SharedDocumentVersion *string `type:"string"` +} + +// String returns the string representation +func (s AccountSharingInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountSharingInfo) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *AccountSharingInfo) SetAccountId(v string) *AccountSharingInfo { + s.AccountId = &v + return s +} + +// SetSharedDocumentVersion sets the SharedDocumentVersion field's value. +func (s *AccountSharingInfo) SetSharedDocumentVersion(v string) *AccountSharingInfo { + s.SharedDocumentVersion = &v + return s +} + // An activation registers one or more on-premises servers or virtual machines // (VMs) with AWS so that you can configure those servers or VMs using Run Command. // A server or VM that has been registered with AWS is called a managed instance. @@ -15746,6 +15875,10 @@ type CreateDocumentInput struct { // Name is a required field Name *string `type:"string" required:"true"` + // A list of SSM documents required by a document. For example, an ApplicationConfiguration + // document requires an ApplicationConfigurationSchema document. + Requires []*DocumentRequires `min:"1" type:"list"` + // Optional metadata that you assign to a resource. Tags enable you to categorize // a resource in different ways, such as by purpose, owner, or environment. // For example, you might want to tag an SSM document to identify the types @@ -15796,6 +15929,9 @@ func (s *CreateDocumentInput) Validate() error { if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } + if s.Requires != nil && len(s.Requires) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Requires", 1)) + } if s.Attachments != nil { for i, v := range s.Attachments { if v == nil { @@ -15806,6 +15942,16 @@ func (s *CreateDocumentInput) Validate() error { } } } + if s.Requires != nil { + for i, v := range s.Requires { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Requires", i), err.(request.ErrInvalidParams)) + } + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -15853,6 +15999,12 @@ func (s *CreateDocumentInput) SetName(v string) *CreateDocumentInput { return s } +// SetRequires sets the Requires field's value. +func (s *CreateDocumentInput) SetRequires(v []*DocumentRequires) *CreateDocumentInput { + s.Requires = v + return s +} + // SetTags sets the Tags field's value. func (s *CreateDocumentInput) SetTags(v []*Tag) *CreateDocumentInput { s.Tags = v @@ -16799,6 +16951,12 @@ type DeleteDocumentInput struct { // versions of the document are deleted. DocumentVersion *string `type:"string"` + // Some SSM document types require that you specify a Force flag before you + // can delete the document. For example, you must specify a Force flag to delete + // a document of type ApplicationConfigurationSchema. You can restrict access + // to the Force flag in an AWS Identity and Access Management (IAM) policy. + Force *bool `type:"boolean"` + // The name of the document. // // Name is a required field @@ -16838,6 +16996,12 @@ func (s *DeleteDocumentInput) SetDocumentVersion(v string) *DeleteDocumentInput return s } +// SetForce sets the Force field's value. +func (s *DeleteDocumentInput) SetForce(v bool) *DeleteDocumentInput { + s.Force = &v + return s +} + // SetName sets the Name field's value. func (s *DeleteDocumentInput) SetName(v string) *DeleteDocumentInput { s.Name = &v @@ -18585,6 +18749,10 @@ type DescribeDocumentPermissionOutput struct { // The account IDs that have permission to use this document. The ID can be // either an AWS account or All. AccountIds []*string `type:"list"` + + // A list of of AWS accounts where the current document is shared and the version + // shared with each account. + AccountSharingInfoList []*AccountSharingInfo `type:"list"` } // String returns the string representation @@ -18603,6 +18771,12 @@ func (s *DescribeDocumentPermissionOutput) SetAccountIds(v []*string) *DescribeD return s } +// SetAccountSharingInfoList sets the AccountSharingInfoList field's value. +func (s *DescribeDocumentPermissionOutput) SetAccountSharingInfoList(v []*AccountSharingInfo) *DescribeDocumentPermissionOutput { + s.AccountSharingInfoList = v + return s +} + type DescribeEffectiveInstanceAssociationsInput struct { _ struct{} `type:"structure"` @@ -20839,6 +21013,10 @@ type DescribePatchGroupStateOutput struct { // The number of instances with installed patches. InstancesWithInstalledPatches *int64 `type:"integer"` + // The number of instances with patches installed that have not been rebooted + // after the patch installation. The status of these instances is NON_COMPLIANT. + InstancesWithInstalledPendingRebootPatches *int64 `type:"integer"` + // The number of instances with patches installed that are specified in a RejectedPatches // list. Patches with a status of INSTALLED_REJECTED were typically installed // before they were added to a RejectedPatches list. @@ -20892,6 +21070,12 @@ func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledPatches(v int64 return s } +// SetInstancesWithInstalledPendingRebootPatches sets the InstancesWithInstalledPendingRebootPatches field's value. +func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledPendingRebootPatches(v int64) *DescribePatchGroupStateOutput { + s.InstancesWithInstalledPendingRebootPatches = &v + return s +} + // SetInstancesWithInstalledRejectedPatches sets the InstancesWithInstalledRejectedPatches field's value. func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledRejectedPatches(v int64) *DescribePatchGroupStateOutput { s.InstancesWithInstalledRejectedPatches = &v @@ -21347,6 +21531,10 @@ type DocumentDescription struct { // The list of OS platforms compatible with this Systems Manager document. PlatformTypes []*string `type:"list"` + // A list of SSM documents required by a document. For example, an ApplicationConfiguration + // document requires an ApplicationConfigurationSchema document. + Requires []*DocumentRequires `min:"1" type:"list"` + // The schema version. SchemaVersion *string `type:"string"` @@ -21469,6 +21657,12 @@ func (s *DocumentDescription) SetPlatformTypes(v []*string) *DocumentDescription return s } +// SetRequires sets the Requires field's value. +func (s *DocumentDescription) SetRequires(v []*DocumentRequires) *DocumentDescription { + s.Requires = v + return s +} + // SetSchemaVersion sets the SchemaVersion field's value. func (s *DocumentDescription) SetSchemaVersion(v string) *DocumentDescription { s.SchemaVersion = &v @@ -21589,6 +21783,10 @@ type DocumentIdentifier struct { // The operating system platform. PlatformTypes []*string `type:"list"` + // A list of SSM documents required by a document. For example, an ApplicationConfiguration + // document requires an ApplicationConfigurationSchema document. + Requires []*DocumentRequires `min:"1" type:"list"` + // The schema version. SchemaVersion *string `type:"string"` @@ -21653,6 +21851,12 @@ func (s *DocumentIdentifier) SetPlatformTypes(v []*string) *DocumentIdentifier { return s } +// SetRequires sets the Requires field's value. +func (s *DocumentIdentifier) SetRequires(v []*DocumentRequires) *DocumentIdentifier { + s.Requires = v + return s +} + // SetSchemaVersion sets the SchemaVersion field's value. func (s *DocumentIdentifier) SetSchemaVersion(v string) *DocumentIdentifier { s.SchemaVersion = &v @@ -21801,6 +22005,55 @@ func (s *DocumentParameter) SetType(v string) *DocumentParameter { return s } +// An SSM document required by the current document. +type DocumentRequires struct { + _ struct{} `type:"structure"` + + // The name of the required SSM document. The name can be an Amazon Resource + // Name (ARN). + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The document version required by the current document. + Version *string `type:"string"` +} + +// String returns the string representation +func (s DocumentRequires) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentRequires) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DocumentRequires) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DocumentRequires"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DocumentRequires) SetName(v string) *DocumentRequires { + s.Name = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *DocumentRequires) SetVersion(v string) *DocumentRequires { + s.Version = &v + return s +} + // Version information about the document. type DocumentVersionInfo struct { _ struct{} `type:"structure"` @@ -22720,6 +22973,10 @@ type GetDocumentOutput struct { // The name of the Systems Manager document. Name *string `type:"string"` + // A list of SSM documents required by a document. For example, an ApplicationConfiguration + // document requires an ApplicationConfigurationSchema document. + Requires []*DocumentRequires `min:"1" type:"list"` + // The status of the Systems Manager document, such as Creating, Active, Updating, // Failed, and Deleting. Status *string `type:"string" enum:"DocumentStatus"` @@ -22782,6 +23039,12 @@ func (s *GetDocumentOutput) SetName(v string) *GetDocumentOutput { return s } +// SetRequires sets the Requires field's value. +func (s *GetDocumentOutput) SetRequires(v []*DocumentRequires) *GetDocumentOutput { + s.Requires = v + return s +} + // SetStatus sets the Status field's value. func (s *GetDocumentOutput) SetStatus(v string) *GetDocumentOutput { s.Status = &v @@ -25578,6 +25841,9 @@ type InstancePatchState struct { // on the instance. InstalledOtherCount *int64 `type:"integer"` + // The number of patches installed since the last time the instance was rebooted. + InstalledPendingRebootCount *int64 `type:"integer"` + // The number of instances with patches installed that are specified in a RejectedPatches // list. Patches with a status of InstalledRejected were typically installed // before they were added to a RejectedPatches list. @@ -25592,6 +25858,10 @@ type InstancePatchState struct { // InstanceId is a required field InstanceId *string `type:"string" required:"true"` + // The time of the last attempt to patch the instance with NoReboot specified + // as the reboot option. + LastNoRebootInstallOperationTime *time.Time `type:"timestamp"` + // The number of patches from the patch baseline that are applicable for the // instance but aren't currently installed. MissingCount *int64 `type:"integer"` @@ -25627,6 +25897,20 @@ type InstancePatchState struct { // PatchGroup is a required field PatchGroup *string `min:"1" type:"string" required:"true"` + // Indicates the reboot option specified in the patch baseline. + // + // Reboot options apply to Install operations only. Reboots are not attempted + // for Patch Manager Scan operations. + // + // * RebootIfNeeded: Patch Manager tries to reboot the instance if it installed + // any patches, or if any patches are detected with a status of InstalledPendingReboot. + // + // * NoReboot: Patch Manager attempts to install missing packages without + // trying to reboot the system. Patches installed with this option are assigned + // a status of InstalledPendingReboot. These patches might not be in effect + // until a reboot is performed. + RebootOption *string `type:"string" enum:"RebootOption"` + // The ID of the patch baseline snapshot used during the patching operation // when this compliance data was collected. SnapshotId *string `min:"36" type:"string"` @@ -25676,6 +25960,12 @@ func (s *InstancePatchState) SetInstalledOtherCount(v int64) *InstancePatchState return s } +// SetInstalledPendingRebootCount sets the InstalledPendingRebootCount field's value. +func (s *InstancePatchState) SetInstalledPendingRebootCount(v int64) *InstancePatchState { + s.InstalledPendingRebootCount = &v + return s +} + // SetInstalledRejectedCount sets the InstalledRejectedCount field's value. func (s *InstancePatchState) SetInstalledRejectedCount(v int64) *InstancePatchState { s.InstalledRejectedCount = &v @@ -25688,6 +25978,12 @@ func (s *InstancePatchState) SetInstanceId(v string) *InstancePatchState { return s } +// SetLastNoRebootInstallOperationTime sets the LastNoRebootInstallOperationTime field's value. +func (s *InstancePatchState) SetLastNoRebootInstallOperationTime(v time.Time) *InstancePatchState { + s.LastNoRebootInstallOperationTime = &v + return s +} + // SetMissingCount sets the MissingCount field's value. func (s *InstancePatchState) SetMissingCount(v int64) *InstancePatchState { s.MissingCount = &v @@ -25730,6 +26026,12 @@ func (s *InstancePatchState) SetPatchGroup(v string) *InstancePatchState { return s } +// SetRebootOption sets the RebootOption field's value. +func (s *InstancePatchState) SetRebootOption(v string) *InstancePatchState { + s.RebootOption = &v + return s +} + // SetSnapshotId sets the SnapshotId field's value. func (s *InstancePatchState) SetSnapshotId(v string) *InstancePatchState { s.SnapshotId = &v @@ -27317,7 +27619,7 @@ type ListDocumentVersionsInput struct { // results. MaxResults *int64 `min:"1" type:"integer"` - // The name of the document about which you want version information. + // The name of the document. You can specify an Amazon Resource Name (ARN). // // Name is a required field Name *string `type:"string" required:"true"` @@ -29227,6 +29529,10 @@ type ModifyDocumentPermissionInput struct { // // PermissionType is a required field PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"` + + // (Optional) The version of the document to share. If it's not specified, the + // system choose the Default version to share. + SharedDocumentVersion *string `type:"string"` } // String returns the string representation @@ -29279,6 +29585,12 @@ func (s *ModifyDocumentPermissionInput) SetPermissionType(v string) *ModifyDocum return s } +// SetSharedDocumentVersion sets the SharedDocumentVersion field's value. +func (s *ModifyDocumentPermissionInput) SetSharedDocumentVersion(v string) *ModifyDocumentPermissionInput { + s.SharedDocumentVersion = &v + return s +} + type ModifyDocumentPermissionOutput struct { _ struct{} `type:"structure"` } @@ -31769,7 +32081,11 @@ type PutParameterInput struct { // // The maximum length constraint listed below includes capacity for additional // system attributes that are not part of the name. The maximum length for the - // fully qualified parameter name is 1011 characters. + // fully qualified parameter name is 1011 characters, including the full length + // of the parameter ARN. For example, the following fully qualified parameter + // name is 65 characters, not 20 characters: + // + // arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -37520,6 +37836,100 @@ func (s *UpdatePatchBaselineOutput) SetSources(v []*PatchSource) *UpdatePatchBas return s } +type UpdateResourceDataSyncInput struct { + _ struct{} `type:"structure"` + + // The name of the resource data sync you want to update. + // + // SyncName is a required field + SyncName *string `min:"1" type:"string" required:"true"` + + // Specify information about the data sources to synchronize. + // + // SyncSource is a required field + SyncSource *ResourceDataSyncSource `type:"structure" required:"true"` + + // The type of resource data sync. If SyncType is SyncToDestination, then the + // resource data sync synchronizes data to an Amazon S3 bucket. If the SyncType + // is SyncFromSource then the resource data sync synchronizes data from AWS + // Organizations or from multiple AWS Regions. + // + // SyncType is a required field + SyncType *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateResourceDataSyncInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateResourceDataSyncInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateResourceDataSyncInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateResourceDataSyncInput"} + if s.SyncName == nil { + invalidParams.Add(request.NewErrParamRequired("SyncName")) + } + if s.SyncName != nil && len(*s.SyncName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SyncName", 1)) + } + if s.SyncSource == nil { + invalidParams.Add(request.NewErrParamRequired("SyncSource")) + } + if s.SyncType == nil { + invalidParams.Add(request.NewErrParamRequired("SyncType")) + } + if s.SyncType != nil && len(*s.SyncType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SyncType", 1)) + } + if s.SyncSource != nil { + if err := s.SyncSource.Validate(); err != nil { + invalidParams.AddNested("SyncSource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSyncName sets the SyncName field's value. +func (s *UpdateResourceDataSyncInput) SetSyncName(v string) *UpdateResourceDataSyncInput { + s.SyncName = &v + return s +} + +// SetSyncSource sets the SyncSource field's value. +func (s *UpdateResourceDataSyncInput) SetSyncSource(v *ResourceDataSyncSource) *UpdateResourceDataSyncInput { + s.SyncSource = v + return s +} + +// SetSyncType sets the SyncType field's value. +func (s *UpdateResourceDataSyncInput) SetSyncType(v string) *UpdateResourceDataSyncInput { + s.SyncType = &v + return s +} + +type UpdateResourceDataSyncOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateResourceDataSyncOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateResourceDataSyncOutput) GoString() string { + return s.String() +} + // The request body of the UpdateServiceSetting API action. type UpdateServiceSettingInput struct { _ struct{} `type:"structure"` @@ -37977,6 +38387,15 @@ const ( // DocumentTypePackage is a DocumentType enum value DocumentTypePackage = "Package" + + // DocumentTypeApplicationConfiguration is a DocumentType enum value + DocumentTypeApplicationConfiguration = "ApplicationConfiguration" + + // DocumentTypeApplicationConfigurationSchema is a DocumentType enum value + DocumentTypeApplicationConfigurationSchema = "ApplicationConfigurationSchema" + + // DocumentTypeDeploymentStrategy is a DocumentType enum value + DocumentTypeDeploymentStrategy = "DeploymentStrategy" ) const ( @@ -38340,6 +38759,9 @@ const ( // PatchComplianceDataStateInstalledOther is a PatchComplianceDataState enum value PatchComplianceDataStateInstalledOther = "INSTALLED_OTHER" + // PatchComplianceDataStateInstalledPendingReboot is a PatchComplianceDataState enum value + PatchComplianceDataStateInstalledPendingReboot = "INSTALLED_PENDING_REBOOT" + // PatchComplianceDataStateInstalledRejected is a PatchComplianceDataState enum value PatchComplianceDataStateInstalledRejected = "INSTALLED_REJECTED" @@ -38471,6 +38893,14 @@ const ( PlatformTypeLinux = "Linux" ) +const ( + // RebootOptionRebootIfNeeded is a RebootOption enum value + RebootOptionRebootIfNeeded = "RebootIfNeeded" + + // RebootOptionNoReboot is a RebootOption enum value + RebootOptionNoReboot = "NoReboot" +) + const ( // ResourceDataSyncS3FormatJsonSerDe is a ResourceDataSyncS3Format enum value ResourceDataSyncS3FormatJsonSerDe = "JsonSerDe" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go index 90c4a7771318..856eab8b001d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go @@ -614,6 +614,13 @@ const ( // A sync configuration with the same name already exists. ErrCodeResourceDataSyncAlreadyExistsException = "ResourceDataSyncAlreadyExistsException" + // ErrCodeResourceDataSyncConflictException for service response error code + // "ResourceDataSyncConflictException". + // + // Another UpdateResourceDataSync request is being processed. Wait a few minutes + // and try again. + ErrCodeResourceDataSyncConflictException = "ResourceDataSyncConflictException" + // ErrCodeResourceDataSyncCountExceededException for service response error code // "ResourceDataSyncCountExceededException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go index 59410b750da7..3f5918cd1fd5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go @@ -1655,7 +1655,8 @@ func (c *StorageGateway) DeleteBandwidthRateLimitRequest(input *DeleteBandwidthR // upload and download bandwidth rate limit, or you can delete both. If you // delete only one of the limits, the other limit remains unchanged. To specify // which gateway to work with, use the Amazon Resource Name (ARN) of the gateway -// in your request. +// in your request. This operation is supported for the stored volume, cached +// volume and tape gateway types. // // 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 @@ -1740,7 +1741,8 @@ func (c *StorageGateway) DeleteChapCredentialsRequest(input *DeleteChapCredentia // DeleteChapCredentials API operation for AWS Storage Gateway. // // Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for -// a specified iSCSI target and initiator pair. +// a specified iSCSI target and initiator pair. This operation is supported +// in volume and tape gateway types. // // 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 @@ -2326,6 +2328,92 @@ func (c *StorageGateway) DeleteVolumeWithContext(ctx aws.Context, input *DeleteV return out, req.Send() } +const opDescribeAvailabilityMonitorTest = "DescribeAvailabilityMonitorTest" + +// DescribeAvailabilityMonitorTestRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAvailabilityMonitorTest 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 DescribeAvailabilityMonitorTest for more information on using the DescribeAvailabilityMonitorTest +// 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 DescribeAvailabilityMonitorTestRequest method. +// req, resp := client.DescribeAvailabilityMonitorTestRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeAvailabilityMonitorTest +func (c *StorageGateway) DescribeAvailabilityMonitorTestRequest(input *DescribeAvailabilityMonitorTestInput) (req *request.Request, output *DescribeAvailabilityMonitorTestOutput) { + op := &request.Operation{ + Name: opDescribeAvailabilityMonitorTest, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeAvailabilityMonitorTestInput{} + } + + output = &DescribeAvailabilityMonitorTestOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAvailabilityMonitorTest API operation for AWS Storage Gateway. +// +// Returns information about the most recent High Availability monitoring test +// that was performed on the host in a cluster. If a test isn't performed, the +// status and start time in the response would be null. +// +// 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 Storage Gateway's +// API operation DescribeAvailabilityMonitorTest for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidGatewayRequestException "InvalidGatewayRequestException" +// An exception occurred because an invalid gateway request was issued to the +// service. For more information, see the error and message fields. +// +// * ErrCodeInternalServerError "InternalServerError" +// An internal server error has occurred during the request. For more information, +// see the error and message fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeAvailabilityMonitorTest +func (c *StorageGateway) DescribeAvailabilityMonitorTest(input *DescribeAvailabilityMonitorTestInput) (*DescribeAvailabilityMonitorTestOutput, error) { + req, out := c.DescribeAvailabilityMonitorTestRequest(input) + return out, req.Send() +} + +// DescribeAvailabilityMonitorTestWithContext is the same as DescribeAvailabilityMonitorTest with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAvailabilityMonitorTest 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 *StorageGateway) DescribeAvailabilityMonitorTestWithContext(ctx aws.Context, input *DescribeAvailabilityMonitorTestInput, opts ...request.Option) (*DescribeAvailabilityMonitorTestOutput, error) { + req, out := c.DescribeAvailabilityMonitorTestRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeBandwidthRateLimit = "DescribeBandwidthRateLimit" // DescribeBandwidthRateLimitRequest generates a "aws/request.Request" representing the @@ -2371,7 +2459,8 @@ func (c *StorageGateway) DescribeBandwidthRateLimitRequest(input *DescribeBandwi // DescribeBandwidthRateLimit API operation for AWS Storage Gateway. // // Returns the bandwidth rate limits of a gateway. By default, these limits -// are not set, which means no bandwidth rate limiting is in effect. +// are not set, which means no bandwidth rate limiting is in effect. This operation +// is supported for the stored volume, cached volume and tape gateway types.' // // This operation only returns a value for a bandwidth rate limit only if the // limit is set. If no limits are set for the gateway, then this operation returns @@ -2639,6 +2728,7 @@ func (c *StorageGateway) DescribeChapCredentialsRequest(input *DescribeChapCrede // // Returns an array of Challenge-Handshake Authentication Protocol (CHAP) credentials // information for a specified iSCSI target, one for each target-initiator pair. +// This operation is supported in the volume and tape gateway types. // // 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 @@ -4091,7 +4181,8 @@ func (c *StorageGateway) DetachVolumeRequest(input *DetachVolumeInput) (req *req // from the specified gateway. Detaching and attaching a volume enables you // to recover your data from one gateway to a different gateway without creating // a snapshot. It also makes it easier to move your volumes from an on-premises -// gateway to a gateway hosted on an Amazon EC2 instance. +// gateway to a gateway hosted on an Amazon EC2 instance. This operation is +// only supported in the volume gateway type. // // 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 @@ -4747,7 +4838,7 @@ func (c *StorageGateway) ListTagsForResourceRequest(input *ListTagsForResourceIn // ListTagsForResource API operation for AWS Storage Gateway. // // Lists the tags that have been added to the specified resource. This operation -// is only supported in the cached volume, stored volume and tape gateway type. +// is supported in storage gateways of all types. // // 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 @@ -5476,6 +5567,17 @@ func (c *StorageGateway) RefreshCacheRequest(input *RefreshCacheInput) (req *req // for new files on the gateway file share. You can subscribe to be notified // through an CloudWatch event when your RefreshCache operation completes. // +// Throttle limit: This API is asynchronous so the gateway will accept no more +// than two refreshes at any time. We recommend using the refresh-complete CloudWatch +// event notification before issuing additional requests. For more information, +// see Getting Notified About File Operations (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification). +// +// If you invoke the RefreshCache API when two requests are already being processed, +// any new request will cause an InvalidGatewayRequestException error because +// too many requests were sent to the server. +// +// For more information, see "https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification". +// // 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. @@ -5558,8 +5660,8 @@ func (c *StorageGateway) RemoveTagsFromResourceRequest(input *RemoveTagsFromReso // RemoveTagsFromResource API operation for AWS Storage Gateway. // -// Removes one or more tags from the specified resource. This operation is only -// supported in the cached volume, stored volume and tape gateway types. +// Removes one or more tags from the specified resource. This operation is supported +// in storage gateways of all types. // // 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 @@ -6156,6 +6258,96 @@ func (c *StorageGateway) ShutdownGatewayWithContext(ctx aws.Context, input *Shut return out, req.Send() } +const opStartAvailabilityMonitorTest = "StartAvailabilityMonitorTest" + +// StartAvailabilityMonitorTestRequest generates a "aws/request.Request" representing the +// client's request for the StartAvailabilityMonitorTest 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 StartAvailabilityMonitorTest for more information on using the StartAvailabilityMonitorTest +// 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 StartAvailabilityMonitorTestRequest method. +// req, resp := client.StartAvailabilityMonitorTestRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/StartAvailabilityMonitorTest +func (c *StorageGateway) StartAvailabilityMonitorTestRequest(input *StartAvailabilityMonitorTestInput) (req *request.Request, output *StartAvailabilityMonitorTestOutput) { + op := &request.Operation{ + Name: opStartAvailabilityMonitorTest, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartAvailabilityMonitorTestInput{} + } + + output = &StartAvailabilityMonitorTestOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartAvailabilityMonitorTest API operation for AWS Storage Gateway. +// +// Start a test that verifies that the specified gateway is configured for High +// Availability monitoring in your host environment. This request only initiates +// the test and that a successful response only indicates that the test was +// started. It doesn't indicate that the test passed. For the status of the +// test, invoke the DescribeAvailabilityMonitorTest API. +// +// Starting this test will cause your gateway to go offline for a brief period. +// +// 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 Storage Gateway's +// API operation StartAvailabilityMonitorTest for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidGatewayRequestException "InvalidGatewayRequestException" +// An exception occurred because an invalid gateway request was issued to the +// service. For more information, see the error and message fields. +// +// * ErrCodeInternalServerError "InternalServerError" +// An internal server error has occurred during the request. For more information, +// see the error and message fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/StartAvailabilityMonitorTest +func (c *StorageGateway) StartAvailabilityMonitorTest(input *StartAvailabilityMonitorTestInput) (*StartAvailabilityMonitorTestOutput, error) { + req, out := c.StartAvailabilityMonitorTestRequest(input) + return out, req.Send() +} + +// StartAvailabilityMonitorTestWithContext is the same as StartAvailabilityMonitorTest with the addition of +// the ability to pass a context and additional request options. +// +// See StartAvailabilityMonitorTest 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 *StorageGateway) StartAvailabilityMonitorTestWithContext(ctx aws.Context, input *StartAvailabilityMonitorTestInput, opts ...request.Option) (*StartAvailabilityMonitorTestOutput, error) { + req, out := c.StartAvailabilityMonitorTestRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartGateway = "StartGateway" // StartGatewayRequest generates a "aws/request.Request" representing the @@ -6297,7 +6489,8 @@ func (c *StorageGateway) UpdateBandwidthRateLimitRequest(input *UpdateBandwidthR // // Updates the bandwidth rate limits of a gateway. You can update both the upload // and download bandwidth rate limit or specify only one of the two. If you -// don't set a bandwidth rate limit, the existing rate limit remains. +// don't set a bandwidth rate limit, the existing rate limit remains. This operation +// is supported for the stored volume, cached volume and tape gateway types.' // // By default, a gateway's bandwidth rate limits are not set. If you don't set // any limit, the gateway does not have any limitations on its bandwidth usage @@ -6390,7 +6583,8 @@ func (c *StorageGateway) UpdateChapCredentialsRequest(input *UpdateChapCredentia // // Updates the Challenge-Handshake Authentication Protocol (CHAP) credentials // for a specified iSCSI target. By default, a gateway does not have CHAP enabled; -// however, for added security, you might use it. +// however, for added security, you might use it. This operation is supported +// in the volume and tape gateway types. // // When you update CHAP credentials, all existing connections on the target // are closed and initiators must reconnect with the new credentials. @@ -10648,6 +10842,92 @@ func (s *DeleteVolumeOutput) SetVolumeARN(v string) *DeleteVolumeOutput { return s } +type DescribeAvailabilityMonitorTestInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation + // to return a list of gateways for your account and AWS Region. + // + // GatewayARN is a required field + GatewayARN *string `min:"50" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeAvailabilityMonitorTestInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAvailabilityMonitorTestInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAvailabilityMonitorTestInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAvailabilityMonitorTestInput"} + if s.GatewayARN == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayARN")) + } + if s.GatewayARN != nil && len(*s.GatewayARN) < 50 { + invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayARN sets the GatewayARN field's value. +func (s *DescribeAvailabilityMonitorTestInput) SetGatewayARN(v string) *DescribeAvailabilityMonitorTestInput { + s.GatewayARN = &v + return s +} + +type DescribeAvailabilityMonitorTestOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation + // to return a list of gateways for your account and AWS Region. + GatewayARN *string `min:"50" type:"string"` + + // The time the High Availability monitoring test was started. If a test hasn't + // been performed, the value of this field is null. + StartTime *time.Time `type:"timestamp"` + + // The status of the High Availability monitoring test. If a test hasn't been + // performed, the value of this field is null. + Status *string `type:"string" enum:"AvailabilityMonitorTestStatus"` +} + +// String returns the string representation +func (s DescribeAvailabilityMonitorTestOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAvailabilityMonitorTestOutput) GoString() string { + return s.String() +} + +// SetGatewayARN sets the GatewayARN field's value. +func (s *DescribeAvailabilityMonitorTestOutput) SetGatewayARN(v string) *DescribeAvailabilityMonitorTestOutput { + s.GatewayARN = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *DescribeAvailabilityMonitorTestOutput) SetStartTime(v time.Time) *DescribeAvailabilityMonitorTestOutput { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeAvailabilityMonitorTestOutput) SetStatus(v string) *DescribeAvailabilityMonitorTestOutput { + s.Status = &v + return s +} + // A JSON object containing the of the gateway. type DescribeBandwidthRateLimitInput struct { _ struct{} `type:"structure"` @@ -11058,8 +11338,8 @@ func (s *DescribeGatewayInformationInput) SetGatewayARN(v string) *DescribeGatew type DescribeGatewayInformationOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was - // used to monitor and log events in the gateway. + // The Amazon Resource Name (ARN) of the Amazon CloudWatch Log Group that is + // used to monitor events in the gateway. CloudWatchLogGroupARN *string `type:"string"` // The ID of the Amazon EC2 instance that was used to launch the gateway. @@ -11093,6 +11373,9 @@ type DescribeGatewayInformationOutput struct { // The type of the gateway. GatewayType *string `min:"2" type:"string"` + // The type of hypervisor environment used by the host. + HostEnvironment *string `type:"string" enum:"HostEnvironment"` + // The date on which the last software update was applied to the gateway. If // the gateway has never been updated, this field does not return a value in // the response. @@ -11183,6 +11466,12 @@ func (s *DescribeGatewayInformationOutput) SetGatewayType(v string) *DescribeGat return s } +// SetHostEnvironment sets the HostEnvironment field's value. +func (s *DescribeGatewayInformationOutput) SetHostEnvironment(v string) *DescribeGatewayInformationOutput { + s.HostEnvironment = &v + return s +} + // SetLastSoftwareUpdate sets the LastSoftwareUpdate field's value. func (s *DescribeGatewayInformationOutput) SetLastSoftwareUpdate(v string) *DescribeGatewayInformationOutput { s.LastSoftwareUpdate = &v @@ -11520,6 +11809,28 @@ func (s *DescribeSMBSettingsInput) SetGatewayARN(v string) *DescribeSMBSettingsI type DescribeSMBSettingsOutput struct { _ struct{} `type:"structure"` + // Indicates the status of a gateway that is a member of the Active Directory + // domain. + // + // * ACCESS_DENIED: Indicates that the JoinDomain operation failed due to + // an authentication error. + // + // * DETACHED: Indicates that gateway is not joined to a domain. + // + // * JOINED: Indicates that the gateway has successfully joined a domain. + // + // * JOINING: Indicates that a JoinDomain operation is in progress. + // + // * NETWORK_ERROR: Indicates that JoinDomain operation failed due to a network + // or connectivity error. + // + // * TIMEOUT: Indicates that the JoinDomain operation failed because the + // operation didn't complete within the allotted time. + // + // * UNKNOWN_ERROR: Indicates that the JoinDomain operation failed due to + // another type of error. + ActiveDirectoryStatus *string `type:"string" enum:"ActiveDirectoryStatus"` + // The name of the domain that the gateway is joined to. DomainName *string `min:"1" type:"string"` @@ -11558,6 +11869,12 @@ func (s DescribeSMBSettingsOutput) GoString() string { return s.String() } +// SetActiveDirectoryStatus sets the ActiveDirectoryStatus field's value. +func (s *DescribeSMBSettingsOutput) SetActiveDirectoryStatus(v string) *DescribeSMBSettingsOutput { + s.ActiveDirectoryStatus = &v + return s +} + // SetDomainName sets the DomainName field's value. func (s *DescribeSMBSettingsOutput) SetDomainName(v string) *DescribeSMBSettingsOutput { s.DomainName = &v @@ -12972,8 +13289,14 @@ type JoinDomainInput struct { // Password is a required field Password *string `min:"1" type:"string" required:"true" sensitive:"true"` + // Specifies the time in seconds, in which the JoinDomain operation must complete. + // The default is 20 seconds. + TimeoutInSeconds *int64 `type:"integer"` + // Sets the user name of user who has permission to add the gateway to the Active - // Directory domain. + // Directory domain. The domain user account should be enabled to join computers + // to the domain. For example, you can use the domain administrator account + // or an account with delegated permissions to join computers to the domain. // // UserName is a required field UserName *string `min:"1" type:"string" required:"true"` @@ -13056,6 +13379,12 @@ func (s *JoinDomainInput) SetPassword(v string) *JoinDomainInput { return s } +// SetTimeoutInSeconds sets the TimeoutInSeconds field's value. +func (s *JoinDomainInput) SetTimeoutInSeconds(v int64) *JoinDomainInput { + s.TimeoutInSeconds = &v + return s +} + // SetUserName sets the UserName field's value. func (s *JoinDomainInput) SetUserName(v string) *JoinDomainInput { s.UserName = &v @@ -13066,6 +13395,27 @@ func (s *JoinDomainInput) SetUserName(v string) *JoinDomainInput { type JoinDomainOutput struct { _ struct{} `type:"structure"` + // Indicates the status of the gateway as a member of the Active Directory domain. + // + // * ACCESS_DENIED: Indicates that the JoinDomain operation failed due to + // an authentication error. + // + // * DETACHED: Indicates that gateway is not joined to a domain. + // + // * JOINED: Indicates that the gateway has successfully joined a domain. + // + // * JOINING: Indicates that a JoinDomain operation is in progress. + // + // * NETWORK_ERROR: Indicates that JoinDomain operation failed due to a network + // or connectivity error. + // + // * TIMEOUT: Indicates that the JoinDomain operation failed because the + // operation didn't complete within the allotted time. + // + // * UNKNOWN_ERROR: Indicates that the JoinDomain operation failed due to + // another type of error. + ActiveDirectoryStatus *string `type:"string" enum:"ActiveDirectoryStatus"` + // The unique Amazon Resource Name (ARN) of the gateway that joined the domain. GatewayARN *string `min:"50" type:"string"` } @@ -13080,6 +13430,12 @@ func (s JoinDomainOutput) GoString() string { return s.String() } +// SetActiveDirectoryStatus sets the ActiveDirectoryStatus field's value. +func (s *JoinDomainOutput) SetActiveDirectoryStatus(v string) *JoinDomainOutput { + s.ActiveDirectoryStatus = &v + return s +} + // SetGatewayARN sets the GatewayARN field's value. func (s *JoinDomainOutput) SetGatewayARN(v string) *JoinDomainOutput { s.GatewayARN = &v @@ -15151,6 +15507,72 @@ func (s *ShutdownGatewayOutput) SetGatewayARN(v string) *ShutdownGatewayOutput { return s } +type StartAvailabilityMonitorTestInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation + // to return a list of gateways for your account and AWS Region. + // + // GatewayARN is a required field + GatewayARN *string `min:"50" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartAvailabilityMonitorTestInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartAvailabilityMonitorTestInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartAvailabilityMonitorTestInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartAvailabilityMonitorTestInput"} + if s.GatewayARN == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayARN")) + } + if s.GatewayARN != nil && len(*s.GatewayARN) < 50 { + invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayARN sets the GatewayARN field's value. +func (s *StartAvailabilityMonitorTestInput) SetGatewayARN(v string) *StartAvailabilityMonitorTestInput { + s.GatewayARN = &v + return s +} + +type StartAvailabilityMonitorTestOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation + // to return a list of gateways for your account and AWS Region. + GatewayARN *string `min:"50" type:"string"` +} + +// String returns the string representation +func (s StartAvailabilityMonitorTestOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartAvailabilityMonitorTestOutput) GoString() string { + return s.String() +} + +// SetGatewayARN sets the GatewayARN field's value. +func (s *StartAvailabilityMonitorTestOutput) SetGatewayARN(v string) *StartAvailabilityMonitorTestOutput { + s.GatewayARN = &v + return s +} + // A JSON object containing the of the gateway to start. type StartGatewayInput struct { _ struct{} `type:"structure"` @@ -17358,6 +17780,40 @@ func (s *VolumeiSCSIAttributes) SetTargetARN(v string) *VolumeiSCSIAttributes { return s } +const ( + // ActiveDirectoryStatusAccessDenied is a ActiveDirectoryStatus enum value + ActiveDirectoryStatusAccessDenied = "ACCESS_DENIED" + + // ActiveDirectoryStatusDetached is a ActiveDirectoryStatus enum value + ActiveDirectoryStatusDetached = "DETACHED" + + // ActiveDirectoryStatusJoined is a ActiveDirectoryStatus enum value + ActiveDirectoryStatusJoined = "JOINED" + + // ActiveDirectoryStatusJoining is a ActiveDirectoryStatus enum value + ActiveDirectoryStatusJoining = "JOINING" + + // ActiveDirectoryStatusNetworkError is a ActiveDirectoryStatus enum value + ActiveDirectoryStatusNetworkError = "NETWORK_ERROR" + + // ActiveDirectoryStatusTimeout is a ActiveDirectoryStatus enum value + ActiveDirectoryStatusTimeout = "TIMEOUT" + + // ActiveDirectoryStatusUnknownError is a ActiveDirectoryStatus enum value + ActiveDirectoryStatusUnknownError = "UNKNOWN_ERROR" +) + +const ( + // AvailabilityMonitorTestStatusComplete is a AvailabilityMonitorTestStatus enum value + AvailabilityMonitorTestStatusComplete = "COMPLETE" + + // AvailabilityMonitorTestStatusFailed is a AvailabilityMonitorTestStatus enum value + AvailabilityMonitorTestStatusFailed = "FAILED" + + // AvailabilityMonitorTestStatusPending is a AvailabilityMonitorTestStatus enum value + AvailabilityMonitorTestStatusPending = "PENDING" +) + const ( // ErrorCodeActivationKeyExpired is a ErrorCode enum value ErrorCodeActivationKeyExpired = "ActivationKeyExpired" @@ -17452,6 +17908,9 @@ const ( // ErrorCodeLunInvalid is a ErrorCode enum value ErrorCodeLunInvalid = "LunInvalid" + // ErrorCodeJoinDomainInProgress is a ErrorCode enum value + ErrorCodeJoinDomainInProgress = "JoinDomainInProgress" + // ErrorCodeMaximumContentLengthExceeded is a ErrorCode enum value ErrorCodeMaximumContentLengthExceeded = "MaximumContentLengthExceeded" @@ -17552,6 +18011,20 @@ const ( FileShareTypeSmb = "SMB" ) +const ( + // HostEnvironmentVmware is a HostEnvironment enum value + HostEnvironmentVmware = "VMWARE" + + // HostEnvironmentHyperV is a HostEnvironment enum value + HostEnvironmentHyperV = "HYPER-V" + + // HostEnvironmentEc2 is a HostEnvironment enum value + HostEnvironmentEc2 = "EC2" + + // HostEnvironmentOther is a HostEnvironment enum value + HostEnvironmentOther = "OTHER" +) + // A value that sets the access control list permission for objects in the S3 // bucket that a file gateway puts objects into. The default value is "private". const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go index 9c5ed454536a..7f60d4aa1851 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go @@ -78,6 +78,8 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) // in the IAM User Guide. // +// Session Duration +// // By default, the temporary security credentials created by AssumeRole last // for one hour. However, you can use the optional DurationSeconds parameter // to specify the duration of your session. You can provide a value from 900 @@ -91,6 +93,8 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // URL. For more information, see Using IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) // in the IAM User Guide. // +// Permissions +// // The temporary security credentials created by AssumeRole can be used to make // API calls to any AWS service with the following exception: You cannot call // the AWS STS GetFederationToken or GetSessionToken API operations. @@ -99,7 +103,7 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // to this operation. You can pass a single JSON policy document to use as an // inline session policy. You can also specify up to 10 managed policies to // use as managed session policies. The plain text that you use for both inline -// and managed session policies shouldn't exceed 2048 characters. Passing policies +// and managed session policies can't exceed 2,048 characters. Passing policies // to this operation returns new temporary credentials. The resulting session's // permissions are the intersection of the role's identity-based policy and // the session policies. You can use the role's temporary credentials in subsequent @@ -131,6 +135,24 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) // in the IAM User Guide. // +// Tags +// +// (Optional) You can pass tag key-value pairs to your session. These tags are +// called session tags. For more information about session tags, see Passing +// Session Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) +// in the IAM User Guide. +// +// An administrator must grant you the permissions necessary to pass session +// tags. The administrator can also create granular permissions to allow you +// to pass only specific session tags. For more information, see Tutorial: Using +// Tags for Attribute-Based Access Control (https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) +// in the IAM User Guide. +// +// You can set the session tags as transitive. Transitive tags persist during +// role chaining. For more information, see Chaining Roles with Session Tags +// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining) +// in the IAM User Guide. +// // Using MFA with AssumeRole // // (Optional) You can include multi-factor authentication (MFA) information @@ -165,9 +187,18 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o // message describes the specific error. // // * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" -// The request was rejected because the policy document was too large. The error -// message describes how big the policy document is, in packed form, as a percentage -// of what the API allows. +// The request was rejected because the total packed size of the session policies +// and session tags combined was too large. An AWS conversion compresses the +// session policy document, session policy ARNs, and session tags into a packed +// binary format that has a separate limit. The error message indicates by percentage +// how close the policies and tags are to the upper size limit. For more information, +// see Passing Session Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) +// in the IAM User Guide. +// +// You could receive this error even though you meet other defined session policy +// and session tag limits. For more information, see IAM and STS Entity Character +// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. // // * ErrCodeRegionDisabledException "RegionDisabledException" // STS is not activated in the requested region for the account that is being @@ -256,6 +287,8 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // an access key ID, a secret access key, and a security token. Applications // can use these temporary security credentials to sign calls to AWS services. // +// Session Duration +// // By default, the temporary security credentials created by AssumeRoleWithSAML // last for one hour. However, you can use the optional DurationSeconds parameter // to specify the duration of your session. Your role session lasts for the @@ -271,6 +304,8 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // URL. For more information, see Using IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) // in the IAM User Guide. // +// Permissions +// // The temporary security credentials created by AssumeRoleWithSAML can be used // to make API calls to any AWS service with the following exception: you cannot // call the STS GetFederationToken or GetSessionToken API operations. @@ -279,7 +314,7 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // to this operation. You can pass a single JSON policy document to use as an // inline session policy. You can also specify up to 10 managed policies to // use as managed session policies. The plain text that you use for both inline -// and managed session policies shouldn't exceed 2048 characters. Passing policies +// and managed session policies can't exceed 2,048 characters. Passing policies // to this operation returns new temporary credentials. The resulting session's // permissions are the intersection of the role's identity-based policy and // the session policies. You can use the role's temporary credentials in subsequent @@ -289,12 +324,6 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // -// Before your application can call AssumeRoleWithSAML, you must configure your -// SAML identity provider (IdP) to issue the claims required by AWS. Additionally, -// you must use AWS Identity and Access Management (IAM) to create a SAML provider -// entity in your AWS account that represents your identity provider. You must -// also create an IAM role that specifies this SAML provider in its trust policy. -// // Calling AssumeRoleWithSAML does not require the use of AWS security credentials. // The identity of the caller is validated by using keys in the metadata document // that is uploaded for the SAML provider entity for your identity provider. @@ -302,8 +331,50 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail // logs. The entry includes the value in the NameID element of the SAML assertion. // We recommend that you use a NameIDType that is not associated with any personally -// identifiable information (PII). For example, you could instead use the Persistent -// Identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent). +// identifiable information (PII). For example, you could instead use the persistent +// identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent). +// +// Tags +// +// (Optional) You can configure your IdP to pass attributes into your SAML assertion +// as session tags. Each session tag consists of a key name and an associated +// value. For more information about session tags, see Passing Session Tags +// in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) +// in the IAM User Guide. +// +// You can pass up to 50 session tags. The plain text session tag keys can’t +// exceed 128 characters and the values can’t exceed 256 characters. For these +// and additional limits, see IAM and STS Character Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length) +// in the IAM User Guide. +// +// An AWS conversion compresses the passed session policies and session tags +// into a packed binary format that has a separate limit. Your request can fail +// for this limit even if your plain text meets the other requirements. The +// PackedPolicySize response element indicates by percentage how close the policies +// and tags for your request are to the upper size limit. +// +// You can pass a session tag with the same key as a tag that is attached to +// the role. When you do, session tags override the role's tags with the same +// key. +// +// An administrator must grant you the permissions necessary to pass session +// tags. The administrator can also create granular permissions to allow you +// to pass only specific session tags. For more information, see Tutorial: Using +// Tags for Attribute-Based Access Control (https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) +// in the IAM User Guide. +// +// You can set the session tags as transitive. Transitive tags persist during +// role chaining. For more information, see Chaining Roles with Session Tags +// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining) +// in the IAM User Guide. +// +// SAML Configuration +// +// Before your application can call AssumeRoleWithSAML, you must configure your +// SAML identity provider (IdP) to issue the claims required by AWS. Additionally, +// you must use AWS Identity and Access Management (IAM) to create a SAML provider +// entity in your AWS account that represents your identity provider. You must +// also create an IAM role that specifies this SAML provider in its trust policy. // // For more information, see the following resources: // @@ -332,9 +403,18 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re // message describes the specific error. // // * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" -// The request was rejected because the policy document was too large. The error -// message describes how big the policy document is, in packed form, as a percentage -// of what the API allows. +// The request was rejected because the total packed size of the session policies +// and session tags combined was too large. An AWS conversion compresses the +// session policy document, session policy ARNs, and session tags into a packed +// binary format that has a separate limit. The error message indicates by percentage +// how close the policies and tags are to the upper size limit. For more information, +// see Passing Session Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) +// in the IAM User Guide. +// +// You could receive this error even though you meet other defined session policy +// and session tag limits. For more information, see IAM and STS Entity Character +// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. // // * ErrCodeIDPRejectedClaimException "IDPRejectedClaim" // The identity provider (IdP) reported that authentication failed. This might @@ -456,6 +536,8 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // key ID, a secret access key, and a security token. Applications can use these // temporary security credentials to sign calls to AWS service API operations. // +// Session Duration +// // By default, the temporary security credentials created by AssumeRoleWithWebIdentity // last for one hour. However, you can use the optional DurationSeconds parameter // to specify the duration of your session. You can provide a value from 900 @@ -469,6 +551,8 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // URL. For more information, see Using IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) // in the IAM User Guide. // +// Permissions +// // The temporary security credentials created by AssumeRoleWithWebIdentity can // be used to make API calls to any AWS service with the following exception: // you cannot call the STS GetFederationToken or GetSessionToken API operations. @@ -477,7 +561,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // to this operation. You can pass a single JSON policy document to use as an // inline session policy. You can also specify up to 10 managed policies to // use as managed session policies. The plain text that you use for both inline -// and managed session policies shouldn't exceed 2048 characters. Passing policies +// and managed session policies can't exceed 2,048 characters. Passing policies // to this operation returns new temporary credentials. The resulting session's // permissions are the intersection of the role's identity-based policy and // the session policies. You can use the role's temporary credentials in subsequent @@ -487,6 +571,42 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // +// Tags +// +// (Optional) You can configure your IdP to pass attributes into your web identity +// token as session tags. Each session tag consists of a key name and an associated +// value. For more information about session tags, see Passing Session Tags +// in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) +// in the IAM User Guide. +// +// You can pass up to 50 session tags. The plain text session tag keys can’t +// exceed 128 characters and the values can’t exceed 256 characters. For these +// and additional limits, see IAM and STS Character Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length) +// in the IAM User Guide. +// +// An AWS conversion compresses the passed session policies and session tags +// into a packed binary format that has a separate limit. Your request can fail +// for this limit even if your plain text meets the other requirements. The +// PackedPolicySize response element indicates by percentage how close the policies +// and tags for your request are to the upper size limit. +// +// You can pass a session tag with the same key as a tag that is attached to +// the role. When you do, the session tag overrides the role tag with the same +// key. +// +// An administrator must grant you the permissions necessary to pass session +// tags. The administrator can also create granular permissions to allow you +// to pass only specific session tags. For more information, see Tutorial: Using +// Tags for Attribute-Based Access Control (https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) +// in the IAM User Guide. +// +// You can set the session tags as transitive. Transitive tags persist during +// role chaining. For more information, see Chaining Roles with Session Tags +// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining) +// in the IAM User Guide. +// +// Identities +// // Before your application can call AssumeRoleWithWebIdentity, you must have // an identity token from a supported identity provider and create a role that // the application can assume. The role that your application assumes must trust @@ -514,8 +634,8 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // * AWS SDK for iOS Developer Guide (http://aws.amazon.com/sdkforios/) and // AWS SDK for Android Developer Guide (http://aws.amazon.com/sdkforandroid/). // These toolkits contain sample apps that show how to invoke the identity -// providers, and then how to use the information from these providers to -// get and use temporary security credentials. +// providers. The toolkits then show how to use the information from these +// providers to get and use temporary security credentials. // // * Web Identity Federation with Mobile Applications (http://aws.amazon.com/articles/web-identity-federation-with-mobile-applications). // This article discusses web identity federation and shows an example of @@ -535,9 +655,18 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // message describes the specific error. // // * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" -// The request was rejected because the policy document was too large. The error -// message describes how big the policy document is, in packed form, as a percentage -// of what the API allows. +// The request was rejected because the total packed size of the session policies +// and session tags combined was too large. An AWS conversion compresses the +// session policy document, session policy ARNs, and session tags into a packed +// binary format that has a separate limit. The error message indicates by percentage +// how close the policies and tags are to the upper size limit. For more information, +// see Passing Session Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) +// in the IAM User Guide. +// +// You could receive this error even though you meet other defined session policy +// and session tag limits. For more information, see IAM and STS Entity Character +// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. // // * ErrCodeIDPRejectedClaimException "IDPRejectedClaim" // The identity provider (IdP) reported that authentication failed. This might @@ -547,11 +676,11 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI // can also mean that the claim has expired or has been explicitly revoked. // // * ErrCodeIDPCommunicationErrorException "IDPCommunicationError" -// The request could not be fulfilled because the non-AWS identity provider -// (IDP) that was asked to verify the incoming identity token could not be reached. -// This is often a transient error caused by network conditions. Retry the request +// The request could not be fulfilled because the identity provider (IDP) that +// was asked to verify the incoming identity token could not be reached. This +// is often a transient error caused by network conditions. Retry the request // a limited number of times so that you don't exceed the request rate. If the -// error persists, the non-AWS identity provider might be down or not responding. +// error persists, the identity provider might be down or not responding. // // * ErrCodeInvalidIdentityTokenException "InvalidIdentityToken" // The web identity token that was passed could not be validated by AWS. Get @@ -676,9 +805,9 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag // // Returned Error Codes: // * ErrCodeInvalidAuthorizationMessageException "InvalidAuthorizationMessageException" -// This error is returned if the message passed to DecodeAuthorizationMessage -// was invalid. This can happen if the token contains invalid characters, such -// as linebreaks. +// The error returned if the message passed to DecodeAuthorizationMessage was +// invalid. This can happen if the token contains invalid characters, such as +// linebreaks. // // See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage func (c *STS) DecodeAuthorizationMessage(input *DecodeAuthorizationMessageInput) (*DecodeAuthorizationMessageOutput, error) { @@ -763,7 +892,8 @@ func (c *STS) GetAccessKeyInfoRequest(input *GetAccessKeyInfoInput) (req *reques // pull a credentials report (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_getting-report.html) // to learn which IAM user owns the keys. To learn who requested the temporary // credentials for an ASIA access key, view the STS events in your CloudTrail -// logs (https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html). +// logs (https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html) +// in the IAM User Guide. // // This operation does not indicate the state of the access key. The key might // be active, inactive, or deleted. Active keys might not have permissions to @@ -850,7 +980,8 @@ func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *requ // sts:GetCallerIdentity action, you can still perform this operation. Permissions // are not required because the same information is returned when an IAM user // or role is denied access. To view an example response, see I Am Not Authorized -// to Perform: iam:DeleteVirtualMFADevice (https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_access-denied-delete-mfa). +// to Perform: iam:DeleteVirtualMFADevice (https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_access-denied-delete-mfa) +// 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 @@ -942,7 +1073,8 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // or an OpenID Connect-compatible identity provider. In this case, we recommend // that you use Amazon Cognito (http://aws.amazon.com/cognito/) or AssumeRoleWithWebIdentity. // For more information, see Federation Through a Web-based Identity Provider -// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity). +// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity) +// in the IAM User Guide. // // You can also call GetFederationToken using the security credentials of an // AWS account root user, but we do not recommend it. Instead, we recommend @@ -952,41 +1084,67 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // Practices (https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) // in the IAM User Guide. // +// Session duration +// // The temporary credentials are valid for the specified duration, from 900 // seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default -// is 43,200 seconds (12 hours). Temporary credentials that are obtained by -// using AWS account root user credentials have a maximum duration of 3,600 -// seconds (1 hour). +// session duration is 43,200 seconds (12 hours). Temporary credentials that +// are obtained by using AWS account root user credentials have a maximum duration +// of 3,600 seconds (1 hour). // -// The temporary security credentials created by GetFederationToken can be used -// to make API calls to any AWS service with the following exceptions: +// Permissions // -// * You cannot use these credentials to call any IAM API operations. +// You can use the temporary credentials created by GetFederationToken in any +// AWS service except the following: // -// * You cannot call any STS API operations except GetCallerIdentity. +// * You cannot call any IAM operations using the AWS CLI or the AWS API. // -// Permissions +// * You cannot call any STS operations except GetCallerIdentity. // // You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // to this operation. You can pass a single JSON policy document to use as an // inline session policy. You can also specify up to 10 managed policies to // use as managed session policies. The plain text that you use for both inline -// and managed session policies shouldn't exceed 2048 characters. +// and managed session policies can't exceed 2,048 characters. // // Though the session policy parameters are optional, if you do not pass a policy, -// then the resulting federated user session has no permissions. The only exception -// is when the credentials are used to access a resource that has a resource-based -// policy that specifically references the federated user session in the Principal -// element of the policy. When you pass session policies, the session permissions -// are the intersection of the IAM user policies and the session policies that -// you pass. This gives you a way to further restrict the permissions for a -// federated user. You cannot use session policies to grant more permissions -// than those that are defined in the permissions policy of the IAM user. For -// more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) +// then the resulting federated user session has no permissions. When you pass +// session policies, the session permissions are the intersection of the IAM +// user policies and the session policies that you pass. This gives you a way +// to further restrict the permissions for a federated user. You cannot use +// session policies to grant more permissions than those that are defined in +// the permissions policy of the IAM user. For more information, see Session +// Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. For information about using GetFederationToken to // create temporary security credentials, see GetFederationToken—Federation // Through a Custom Identity Broker (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken). // +// You can use the credentials to access a resource that has a resource-based +// policy. If that policy specifically references the federated user session +// in the Principal element of the policy, the session has the permissions allowed +// by the policy. These permissions are granted in addition to the permissions +// granted by the session policies. +// +// Tags +// +// (Optional) You can pass tag key-value pairs to your session. These are called +// session tags. For more information about session tags, see Passing Session +// Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) +// in the IAM User Guide. +// +// An administrator must grant you the permissions necessary to pass session +// tags. The administrator can also create granular permissions to allow you +// to pass only specific session tags. For more information, see Tutorial: Using +// Tags for Attribute-Based Access Control (https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) +// in the IAM User Guide. +// +// Tag key–value pairs are not case sensitive, but case is preserved. This +// means that you cannot have separate Department and department tag keys. Assume +// that the user that you are federating has the Department=Marketing tag and +// you pass the department=engineering session tag. Department and department +// are not saved as separate tags, and the session tag passed in the request +// takes precedence over the user tag. +// // 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. @@ -1000,9 +1158,18 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re // message describes the specific error. // // * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" -// The request was rejected because the policy document was too large. The error -// message describes how big the policy document is, in packed form, as a percentage -// of what the API allows. +// The request was rejected because the total packed size of the session policies +// and session tags combined was too large. An AWS conversion compresses the +// session policy document, session policy ARNs, and session tags into a packed +// binary format that has a separate limit. The error message indicates by percentage +// how close the policies and tags are to the upper size limit. For more information, +// see Passing Session Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) +// in the IAM User Guide. +// +// You could receive this error even though you meet other defined session policy +// and session tag limits. For more information, see IAM and STS Entity Character +// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. // // * ErrCodeRegionDisabledException "RegionDisabledException" // STS is not activated in the requested region for the account that is being @@ -1091,6 +1258,8 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request. // and Comparing the AWS STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) // in the IAM User Guide. // +// Session Duration +// // The GetSessionToken operation must be called by using the long-term AWS security // credentials of the AWS account root user or an IAM user. Credentials that // are created by IAM users are valid for the duration that you specify. This @@ -1099,6 +1268,8 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request. // based on account credentials can range from 900 seconds (15 minutes) up to // 3,600 seconds (1 hour), with a default of 1 hour. // +// Permissions +// // The temporary security credentials created by GetSessionToken can be used // to make API calls to any AWS service with the following exceptions: // @@ -1213,16 +1384,16 @@ type AssumeRoleInput struct { // in the IAM User Guide. // // The plain text that you use for both inline and managed session policies - // shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII + // can't exceed 2,048 characters. The JSON policy characters can be any ASCII // character from the space character to the end of the valid character list // (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // and carriage return (\u000D) characters. // - // The characters in this parameter count towards the 2048 character session - // policy guideline. However, an AWS conversion compresses the session policies - // into a packed binary format that has a separate limit. This is the enforced - // limit. The PackedPolicySize response element indicates by percentage how - // close the policy is to the upper size limit. + // An AWS conversion compresses the passed session policies and session tags + // into a packed binary format that has a separate limit. Your request can fail + // for this limit even if your plain text meets the other requirements. The + // PackedPolicySize response element indicates by percentage how close the policies + // and tags for your request are to the upper size limit. Policy *string `min:"1" type:"string"` // The Amazon Resource Names (ARNs) of the IAM managed policies that you want @@ -1231,15 +1402,15 @@ type AssumeRoleInput struct { // // This parameter is optional. You can provide up to 10 managed policy ARNs. // However, the plain text that you use for both inline and managed session - // policies shouldn't exceed 2048 characters. For more information about ARNs, + // policies can't exceed 2,048 characters. For more information about ARNs, // see 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. // - // The characters in this parameter count towards the 2048 character session - // policy guideline. However, an AWS conversion compresses the session policies - // into a packed binary format that has a separate limit. This is the enforced - // limit. The PackedPolicySize response element indicates by percentage how - // close the policy is to the upper size limit. + // An AWS conversion compresses the passed session policies and session tags + // into a packed binary format that has a separate limit. Your request can fail + // for this limit even if your plain text meets the other requirements. The + // PackedPolicySize response element indicates by percentage how close the policies + // and tags for your request are to the upper size limit. // // Passing policies to this operation returns new temporary credentials. The // resulting session's permissions are the intersection of the role's identity-based @@ -1284,6 +1455,41 @@ type AssumeRoleInput struct { // also include underscores or any of the following characters: =,.@- SerialNumber *string `min:"9" type:"string"` + // A list of session tags that you want to pass. Each session tag consists of + // a key name and an associated value. For more information about session tags, + // see Tagging AWS STS Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) + // in the IAM User Guide. + // + // This parameter is optional. You can pass up to 50 session tags. The plain + // text session tag keys can’t exceed 128 characters, and the values can’t + // exceed 256 characters. For these and additional limits, see IAM and STS Character + // Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length) + // in the IAM User Guide. + // + // An AWS conversion compresses the passed session policies and session tags + // into a packed binary format that has a separate limit. Your request can fail + // for this limit even if your plain text meets the other requirements. The + // PackedPolicySize response element indicates by percentage how close the policies + // and tags for your request are to the upper size limit. + // + // You can pass a session tag with the same key as a tag that is already attached + // to the role. When you do, session tags override a role tag with the same + // key. + // + // Tag key–value pairs are not case sensitive, but case is preserved. This + // means that you cannot have separate Department and department tag keys. Assume + // that the role has the Department=Marketing tag and you pass the department=engineering + // session tag. Department and department are not saved as separate tags, and + // the session tag passed in the request takes precedence over the role tag. + // + // Additionally, if you used temporary credentials to perform this operation, + // the new session inherits any transitive session tags from the calling session. + // If you pass a session tag with the same key as an inherited tag, the operation + // fails. To view the inherited tags for a session, see the AWS CloudTrail logs. + // For more information, see Viewing Session Tags in CloudTrail (https://docs.aws.amazon.com/IAM/latest/UserGuide/session-tags.html#id_session-tags_ctlogs) + // in the IAM User Guide. + Tags []*Tag `type:"list"` + // The value provided by the MFA device, if the trust policy of the role being // assumed requires MFA (that is, if the policy includes a condition that tests // for MFA). If the role being assumed requires MFA and if the TokenCode value @@ -1292,6 +1498,19 @@ type AssumeRoleInput struct { // The format for this parameter, as described by its regex pattern, is a sequence // of six numeric digits. TokenCode *string `min:"6" type:"string"` + + // A list of keys for session tags that you want to set as transitive. If you + // set a tag key as transitive, the corresponding key and value passes to subsequent + // sessions in a role chain. For more information, see Chaining Roles with Session + // Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining) + // in the IAM User Guide. + // + // This parameter is optional. When you set session tags as transitive, the + // session policy and session tags packed binary limit is not affected. + // + // If you choose not to specify a transitive tag key, then no tags are passed + // from this session to any subsequent sessions. + TransitiveTagKeys []*string `type:"list"` } // String returns the string representation @@ -1344,6 +1563,16 @@ func (s *AssumeRoleInput) Validate() error { } } } + 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 @@ -1393,12 +1622,24 @@ func (s *AssumeRoleInput) SetSerialNumber(v string) *AssumeRoleInput { return s } +// SetTags sets the Tags field's value. +func (s *AssumeRoleInput) SetTags(v []*Tag) *AssumeRoleInput { + s.Tags = v + return s +} + // SetTokenCode sets the TokenCode field's value. func (s *AssumeRoleInput) SetTokenCode(v string) *AssumeRoleInput { s.TokenCode = &v return s } +// SetTransitiveTagKeys sets the TransitiveTagKeys field's value. +func (s *AssumeRoleInput) SetTransitiveTagKeys(v []*string) *AssumeRoleInput { + s.TransitiveTagKeys = v + return s +} + // Contains the response to a successful AssumeRole request, including temporary // AWS credentials that can be used to make AWS requests. type AssumeRoleOutput struct { @@ -1418,9 +1659,10 @@ type AssumeRoleOutput struct { // We strongly recommend that you make no assumptions about the maximum size. Credentials *Credentials `type:"structure"` - // A percentage value that indicates the size of the policy in packed form. - // The service rejects any policy with a packed size greater than 100 percent, - // which means the policy exceeded the allowed space. + // A percentage value that indicates the packed size of the session policies + // and session tags combined passed in the request. The request fails if the + // packed size is greater than 100 percent, which means the policies and tags + // exceeded the allowed space. PackedPolicySize *int64 `type:"integer"` } @@ -1491,16 +1733,16 @@ type AssumeRoleWithSAMLInput struct { // in the IAM User Guide. // // The plain text that you use for both inline and managed session policies - // shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII + // can't exceed 2,048 characters. The JSON policy characters can be any ASCII // character from the space character to the end of the valid character list // (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // and carriage return (\u000D) characters. // - // The characters in this parameter count towards the 2048 character session - // policy guideline. However, an AWS conversion compresses the session policies - // into a packed binary format that has a separate limit. This is the enforced - // limit. The PackedPolicySize response element indicates by percentage how - // close the policy is to the upper size limit. + // An AWS conversion compresses the passed session policies and session tags + // into a packed binary format that has a separate limit. Your request can fail + // for this limit even if your plain text meets the other requirements. The + // PackedPolicySize response element indicates by percentage how close the policies + // and tags for your request are to the upper size limit. Policy *string `min:"1" type:"string"` // The Amazon Resource Names (ARNs) of the IAM managed policies that you want @@ -1509,15 +1751,15 @@ type AssumeRoleWithSAMLInput struct { // // This parameter is optional. You can provide up to 10 managed policy ARNs. // However, the plain text that you use for both inline and managed session - // policies shouldn't exceed 2048 characters. For more information about ARNs, + // policies can't exceed 2,048 characters. For more information about ARNs, // see 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. // - // The characters in this parameter count towards the 2048 character session - // policy guideline. However, an AWS conversion compresses the session policies - // into a packed binary format that has a separate limit. This is the enforced - // limit. The PackedPolicySize response element indicates by percentage how - // close the policy is to the upper size limit. + // An AWS conversion compresses the passed session policies and session tags + // into a packed binary format that has a separate limit. Your request can fail + // for this limit even if your plain text meets the other requirements. The + // PackedPolicySize response element indicates by percentage how close the policies + // and tags for your request are to the upper size limit. // // Passing policies to this operation returns new temporary credentials. The // resulting session's permissions are the intersection of the role's identity-based @@ -1673,9 +1915,10 @@ type AssumeRoleWithSAMLOutput struct { // ) ) NameQualifier *string `type:"string"` - // A percentage value that indicates the size of the policy in packed form. - // The service rejects any policy with a packed size greater than 100 percent, - // which means the policy exceeded the allowed space. + // A percentage value that indicates the packed size of the session policies + // and session tags combined passed in the request. The request fails if the + // packed size is greater than 100 percent, which means the policies and tags + // exceeded the allowed space. PackedPolicySize *int64 `type:"integer"` // The value of the NameID element in the Subject element of the SAML assertion. @@ -1786,16 +2029,16 @@ type AssumeRoleWithWebIdentityInput struct { // in the IAM User Guide. // // The plain text that you use for both inline and managed session policies - // shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII + // can't exceed 2,048 characters. The JSON policy characters can be any ASCII // character from the space character to the end of the valid character list // (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // and carriage return (\u000D) characters. // - // The characters in this parameter count towards the 2048 character session - // policy guideline. However, an AWS conversion compresses the session policies - // into a packed binary format that has a separate limit. This is the enforced - // limit. The PackedPolicySize response element indicates by percentage how - // close the policy is to the upper size limit. + // An AWS conversion compresses the passed session policies and session tags + // into a packed binary format that has a separate limit. Your request can fail + // for this limit even if your plain text meets the other requirements. The + // PackedPolicySize response element indicates by percentage how close the policies + // and tags for your request are to the upper size limit. Policy *string `min:"1" type:"string"` // The Amazon Resource Names (ARNs) of the IAM managed policies that you want @@ -1804,15 +2047,15 @@ type AssumeRoleWithWebIdentityInput struct { // // This parameter is optional. You can provide up to 10 managed policy ARNs. // However, the plain text that you use for both inline and managed session - // policies shouldn't exceed 2048 characters. For more information about ARNs, + // policies can't exceed 2,048 characters. For more information about ARNs, // see 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. // - // The characters in this parameter count towards the 2048 character session - // policy guideline. However, an AWS conversion compresses the session policies - // into a packed binary format that has a separate limit. This is the enforced - // limit. The PackedPolicySize response element indicates by percentage how - // close the policy is to the upper size limit. + // An AWS conversion compresses the passed session policies and session tags + // into a packed binary format that has a separate limit. Your request can fail + // for this limit even if your plain text meets the other requirements. The + // PackedPolicySize response element indicates by percentage how close the policies + // and tags for your request are to the upper size limit. // // Passing policies to this operation returns new temporary credentials. The // resulting session's permissions are the intersection of the role's identity-based @@ -1983,9 +2226,10 @@ type AssumeRoleWithWebIdentityOutput struct { // We strongly recommend that you make no assumptions about the maximum size. Credentials *Credentials `type:"structure"` - // A percentage value that indicates the size of the policy in packed form. - // The service rejects any policy with a packed size greater than 100 percent, - // which means the policy exceeded the allowed space. + // A percentage value that indicates the packed size of the session policies + // and session tags combined passed in the request. The request fails if the + // packed size is greater than 100 percent, which means the policies and tags + // exceeded the allowed space. PackedPolicySize *int64 `type:"integer"` // The issuing authority of the web identity token presented. For OpenID Connect @@ -2057,7 +2301,7 @@ type AssumedRoleUser struct { // The ARN of the temporary security credentials that are returned from the // AssumeRole action. For more information about ARNs and how to use them in // policies, see IAM Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) - // in Using IAM. + // in the IAM User Guide. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` @@ -2225,7 +2469,7 @@ type FederatedUser struct { // The ARN that specifies the federated user that is associated with the credentials. // For more information about ARNs and how to use them in policies, see IAM // Identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) - // in Using IAM. + // in the IAM User Guide. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` @@ -2265,7 +2509,7 @@ type GetAccessKeyInfoInput struct { // The identifier of an access key. // // This parameter allows (through its regex pattern) a string of characters - // that can consist of any upper- or lowercased letter or digit. + // that can consist of any upper- or lowercase letter or digit. // // AccessKeyId is a required field AccessKeyId *string `min:"16" type:"string" required:"true"` @@ -2418,10 +2662,7 @@ type GetFederationTokenInput struct { // use as managed session policies. // // This parameter is optional. However, if you do not pass any session policies, - // then the resulting federated user session has no permissions. The only exception - // is when the credentials are used to access a resource that has a resource-based - // policy that specifically references the federated user session in the Principal - // element of the policy. + // then the resulting federated user session has no permissions. // // When you pass session policies, the session permissions are the intersection // of the IAM user policies and the session policies that you pass. This gives @@ -2431,17 +2672,23 @@ type GetFederationTokenInput struct { // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // + // The resulting credentials can be used to access a resource that has a resource-based + // policy. If that policy specifically references the federated user session + // in the Principal element of the policy, the session has the permissions allowed + // by the policy. These permissions are granted in addition to the permissions + // that are granted by the session policies. + // // The plain text that you use for both inline and managed session policies - // shouldn't exceed 2048 characters. The JSON policy characters can be any ASCII + // can't exceed 2,048 characters. The JSON policy characters can be any ASCII // character from the space character to the end of the valid character list // (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), // and carriage return (\u000D) characters. // - // The characters in this parameter count towards the 2048 character session - // policy guideline. However, an AWS conversion compresses the session policies - // into a packed binary format that has a separate limit. This is the enforced - // limit. The PackedPolicySize response element indicates by percentage how - // close the policy is to the upper size limit. + // An AWS conversion compresses the passed session policies and session tags + // into a packed binary format that has a separate limit. Your request can fail + // for this limit even if your plain text meets the other requirements. The + // PackedPolicySize response element indicates by percentage how close the policies + // and tags for your request are to the upper size limit. Policy *string `min:"1" type:"string"` // The Amazon Resource Names (ARNs) of the IAM managed policies that you want @@ -2452,16 +2699,13 @@ type GetFederationTokenInput struct { // to this operation. You can pass a single JSON policy document to use as an // inline session policy. You can also specify up to 10 managed policies to // use as managed session policies. The plain text that you use for both inline - // and managed session policies shouldn't exceed 2048 characters. You can provide + // and managed session policies can't exceed 2,048 characters. You can provide // up to 10 managed policy ARNs. For more information about ARNs, see 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. // // This parameter is optional. However, if you do not pass any session policies, - // then the resulting federated user session has no permissions. The only exception - // is when the credentials are used to access a resource that has a resource-based - // policy that specifically references the federated user session in the Principal - // element of the policy. + // then the resulting federated user session has no permissions. // // When you pass session policies, the session permissions are the intersection // of the IAM user policies and the session policies that you pass. This gives @@ -2471,12 +2715,46 @@ type GetFederationTokenInput struct { // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) // in the IAM User Guide. // - // The characters in this parameter count towards the 2048 character session - // policy guideline. However, an AWS conversion compresses the session policies - // into a packed binary format that has a separate limit. This is the enforced - // limit. The PackedPolicySize response element indicates by percentage how - // close the policy is to the upper size limit. + // The resulting credentials can be used to access a resource that has a resource-based + // policy. If that policy specifically references the federated user session + // in the Principal element of the policy, the session has the permissions allowed + // by the policy. These permissions are granted in addition to the permissions + // that are granted by the session policies. + // + // An AWS conversion compresses the passed session policies and session tags + // into a packed binary format that has a separate limit. Your request can fail + // for this limit even if your plain text meets the other requirements. The + // PackedPolicySize response element indicates by percentage how close the policies + // and tags for your request are to the upper size limit. PolicyArns []*PolicyDescriptorType `type:"list"` + + // A list of session tags. Each session tag consists of a key name and an associated + // value. For more information about session tags, see Passing Session Tags + // in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) + // in the IAM User Guide. + // + // This parameter is optional. You can pass up to 50 session tags. The plain + // text session tag keys can’t exceed 128 characters and the values can’t + // exceed 256 characters. For these and additional limits, see IAM and STS Character + // Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length) + // in the IAM User Guide. + // + // An AWS conversion compresses the passed session policies and session tags + // into a packed binary format that has a separate limit. Your request can fail + // for this limit even if your plain text meets the other requirements. The + // PackedPolicySize response element indicates by percentage how close the policies + // and tags for your request are to the upper size limit. + // + // You can pass a session tag with the same key as a tag that is already attached + // to the user you are federating. When you do, session tags override a user + // tag with the same key. + // + // Tag key–value pairs are not case sensitive, but case is preserved. This + // means that you cannot have separate Department and department tag keys. Assume + // that the role has the Department=Marketing tag and you pass the department=engineering + // session tag. Department and department are not saved as separate tags, and + // the session tag passed in the request takes precedence over the role tag. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -2514,6 +2792,16 @@ func (s *GetFederationTokenInput) Validate() error { } } } + 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 @@ -2545,6 +2833,12 @@ func (s *GetFederationTokenInput) SetPolicyArns(v []*PolicyDescriptorType) *GetF return s } +// SetTags sets the Tags field's value. +func (s *GetFederationTokenInput) SetTags(v []*Tag) *GetFederationTokenInput { + s.Tags = v + return s +} + // Contains the response to a successful GetFederationToken request, including // temporary AWS credentials that can be used to make AWS requests. type GetFederationTokenOutput struct { @@ -2563,9 +2857,10 @@ type GetFederationTokenOutput struct { // an Amazon S3 bucket policy. FederatedUser *FederatedUser `type:"structure"` - // A percentage value indicating the size of the policy in packed form. The - // service rejects policies for which the packed size is greater than 100 percent - // of the allowed value. + // A percentage value that indicates the packed size of the session policies + // and session tags combined passed in the request. The request fails if the + // packed size is greater than 100 percent, which means the policies and tags + // exceeded the allowed space. PackedPolicySize *int64 `type:"integer"` } @@ -2748,3 +3043,73 @@ func (s *PolicyDescriptorType) SetArn(v string) *PolicyDescriptorType { s.Arn = &v return s } + +// You can pass custom key-value pair attributes when you assume a role or federate +// a user. These are called session tags. You can then use the session tags +// to control access to resources. For more information, see Tagging AWS STS +// Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) +// in the IAM User Guide. +type Tag struct { + _ struct{} `type:"structure"` + + // The key for a session tag. + // + // You can pass up to 50 session tags. The plain text session tag keys can’t + // exceed 128 characters. For these and additional limits, see IAM and STS Character + // Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length) + // in the IAM User Guide. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The value for a session tag. + // + // You can pass up to 50 session tags. The plain text session tag values can’t + // exceed 256 characters. For these and additional limits, see IAM and STS Character + // Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length) + // in the IAM User Guide. + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go index a3e378edad35..a233f542ef29 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go @@ -14,11 +14,11 @@ const ( // ErrCodeIDPCommunicationErrorException for service response error code // "IDPCommunicationError". // - // The request could not be fulfilled because the non-AWS identity provider - // (IDP) that was asked to verify the incoming identity token could not be reached. - // This is often a transient error caused by network conditions. Retry the request + // The request could not be fulfilled because the identity provider (IDP) that + // was asked to verify the incoming identity token could not be reached. This + // is often a transient error caused by network conditions. Retry the request // a limited number of times so that you don't exceed the request rate. If the - // error persists, the non-AWS identity provider might be down or not responding. + // error persists, the identity provider might be down or not responding. ErrCodeIDPCommunicationErrorException = "IDPCommunicationError" // ErrCodeIDPRejectedClaimException for service response error code @@ -34,9 +34,9 @@ const ( // ErrCodeInvalidAuthorizationMessageException for service response error code // "InvalidAuthorizationMessageException". // - // This error is returned if the message passed to DecodeAuthorizationMessage - // was invalid. This can happen if the token contains invalid characters, such - // as linebreaks. + // The error returned if the message passed to DecodeAuthorizationMessage was + // invalid. This can happen if the token contains invalid characters, such as + // linebreaks. ErrCodeInvalidAuthorizationMessageException = "InvalidAuthorizationMessageException" // ErrCodeInvalidIdentityTokenException for service response error code @@ -56,9 +56,18 @@ const ( // ErrCodePackedPolicyTooLargeException for service response error code // "PackedPolicyTooLarge". // - // The request was rejected because the policy document was too large. The error - // message describes how big the policy document is, in packed form, as a percentage - // of what the API allows. + // The request was rejected because the total packed size of the session policies + // and session tags combined was too large. An AWS conversion compresses the + // session policy document, session policy ARNs, and session tags into a packed + // binary format that has a separate limit. The error message indicates by percentage + // how close the policies and tags are to the upper size limit. For more information, + // see Passing Session Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) + // in the IAM User Guide. + // + // You could receive this error even though you meet other defined session policy + // and session tag limits. For more information, see IAM and STS Entity Character + // Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) + // in the IAM User Guide. ErrCodePackedPolicyTooLargeException = "PackedPolicyTooLarge" // ErrCodeRegionDisabledException for service response error code diff --git a/vendor/modules.txt b/vendor/modules.txt index e1f410856105..f43271581b53 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -21,7 +21,7 @@ github.com/apparentlymart/go-cidr/cidr github.com/apparentlymart/go-textseg/textseg # github.com/armon/go-radix v1.0.0 github.com/armon/go-radix -# github.com/aws/aws-sdk-go v1.25.38 +# github.com/aws/aws-sdk-go v1.25.42 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn github.com/aws/aws-sdk-go/aws/awserr